diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index c09ecf3..be1f509 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -14,12 +14,12 @@ permissions: jobs: test: - runs-on: macos-latest + runs-on: ubuntu-latest strategy: matrix: python-version: [3.12] - package-dir: + package-dir: - api - pp @@ -29,7 +29,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: ${{ matrix.python-verion }} + python-version: 3.12 - name: Install dependencies run: | @@ -41,4 +41,3 @@ jobs: run: | cd ${{ matrix.package-dir }} python -m pytest - diff --git a/README.md b/README.md index 094f725..95cc15f 100644 --- a/README.md +++ b/README.md @@ -7,34 +7,34 @@ earth, without a sensor. ## features -* gRPC api for sky brightness "readings" (at the current time across H3 cells at resolution 6 in north america) +* gRPC api for predicting sky brightness * gRPC api for light pollution values (in RGBA, from a 2022 map) -* publisher component that repeatedly generates & stores readings for coordinates of H3 cells +* publisher component that repeatedly generates readings for coordinates of H3 cells + +* consumer component that stores the readings and computes the reading with highest `mpsas` during the last cycle of observation ## todos -- [ ] support for continents other than north america -- [ ] less noisy container startup +- [x] support for continents other than north america +- [x] less noisy container startup - [ ] live updates to open meteo data while app is running - [ ] REST apis in addition to the gRPC ones -- [ ] better storage of predictions in order to faciliate grouping/sorting +- [x] better storage of predictions in order to faciliate grouping/sorting ## about This project is motivated by the desire for synoptic knowledge of "where are the stars good". It would be infeasible to have [sensors](http://unihedron.com/projects/darksky/TSL237-E32.pdf) -everywhere that a brightness measurement is desired, so it would make sense to have a way of +everywhere you would want a brightness measurement, so it would make sense to have a way of doing inference of this value. The approach this project takes is to use pytorch to capture the relationships in the [Globe At Night dataset](https://globeatnight.org/maps-data/) and use that to predict sky brightness for H3 -cells at resoultion 6. - -> note: currently limited to north america +cells at a configured H3 resoultion (default `0`). ## running with docker @@ -49,38 +49,37 @@ docker volume create --name open-meteo-data # get latest data into the above volume ./update-open-meteo.sh -# run the containers (`build` flag only necessary for first run) +# run the containers (optionally use `build` flag) docker compose up --build ``` -> Rabbitmq will take time to start up, at which time `producer` and `consumer` containers will attempt restart until the channel becomes available. -> Once rabbitmq does start, there should be output like this: - -```log -producer-1 | 2024-10-03 23:59:12,266 [INFO] brightness observation response for 8649a36a7ffffff is uuid: "f275a795-8af7-491b-9645-3ce2e14fe3cd" -producer-1 | lat: 18.575429951519293 -producer-1 | lon: -101.86020792493713 -producer-1 | utc_iso: "2024-10-03T23:59:12.266163+00:00" -producer-1 | mpsas: 12.7519617 -consumer-1 | 2024-10-03 23:59:12,269 [INFO] received message b'{"uuid": "f275a795-8af7-491b-9645-3ce2e14fe3cd", "lat": 18.575429951519293, "lon": -101.86020792493713, "h3_id": "8649a36a7ffffff", "utc_iso": "2024-10-03T23:59:12.266163+00:00", "mpsas": 12.751961708068848}' -producer-1 | -producer-1 | 2024-10-03 23:59:12,267 [INFO] 260 distinct cells have had observations published -consumer-1 | 2024-10-03 23:59:12,276 [INFO] saved BrightnessObservation(#8649a36a7ffffff,12.751961708068848,2024-10-03T23:59:12.266163+00:00) +After rabbitmq starts up, the producer and consumer containers will start up, +at which point you should see output like this: + +```sh +producer-1 | 2024-10-28 13:16:27,502 [INFO] publishing {'uuid': 'e6c22004-9180-4599-9e87-36b86f68a5e7', 'lat': 43.42281493904898, 'lon': -97.42465926125905, 'h3_id': '8027fffffffffff', 'mpsas': 9.942784309387207, 'timestamp_utc': '2024-10-28T13:16:27.501192+00:00'} to brightness.prediction +producer-1 | 2024-10-28 13:16:27,580 [INFO] publishing {'uuid': 'a548be90-89f7-4995-9239-197523c3afd0', 'lat': 19.093680683484372, 'lon': 43.638818828910864, 'h3_id': '8053fffffffffff', 'mpsas': 9.202325820922852, 'timestamp_utc': '2024-10-28T13:16:27.579755+00:00'} to brightness.prediction +producer-1 | 2024-10-28 13:16:27,656 [INFO] publishing {'uuid': '2759f0e8-2f94-4efd-bf19-4b765947d983', 'lat': 60.432795263055546, 'lon': -77.20705748560815, 'h3_id': '800ffffffffffff', 'mpsas': 11.305692672729492, 'timestamp_utc': '2024-10-28T13:16:27.655087+00:00'} to brightness.prediction +producer-1 | 2024-10-28 13:16:27,736 [INFO] publishing {'uuid': 'd53872da-2505-41a9-84f1-d9336b0aff83', 'lat': -30.01574044171678, 'lon': 129.95847216046155, 'h3_id': '80b9fffffffffff', 'mpsas': 12.414505004882812, 'timestamp_utc': '2024-10-28T13:16:27.735392+00:00'} to brightness.prediction +producer-1 | 2024-10-28 13:16:27,737 [INFO] publishing {'start_time_utc': '2024-10-28T13:16:24.874541+00:00', 'end_time_utc': '2024-10-28T13:16:27.737791+00:00', 'duration_s': 2} to brightness.cycle +consumer-1 | 2024-10-28 13:16:27,744 [INFO] {'uuid': 'aa89439d-9a22-41e1-b8d2-674bea5263ee', 'lat': -74.92843438917433, 'lon': -34.64375807722018, 'h3_id': '80effffffffffff', 'mpsas': 23.74591636657715, 'timestamp_utc': datetime.datetime(2024, 10, 28, 13, 16, 25, 624186, tzinfo=datetime.timezone.utc)} ``` -This output indicates that the producer service is successfully getting sky brightness predictions -for H3 cells and that the consumer service is storing them in the postgres table `brightnessobservation`. +The above output means: + +1. the producer container is publishing the brightness readings it is getting from +the api container + +2. the consumer container has determined which reading made during the last cycle +through H3 cells had the highest brightness (`mpsas` is the measure of brightness +spread over a square arcsecond of sky, where higher means darker sky with more +stars visible) -`mpsas` in the response stands for 'magnitudes per square arcsecond', and it is the predicted brightness -value for that location. ## documentation -- [api client usage](./api/README.md) +- [how to write your own client for the sky brightness gRPC api](./api/README.md) ## licensing This project is licensed under the AGPL-3.0 license. - -Note: The GeoJSON file located at `./pp/pp/cells/north-america.geojson` is licensed under the Apache License, Version 2.0, and retains its original copyright (Copyright 2018 Esri). - diff --git a/docker-compose.yml b/docker-compose.yml index 9324e2e..30d2012 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,18 +12,18 @@ services: rabbitmq: image: "rabbitmq:alpine" + environment: + RABBITMQ_DEFAULT_USER: "guest" + RABBITMQ_DEFAULT_PASS: "guest" ports: - "5672:5672" - "15672:15672" healthcheck: - test: [ "CMD", "curl", "-f", "http://localhost:15672" ] - interval: 30s - timeout: 10s + test: ["CMD", "rabbitmqctl", "status"] + interval: 10s + timeout: 5s retries: 5 - start_period: 30s - environment: - RABBITMQ_DEFAULT_USER: "guest" - RABBITMQ_DEFAULT_PASS: "guest" + start_period: 20s openmeteo: image: "ghcr.io/open-meteo/open-meteo" @@ -41,21 +41,20 @@ services: LOG_LEVEL: 30 restart: on-failure depends_on: - - openmeteo + openmeteo: + condition: service_started producer: build: ./pp environment: - API_VERSION: "v1" API_HOST: "api" - MODEL_VERSION: "0.1.0" RABBITMQ_HOST: "rabbitmq" restart: on-failure depends_on: - - rabbitmq - - api - links: - - rabbitmq + api: + condition: service_started + rabbitmq: + condition: service_healthy consumer: build: ./pc @@ -66,13 +65,12 @@ services: PG_DATABASE: "postgres" restart: on-failure depends_on: - - postgres - - rabbitmq - links: - - rabbitmq + postgres: + condition: service_started + rabbitmq: + condition: service_healthy volumes: postgres-data: open-meteo-data: external: true - diff --git a/pc/pc/config.py b/pc/pc/config.py index 1bfb7fc..bff1e2b 100644 --- a/pc/pc/config.py +++ b/pc/pc/config.py @@ -11,9 +11,7 @@ rabbitmq_user = os.getenv("AMQP_USER", "guest") rabbitmq_password = os.getenv("AMQP_PASSWORD", "guest") rabbitmq_host = os.getenv("AMQP_HOST", "localhost") -prediction_queue = os.getenv("AMQP_PREDICTION_QUEUE", "prediction") +prediction_queue = os.getenv("AMQP_PREDICTION_QUEUE", "brightness.prediction") +cycle_queue = os.getenv("AMQP_CYCLE_QUEUE", "brightness.cycle") amqp_url = f"amqp://{rabbitmq_user}:{rabbitmq_password}@{rabbitmq_host}" - -ws_host = os.getenv("WS_HOST", "0.0.0.0") -ws_port = int(os.getenv("WS_PORT", 8765)) diff --git a/pc/pc/consumer/consumer.py b/pc/pc/consumer/consumer.py index 38f8d3f..0e4a278 100644 --- a/pc/pc/consumer/consumer.py +++ b/pc/pc/consumer/consumer.py @@ -3,28 +3,32 @@ import asyncio import typing +import asyncpg import aio_pika from aio_pika.abc import AbstractIncomingMessage, AbstractRobustChannel -from pc.persistence.models import BrightnessObservation -from pc.consumer.websocket_handler import WebsocketHandler +from pc.persistence.models import BrightnessObservation, CellCycle +from pc.persistence.db import insert_brightness_observation, select_max_brightness_record_in_range log = logging.getLogger(__name__) class Consumer: - def __init__(self, url: str, queue_name: str, websocket_handler: typing.Optional[WebsocketHandler] = None): + def __init__(self, url: str, prediction_queue: str, cycle_queue: str, connection_pool: asyncpg.Pool, on_cycle_completion: typing.Callable[[BrightnessObservation],None]): self._amqp_url = url - self._queue_name = queue_name - self._websocket_handler = websocket_handler + self._prediction_queue = prediction_queue + self._cycle_queue = cycle_queue + self._pool = connection_pool + self._on_cycle_completion = on_cycle_completion async def start(self): try: + log.info(f"connecting to {self._amqp_url}") connection = await aio_pika.connect_robust(self._amqp_url) except Exception as e: import sys - log.error(f"could not form amqp connection because {e}; has rabbitmq started?") + log.error(f"could not form amqp connection because {e}; is rabbitmq running?") log.warning("exiting") sys.exit(1) else: @@ -33,24 +37,45 @@ async def start(self): await self.consume(channel) # type: ignore async def consume(self, channel: AbstractRobustChannel): - """begin consuming from queue on a given channel""" - queue = await channel.declare_queue(self._queue_name) - await queue.consume(self._on_message, no_ack=True) + log.info(f"consuming from {self._prediction_queue}") + prediction_queue = await channel.declare_queue(self._prediction_queue) + await prediction_queue.consume(self._on_prediction_message, no_ack=True) + + log.info(f"consuming from {self._cycle_queue}") + cycle_queue = await channel.declare_queue(self._cycle_queue) + await cycle_queue.consume(self._on_cycle_message, no_ack=True) + await asyncio.Future() - async def _on_message(self, message: AbstractIncomingMessage): - """handle incoming message by storing in postgres""" + async def _on_cycle_message(self, message: AbstractIncomingMessage): + """handle incoming message by retrieving max reading from postgres within + the range in the mesage""" + log.debug(f"received message {message.body}") try: - log.info(f"received message {message.body}") + message_dict: typing.Dict = json.loads(message.body.decode()) + cell_cycle = CellCycle(**message_dict) - brightness_observation_json = json.loads(message.body.decode()) - brightness_observation = BrightnessObservation(**brightness_observation_json) + record = await select_max_brightness_record_in_range(self._pool, cell_cycle) + if record is not None: + record = dict(record) + uuid = str(record["uuid"]) + del record["uuid"] + max_brightness_observation_in_cycle = BrightnessObservation(**record, uuid=uuid) + self._on_cycle_completion(max_brightness_observation_in_cycle) + except Exception as e: + log.error(f"could not process cycle message: {e}") + else: + pass - await brightness_observation.save() - if self._websocket_handler is not None: - await self._websocket_handler.broadcast(brightness_observation_json) + async def _on_prediction_message(self, message: AbstractIncomingMessage): + """handle incoming message by storing in postgres""" + log.debug(f"received message {message.body}") + try: + message_dict: typing.Dict = json.loads(message.body.decode()) + brightness_observation = BrightnessObservation(**message_dict) + await insert_brightness_observation(self._pool, brightness_observation) except Exception as e: - log.error(f"could not save brightness observation {e}") + log.error(f"could not save brightness observation: {e}") else: - log.info(f"saved {brightness_observation}") + log.debug(f"saved brightness of {brightness_observation.h3_id}") diff --git a/pc/pc/consumer/websocket_handler.py b/pc/pc/consumer/websocket_handler.py deleted file mode 100644 index 29a3191..0000000 --- a/pc/pc/consumer/websocket_handler.py +++ /dev/null @@ -1,46 +0,0 @@ -import asyncio -import typing -import logging - -import websockets -from websockets import WebSocketServerProtocol - -from pc.config import ws_host, ws_port - -log = logging.getLogger(__name__) - - -class WebsocketHandler: - def __init__(self, host: str, port: int): - self._clients: typing.Set[WebSocketServerProtocol] = set() - - self._host = host - self._port = port - - async def start(self): - log.info(f"starting websocket server on {self._host}:{self._port}") - async with websockets.serve(self._handler, self._host, self._port): - await asyncio.Future() - - async def broadcast(self, message: typing.Dict): - """send message to all clients without blocking""" - import asyncio - - if self._clients: - log.info(f"sending {message} to {len(self._clients)} clients") - await asyncio.wait([asyncio.create_task(c.send(message)) for c in self._clients]) - else: - log.warning("no websocket clients to broadcast message to!") - - async def _handler(self, websocket: WebSocketServerProtocol): - self._clients.add(websocket) - try: - async for _ in websocket: - pass - except websockets.exceptions.ConnectionClosed: - pass - finally: - self._clients.remove(websocket) - - -websocket_handler = WebsocketHandler(host=ws_host, port=ws_port) diff --git a/pc/pc/main.py b/pc/pc/main.py index 7567c34..4c52308 100644 --- a/pc/pc/main.py +++ b/pc/pc/main.py @@ -1,10 +1,9 @@ import asyncio import logging -from pc.persistence.db import initialize_db +from pc.persistence.db import create_pool, create_brightness_table from pc.consumer.consumer import Consumer -from pc.consumer.websocket_handler import websocket_handler -from pc.config import amqp_url, prediction_queue +from pc.config import amqp_url, prediction_queue, cycle_queue logging.basicConfig(level=logging.INFO, format="%(asctime)s [%(levelname)s] %(message)s") @@ -12,15 +11,22 @@ async def main(): - """run the primary coroutines together""" - consumer = Consumer(url=amqp_url, queue_name=prediction_queue, websocket_handler=websocket_handler) - coroutines = [ - initialize_db(), - websocket_handler.start(), - consumer.start(), - ] - await asyncio.gather(*coroutines) + pool = await create_pool() + if pool is None: + raise ValueError("no connection pool!") + await create_brightness_table(pool) + consumer = Consumer( + url=amqp_url, + prediction_queue=prediction_queue, + cycle_queue=cycle_queue, + connection_pool=pool, + on_cycle_completion=lambda brightness_observation: log.info(brightness_observation.model_dump()) + ) + await consumer.start() if __name__ == "__main__": - asyncio.run(main()) + try: + asyncio.run(main()) + except Exception as e: + log.error(f"failed to run: {e}") diff --git a/pc/pc/persistence/db.py b/pc/pc/persistence/db.py index d32456c..b1b7125 100644 --- a/pc/pc/persistence/db.py +++ b/pc/pc/persistence/db.py @@ -1,15 +1,58 @@ import logging +import typing -from pc.config import pg_dsn -from tortoise import Tortoise +import asyncpg -log = logging.getLogger(__name__) +from ..config import pg_host,pg_port,pg_user,pg_password,pg_database +from .models import BrightnessObservation, CellCycle +log = logging.getLogger(__name__) +table = "brightness_observation" -async def initialize_db(): - log.info(f"initializing db at {pg_dsn}") - await Tortoise.init( - db_url=pg_dsn, - modules={"models": ["pc.persistence.models"]} +async def create_pool() -> typing.Optional[asyncpg.Pool]: + pool = await asyncpg.create_pool( + user=pg_user, + password=pg_password, + database=pg_database, + host=pg_host, + port=pg_port, + min_size=1, + max_size=10 ) - await Tortoise.generate_schemas() + return pool + +async def create_brightness_table(pool: asyncpg.Pool): + async with pool.acquire() as conn: + await conn.execute( + f""" + CREATE TABLE IF NOT EXISTS {table} ( + uuid UUID PRIMARY KEY, + lat DOUBLE PRECISION NOT NULL, + lon DOUBLE PRECISION NOT NULL, + h3_id TEXT NOT NULL, + mpsas DOUBLE PRECISION NOT NULL, + timestamp_utc TIMESTAMPTZ NOT NULL + ); + """ + ) + + +async def insert_brightness_observation(pool: asyncpg.Pool, observation: BrightnessObservation): + async with pool.acquire() as conn: + await conn.execute(f""" + INSERT INTO {table} (uuid, lat, lon, h3_id, mpsas, timestamp_utc) + VALUES ($1, $2, $3, $4, $5, $6) + """, observation.uuid, observation.lat, observation.lon, observation.h3_id, observation.mpsas, observation.timestamp_utc) + + +async def select_max_brightness_record_in_range(pool: asyncpg.Pool, cycle: CellCycle) -> asyncpg.Record: + async with pool.acquire() as conn: + query = f""" + SELECT * + FROM {table} + WHERE timestamp_utc BETWEEN $1 AND $2 + ORDER BY mpsas DESC + LIMIT 1; + """ + record = await conn.fetchrow(query, cycle.start_time_utc, cycle.end_time_utc) + return record diff --git a/pc/pc/persistence/models.py b/pc/pc/persistence/models.py index 9b5c13d..bd54e0a 100644 --- a/pc/pc/persistence/models.py +++ b/pc/pc/persistence/models.py @@ -1,13 +1,15 @@ -from tortoise import fields, models +from pydantic import BaseModel +from datetime import datetime +class BrightnessObservation(BaseModel): + uuid: str + lat: float + lon: float + h3_id: str + mpsas: float + timestamp_utc: datetime -class BrightnessObservation(models.Model): - uuid = fields.CharField(primary_key=True, max_length=36) - lat = fields.FloatField() - lon = fields.FloatField() - h3_id = fields.CharField(max_length=15) - utc_iso = fields.CharField(max_length=32) - mpsas = fields.FloatField() - - def __str__(self): - return f"{self.__class__.__name__}(#{self.h3_id},{self.mpsas},{self.utc_iso})" +class CellCycle(BaseModel): + start_time_utc: datetime + end_time_utc: datetime + duration_s: int diff --git a/pc/requirements.txt b/pc/requirements.txt index 9e83fea..eb85dba 100644 --- a/pc/requirements.txt +++ b/pc/requirements.txt @@ -1,3 +1,3 @@ -aio-pika==9.4.2 -websockets~=12.0 -tortoise-orm[asyncpg]~=0.21.6 +aio-pika~=9.4.2 +asyncpg~=0.29.0 +pydantic~=2.9.2 diff --git a/pc/tests/test_consumer.py b/pc/tests/test_consumer.py index 3ef3516..3d14e21 100644 --- a/pc/tests/test_consumer.py +++ b/pc/tests/test_consumer.py @@ -1,17 +1,32 @@ -from unittest import mock +from unittest.mock import AsyncMock, patch import pytest +import asyncpg from aio_pika import Message from pc.consumer.consumer import Consumer @pytest.fixture -def consumer(): +async def mock_asyncpg_pool(): + with patch("asyncpg.create_pool") as mock_create_pool: + mock_pool = AsyncMock() + mock_create_pool.return_value = mock_pool + + mock_connection = AsyncMock() + mock_pool.acquire.return_value.__aenter__.return_value = mock_connection + yield mock_pool + +@pytest.fixture +def consumer(mock_asyncpg_pool): amqp_url="amqp://localhost" prediction_queue="prediction" - return Consumer(url=amqp_url, queue_name=prediction_queue) + return Consumer( + url=amqp_url,prediction_queue=prediction_queue, + cycle_queue="", + connection_pool=mock_asyncpg_pool, + on_cycle_completion=lambda _: None + ) -@pytest.mark.skip @pytest.mark.asyncio -async def test_can_consume_message(consumer): - pass +async def test_consumer(consumer): + assert consumer is not None diff --git a/pp/pp/cells/LICENSE-ESRI b/pp/pp/cells/LICENSE-ESRI deleted file mode 100644 index 5183d9d..0000000 --- a/pp/pp/cells/LICENSE-ESRI +++ /dev/null @@ -1,13 +0,0 @@ -Copyright 2018 Esri - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/pp/pp/cells/cell_covering.py b/pp/pp/cells/cell_covering.py new file mode 100644 index 0000000..3e484d3 --- /dev/null +++ b/pp/pp/cells/cell_covering.py @@ -0,0 +1,36 @@ +import json +import typing +from pathlib import Path + +import h3 +from shapely.geometry import shape, Polygon + +from ..config import resolution + +def get_cell_id(lat, lon, resolution) -> str: + return h3.geo_to_h3(lat, lon, resolution=resolution) + + +class CellCovering: + def __init__(self): + with open(Path(__file__).parent / "land.geojson", "r") as file: + geojson = json.load(file) + + self.polygons = [CellCovering.get_polygon_of_feature(f) for f in geojson["features"]] + + @staticmethod + def get_polygon_of_feature(feature: typing.Dict) -> typing.Dict: + polygon=shape(feature["geometry"]) + if not isinstance(polygon, Polygon): + raise TypeError("geojson is not a Polygon") + + return { + "type": "Polygon", + "coordinates": [list(polygon.exterior.coords)] + } + + @property + def covering(self) -> typing.Set: + """the complete covering from all features in the collection""" + all_polygons=set().union(*[h3.polyfill_geojson(p, res=resolution) for p in self.polygons]) + return all_polygons diff --git a/pp/pp/cells/cell_publisher.py b/pp/pp/cells/cell_publisher.py new file mode 100644 index 0000000..d61824f --- /dev/null +++ b/pp/pp/cells/cell_publisher.py @@ -0,0 +1,81 @@ +import logging +import json +import typing +from datetime import datetime, timezone +from collections import defaultdict + +import grpc +from h3 import h3_to_geo +from pika.adapters.blocking_connection import BlockingChannel + +from ..cells.cell_covering import CellCovering, get_cell_id +from ..config import resolution +from ..stubs.brightness_service_pb2_grpc import BrightnessServiceStub +from ..stubs import brightness_service_pb2 +from ..models.models import BrightnessObservation, CellCycle + +log = logging.getLogger(__name__) + + +class CellPublisher(CellCovering): + cell_counts = defaultdict(int) + + def __init__(self, api_host: str, api_port: int, channel: BlockingChannel, + prediction_queue: str, cycle_queue: str): + super().__init__() + + self._prediction_queue = prediction_queue + self._cycle_queue = cycle_queue + self._channel = channel + + grpc_channel = grpc.insecure_channel(f"{api_host}:{api_port}") + stub = BrightnessServiceStub(grpc_channel) + self._stub = stub + + def _publish(self, queue_name: str, message: typing.Dict[str, typing.Any]): + """publish a message onto a queue""" + log.info(f"publishing {message} to {queue_name}") + self._channel.basic_publish(exchange="", routing_key=queue_name, body=json.dumps(message)) + + def predict_cell_brightness(self, cell) -> None: + """ask brightness service for prediction of sky brightness on h3 cell + for the current time""" + lat, lon = h3_to_geo(cell) + request = brightness_service_pb2.Coordinates(lat=lat, lon=lon) + try: + response = self._stub.GetBrightnessObservation(request) + except grpc.RpcError as e: + log.error(f"rpc error on brightness requests {e}") + else: + log.debug(f"brightness observation response for {cell} is {response}") + brightness_observation = BrightnessObservation( + uuid=response.uuid, + lat=lat, + lon=lon, + h3_id=get_cell_id(lat, lon, resolution=resolution), + mpsas=response.mpsas, + timestamp_utc=response.utc_iso, + ) + dumped = brightness_observation.model_dump() + dumped["timestamp_utc"] = brightness_observation.timestamp_utc.isoformat() + self._publish(self._prediction_queue, dumped) + + def run(self): + cells = self.covering + if len(cells) == 0: + raise ValueError("cell covering is empty!") + + log.info(f"publishing brightness for {len(cells)} cells(s)") + while True: + start_time_utc = datetime.now(timezone.utc) + for cell in cells: + CellPublisher.cell_counts[cell] += 1 + self.predict_cell_brightness(cell) + log.debug(f"{len(CellPublisher.cell_counts)} distinct cells have had observations published") + end_time_utc = datetime.now(timezone.utc) + + cell_cycle = CellCycle(start_time_utc=start_time_utc, end_time_utc=end_time_utc, duration_s=int((end_time_utc - start_time_utc).total_seconds())) + cell_cycle = cell_cycle.model_dump() + cell_cycle["start_time_utc"] = cell_cycle["start_time_utc"].isoformat() + cell_cycle["end_time_utc"] = cell_cycle["end_time_utc"].isoformat() + self._publish(self._cycle_queue, cell_cycle) diff --git a/pp/pp/cells/continent_manager.py b/pp/pp/cells/continent_manager.py deleted file mode 100644 index 2d517ac..0000000 --- a/pp/pp/cells/continent_manager.py +++ /dev/null @@ -1,39 +0,0 @@ -import json -import typing -from pathlib import Path - -import h3 -from shapely.geometry import shape, Polygon - -Continents = typing.Literal["north-america"] - - -class H3ContinentManager: - def __init__(self, continent: Continents, resolution=6): - self.continent = continent - self.resolution = resolution - - self.polygon = self._ingest_polygon() - - def get_cell_covering(self) -> typing.Set: - """get the set of cells inside the polygon""" - return h3.polyfill_geojson(self.polygon, res=self.resolution) - - def get_cell_id(self, lat, lon) -> str: - """turn lat lat into an h3 cell id""" - return h3.geo_to_h3(lat, lon, resolution=self.resolution) - - def _ingest_polygon(self) -> typing.Dict: - geojson_file_path = Path(__file__).parent / f"{self.continent}.geojson" - with open(geojson_file_path, "r") as file: - geojson = json.load(file) - geojson_polygon = geojson["features"][0]["geometry"] - polygon = shape(geojson_polygon) - - if not isinstance(polygon, Polygon): - raise ValueError("could not parse geojson as polygon") - - return { - "type": "Polygon", - "coordinates": [list(polygon.exterior.coords)] - } diff --git a/pp/pp/cells/land.geojson b/pp/pp/cells/land.geojson new file mode 100644 index 0000000..5204da8 --- /dev/null +++ b/pp/pp/cells/land.geojson @@ -0,0 +1 @@ +{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-59.57209469261153,-80.0401787250963],[-59.86584937197463,-80.54965667106187],[-60.159655727770115,-81.00032683707931],[-62.25539343936708,-80.86317758577667],[-64.48812537296985,-80.92193368929257],[-65.74166642928995,-80.58882740673914],[-65.74166642928995,-80.54965667106187],[-66.29003089055504,-80.25577280061799],[-64.03768775089765,-80.29494353629528],[-61.88324561221705,-80.39287037548829],[-61.138975796133366,-79.9813709451481],[-60.61011918805832,-79.62867929475613],[-59.57209469261153,-80.0401787250963]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-159.20818356019765,-79.49705942170873],[-161.12760128481477,-79.6342086730113],[-162.4398467682184,-79.28146534618703],[-163.02740780337697,-78.92877369579497],[-163.06660437727044,-78.86996591584685],[-163.71289567772874,-78.59566741324153],[-163.71289567772874,-78.59566660579729],[-163.10580095116381,-78.2233379111344],[-161.2451134918464,-78.38017588314017],[-160.2462080556445,-78.69364512142268],[-159.48240454815448,-79.04633757925899],[-159.20818356019765,-79.49705942170873]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-45.154757656421026,-78.04706960058674],[-43.92082780615567,-78.47810272233326],[-43.489949713706096,-79.08555999136854],[-43.37243750667446,-79.51664478954737],[-43.33326677099711,-80.02612273551293],[-44.88053666846429,-80.33964365022771],[-46.50617387550193,-80.59435678499432],[-48.386420864441874,-80.82948455192236],[-50.482106899606464,-81.02544158317313],[-52.8519880845117,-80.96668547965731],[-54.16425940613152,-80.63352752067159],[-53.987991095583965,-80.2220280903314],[-51.8531343247422,-79.94772958772609],[-50.99132646341059,-79.61462330517276],[-50.364594692574656,-79.18348683056165],[-49.91413123228645,-78.8112090048867],[-49.30695899107312,-78.45856903092692],[-48.66061601418244,-78.04701792415446],[-48.66061601418244,-78.0470187315987],[-48.151396450378314,-78.04706960058674],[-46.66285681821094,-77.83147552506504],[-45.154757656421026,-78.04706960058674]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-121.21151139385714,-73.50099049900605],[-119.91885127829205,-73.65772511814734],[-118.72414303269201,-73.48135345473521],[-119.29211870001195,-73.83409678155948],[-120.23221716370998,-74.08880991632617],[-121.62282995668426,-74.0104684449717],[-122.6217345854419,-73.65777760202388],[-122.62173539288624,-73.65777679457963],[-122.40624467022911,-73.32461883559392],[-121.21151139385714,-73.50099049900605]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-125.55956640689533,-73.48135345473521],[-124.03188187726687,-73.87326751723675],[-124.61946875064154,-73.83409678155948],[-125.91218054263891,-73.7361182659341],[-127.28312964568192,-73.46176889434082],[-127.28313045312625,-73.46176808689657],[-126.55847184309731,-73.24622568780717],[-125.55956640689533,-73.48135345473521]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-98.98154964882391,-71.93333424899978],[-97.88474321164512,-72.07053517673475],[-96.78793677446623,-71.95297129327072],[-96.20034990109147,-72.5212053427522],[-96.98376461463624,-72.44286387139765],[-98.19808325884685,-72.48203460707492],[-99.43201310911212,-72.44286387139765],[-100.78345516640921,-72.50161997491355],[-101.80186845580135,-72.30566294366278],[-102.3307250638764,-71.89416432076686],[-102.3307250638764,-71.89416351332261],[-101.70396745482445,-71.71779184991038],[-100.4309185453141,-71.85499277764534],[-98.98154964882391,-71.93333424899978]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-68.45134599473033,-70.95582285576674],[-68.33383378769878,-71.4064930217842],[-68.51012793646234,-71.79840708428574],[-68.78429724798698,-72.17073577894864],[-69.95947099473642,-72.3078850302513],[-71.07588863797005,-72.50384206150207],[-72.38813412137378,-72.48425669366353],[-71.8984999254082,-72.0923426311619],[-73.07362199572555,-72.22949188246454],[-74.19003963895906,-72.3666928101995],[-74.9538948228815,-72.07275726332325],[-75.01262508818121,-71.66125783298307],[-73.91581865100233,-71.26934457792578],[-73.91581865100233,-71.26934377048153],[-73.23033077665065,-71.15177988701751],[-72.07471655952347,-71.19095062269479],[-71.78096188016036,-70.68147267672921],[-71.72217993842835,-70.30919565849851],[-71.74179114448319,-69.5057821656568],[-71.17381547716315,-69.03547495536841],[-70.25325151231581,-68.87874033622721],[-69.72444658067306,-69.25101735445782],[-69.48942216660959,-69.62334604912081],[-69.05851823594384,-70.07401621513819],[-68.72554114447107,-70.50515268974928],[-68.45134599473033,-70.95582285576674]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-58.614142829001025,-64.15246713013323],[-59.04507259788289,-64.36800952922263],[-59.78934241396658,-64.21122323364915],[-60.61192786318861,-64.30920174927454],[-61.297415737540376,-64.54432951620248],[-62.02210018578543,-64.79909432740146],[-62.5117602199671,-65.09302987427762],[-62.64885779483737,-65.48494232189066],[-62.590127529537654,-65.85721934012136],[-62.120078701410904,-66.1903256226748],[-62.80556657576258,-66.42550506603504],[-63.745690070232456,-66.50384653738959],[-64.29410620792996,-66.8370044963753],[-64.88169308130472,-67.15047373465772],[-65.50842485214048,-67.58161020926883],[-65.6650819566334,-67.95388722749954],[-65.31254533553809,-68.36533498140741],[-64.78371456567933,-68.67890757255451],[-63.9611032782411,-68.91398366305026],[-63.19729977075099,-69.22755625419734],[-62.78595536970775,-69.61941864026659],[-62.570516323482934,-69.99174733492958],[-62.27673580590363,-70.38366139743113],[-61.80666113956059,-70.71676767998457],[-61.5129064601974,-71.08904469821518],[-61.37580888532713,-72.01007375095321],[-61.08197669131545,-72.38235076918392],[-61.00366105817719,-72.77426483168546],[-60.69026933454316,-73.166178894187],[-60.827366909413456,-73.6952422079912],[-61.37580888532713,-74.10674163833147],[-61.963369920485604,-74.4398479208848],[-63.29520077172796,-74.57699717218748],[-63.745690070232456,-74.92974049901181],[-64.35283647322967,-75.26284678156526],[-65.86098731145188,-75.63512379979588],[-67.19281816269404,-75.79191009536945],[-68.44628170436584,-76.00745249445886],[-69.79772376166284,-76.22299489354828],[-70.60072384304635,-76.63449432388845],[-72.20677568224536,-76.67366505956564],[-73.96953630236976,-76.63449432388845],[-75.55597693551394,-76.7128874716752],[-77.2403702460677,-76.7128874716752],[-76.92697852243367,-77.10480153417674],[-75.39929399280513,-77.2810698447243],[-74.2828763495715,-77.55542002376191],[-73.65611874051936,-77.90811167415387],[-74.77253638375308,-78.22163258886877],[-76.49610042998401,-78.12365407324329],[-77.92585812041938,-78.37841888444225],[-77.98466590036747,-78.78991831478244],[-78.02378495961247,-79.1818331847283],[-76.84863705107912,-79.51493946728166],[-76.63322384307048,-79.88721648551237],[-75.36009741891175,-80.25954518017527],[-73.24485185412462,-80.41633147574885],[-71.44294633653922,-80.69062997835408],[-70.01316280788777,-81.00415089306887],[-68.19164608424765,-81.31767180778367],[-65.70427853052666,-81.47445810335725],[-63.25603003605087,-81.74875660596248],[-61.55202551944248,-82.04269215283864],[-59.69141557477346,-82.37585011182435],[-58.71212134462641,-82.84610564568044],[-58.22248714866083,-83.21843434034335],[-57.00811682801802,-82.86569101351908],[-55.36289425314163,-82.57175546664284],[-53.619770677288244,-82.25823455192804],[-51.54364417174611,-82.00352141716145],[-49.761349860215546,-81.72917123812384],[-47.27393063006238,-81.7095858702853],[-44.825707973802594,-81.84673512158787],[-42.80836340999247,-82.08191456494819],[-42.16202043310187,-81.65082976676939],[-40.771433478343596,-81.35689421989323],[-38.24481767429697,-81.33730885205459],[-36.266669684380304,-81.1217147765329],[-34.38639685722427,-80.90617237744348],[-32.31029618989831,-80.76902312614092],[-30.097097947701997,-80.5926514627287],[-28.549802212018704,-80.33793832796209],[-29.25490129242513,-79.98519500113775],[-29.685805223090966,-79.63250335074568],[-29.685805223090966,-79.26022633251506],[-31.624808315546545,-79.29939706819225],[-33.681323615034046,-79.45613168733354],[-35.63991207532828,-79.45613168733354],[-35.91410722506902,-79.08385466910292],[-35.777009650198636,-78.339248148765],[-35.32654618991043,-78.12365407324329],[-33.896762661258805,-77.88852630631533],[-32.21236935070522,-77.65345021581957],[-30.99805070649461,-77.35951466894342],[-29.78373206228406,-77.06557912206718],[-28.88277930349139,-76.67366505956564],[-27.511751878355653,-76.49734507258579],[-26.16033565927475,-76.36014414485084],[-25.474821946706868,-76.28180267349637],[-23.92755204923978,-76.24258026138682],[-22.45859778491095,-76.10543101008425],[-21.224693772861798,-75.90947397883339],[-20.010375128651162,-75.67434621190543],[-18.91354285325619,-75.43921844497739],[-17.522981736714115,-75.12569753026258],[-16.641588507543958,-74.79253957127688],[-15.701490851290174,-74.49860402440072],[-15.407710333710867,-74.10674163833147],[-16.4653201969964,-73.87161387140341],[-16.112783575901176,-73.46011444106324],[-15.446855231171952,-73.14654184991616],[-14.408804897508986,-72.9505848186653],[-13.311972622113984,-72.71545705173735],[-12.293507656289563,-72.40193613702255],[-11.510067104528616,-72.01007375095321],[-11.020432908563123,-71.53976654066491],[-10.295774298534184,-71.2654163616273],[-9.101015183946089,-71.32422414157551],[-8.611380987980596,-71.65733042412894],[-7.416621873392444,-71.69650115980613],[-7.377451137715155,-71.32422414157551],[-6.868231573911117,-70.93231007907397],[-5.790984666354689,-71.03028859469936],[-5.53637488445267,-71.40261728936227],[-4.341667446296782,-71.46137339287817],[-3.048981492515622,-71.28505340589824],[-1.795492112627812,-71.16743784600192],[-0.65948910155555,-71.22624562595013],[-0.228636847322065,-71.6377450562903],[0.868195428072994,-71.30463877373688],[1.886686232113533,-71.12826711032474],[3.022637566753417,-70.99111785902208],[4.139055209987049,-70.85391693128713],[5.157546014027673,-70.61878916435919],[6.273911980828984,-70.46205454521788],[7.135719842160512,-70.24651214612848],[7.742866245157728,-69.89376881930411],[8.487110223025326,-70.1485336305031],[9.525134718472202,-70.01133270276813],[10.249845004933434,-70.48163991305651],[10.81782067225339,-70.8343315634485],[11.953823683325652,-70.63837453219773],[12.404287143613942,-70.24651214612848],[13.422777947654453,-69.97216196709095],[14.734997592842006,-70.03091807060677],[15.12675662604667,-70.40324676526977],[15.949342075268703,-70.03091807060677],[17.026588982825075,-69.91335418714274],[18.201711053142304,-69.87418345146557],[19.259372592860103,-69.89376881930411],[20.375738559661443,-70.01133270276813],[21.452985467217815,-70.07014048271634],[21.92303429534465,-70.40324676526977],[22.569403110451418,-70.69718231214593],[23.666183709414128,-70.5208106487338],[24.84135745616365,-70.48163991305651],[25.977308790803647,-70.48163991305651],[27.09372643403725,-70.46205454521788],[28.092580193806867,-70.32485361748293],[29.150241733524666,-70.2072897340189],[30.03158328626253,-69.93293955498139],[30.971732618948607,-69.75661956800155],[31.990171746556854,-69.65864105237617],[32.754052768695345,-69.38429087333856],[33.30244306817664,-68.83564219169571],[33.87041873549671,-68.50258758557466],[34.90849490737574,-68.65927052828357],[35.30020226414817,-69.01201385510794],[36.16201012547978,-69.24714162203598],[37.20003462092663,-69.16874847424914],[37.90510786311697,-69.5214401246412],[38.6494035174168,-69.7762049358401],[39.66789432145734,-69.54107716891214],[40.02043094255245,-69.10994069430103],[40.92135786312909,-68.93362070732118],[41.959434035008115,-68.60051442476777],[42.938702426939216,-68.4633134970328],[44.113876173688624,-68.26740814221432],[44.89729088723348,-68.05186574312492],[45.719928012887834,-67.81673797619688],[46.503342726432635,-67.60119557710746],[47.44344038268636,-67.71875946057149],[48.34441897969518,-67.36606781017943],[48.9907361183696,-67.0917176311419],[49.93088545105567,-67.11130299898053],[50.75347090027768,-66.8761752320525],[50.94932457866392,-66.52348358166043],[51.791547072156874,-66.2491334026229],[52.614132521378934,-66.05317637137213],[53.61303795758087,-65.89639007579855],[54.53355024599594,-65.8180486044441],[55.41494347516621,-65.8768047079599],[56.355041131419995,-65.97478322358539],[57.15809288923569,-66.2491334026229],[57.25596805199646,-66.68021820080173],[58.13736128116662,-67.01332448335515],[58.744507684163835,-67.28767466239267],[59.93931847518431,-67.40523854585669],[60.60522098169733,-67.67958872489422],[61.42780643091939,-67.95388722749954],[62.38748945501183,-68.01269500744765],[63.19048953639523,-67.81673797619688],[64.05234907415914,-67.40523854585669],[64.99244673041281,-67.62072926851381],[65.97171512234385,-67.73834482841013],[66.91186445502987,-67.85590871187415],[67.8911328469608,-67.9343018596609],[68.8900382831628,-67.9343018596609],[69.71262373238486,-68.97279144299837],[69.67345299670754,-69.22755625419734],[69.55594078967582,-69.67822642021471],[68.59625776558349,-69.93293955498139],[67.81273969917405,-70.30526824964429],[67.94988895047672,-70.69718231214593],[69.06630659371032,-70.67754526787499],[68.9291573424077,-71.06945933037653],[68.41998945503585,-71.44178802503953],[67.94988895047672,-71.85328745537971],[68.71376997261521,-72.16680837009451],[69.86930667509378,-72.2647868857199],[71.02489505400465,-72.08841522230776],[71.57328535348606,-71.69650115980613],[71.9062882831748,-71.32422414157551],[72.45462690622392,-71.01070322686073],[73.08141035349209,-70.71676767998457],[73.3360201353942,-70.3640243531602],[73.86487674346913,-69.87418345146557],[74.49155683787271,-69.7762049358401],[75.62755984894497,-69.73703420016291],[76.62646528514685,-69.61941864026659],[77.6449044127551,-69.4626840211254],[78.13453860872059,-69.07076995862376],[78.42837080273213,-68.69844126396086],[79.11385867708393,-68.32621592216245],[80.09312706901486,-68.07150278739584],[80.93534956250787,-67.87554575614507],[81.48379153842151,-67.54238779715936],[82.05176720574147,-67.36606781017943],[82.77642581577041,-67.20928151460592],[83.77533125197229,-67.3072600302313],[84.67620649611663,-67.20928151460592],[85.65552656447986,-67.0917176311419],[86.75235883987486,-67.15047373465772],[87.4770174499038,-66.8761752320525],[87.98628869014024,-66.20991099051335],[88.35841067907396,-66.48426116955096],[88.8284078307685,-66.95456837983924],[89.67063032426151,-67.15047373465772],[90.63036502478619,-67.22886688244456],[91.59009972531081,-67.11130299898053],[92.60853885291917,-67.18969614676729],[93.54863650917295,-67.20928151460592],[94.175419956441,-67.11130299898053],[95.01759077350167,-67.17011077892866],[95.78147179564016,-67.38565317801806],[96.68239871621668,-67.24850392671549],[97.75964562377303,-67.24850392671549],[98.68020958862044,-67.11130299898053],[99.71818240763506,-67.24850392671549],[100.38418826701266,-66.91534596772976],[100.89335615438452,-66.58223968517635],[101.57889570516855,-66.30788950613874],[102.83241092327253,-65.5632837932452],[103.47867638551466,-65.70048472098007],[104.24255740765315,-65.97478322358539],[104.90845991416623,-66.32752655040966],[106.18156050010882,-66.93493133556831],[107.16088056847221,-66.95456837983924],[108.08139285688722,-66.95456837983924],[109.15863976444368,-66.8370044963753],[110.23583499556773,-66.69980356864036],[111.05847212122214,-66.42550506603504],[111.74395999557382,-66.13156951915889],[112.86037763880736,-66.09234710704932],[113.60467329310737,-65.8768047079599],[114.388088006652,-66.07276173921078],[114.8973075704562,-66.38628265392558],[115.60238081264643,-66.69980356864036],[116.69916141160925,-66.66063283296309],[117.38470096239323,-66.91534596772976],[118.57946007698129,-67.17011077892866],[119.83292361865298,-67.26808929455404],[120.87099979053218,-67.18969614676729],[121.65441450407693,-66.8761752320525],[122.32036868702235,-66.5626543173377],[123.22129560759888,-66.48426116955096],[124.12227420460763,-66.62146209728581],[125.1602470236223,-66.71938893647899],[126.10039635630832,-66.5626543173377],[127.00142662974937,-66.5626543173377],[127.88276818248724,-66.66063283296309],[128.80328047090242,-66.75861134858847],[129.70425906791118,-66.58223968517635],[130.78145429903535,-66.42550506603504],[131.79994510307594,-66.38628265392558],[132.93589643771585,-66.38628265392558],[133.85646040256327,-66.28830413830019],[134.7573873231398,-66.20996266694564],[135.03158247288044,-65.72007008881872],[135.0707532085577,-65.30857065847853],[135.69748497939358,-65.58286916108375],[135.8738049663734,-66.0335910035335],[136.20670454319767,-66.44509043387367],[136.618048944241,-66.77819671642712],[137.46027143773395,-66.95456837983924],[138.59622277237392,-66.89576059989113],[139.90844241756136,-66.8761752320525],[140.80942101457018,-66.81736745210438],[142.12169233619008,-66.81736745210438],[143.06184166887616,-66.79778208426575],[144.3740613140637,-66.8370044963753],[145.49042728086502,-66.91534596772976],[146.1955521994876,-67.22886688244456],[145.9996985211014,-67.60119557710746],[146.64606733620823,-67.89513112398362],[147.72326256733228,-68.13025889091168],[148.8396285341336,-68.38502370211063],[150.13231448791478,-68.56129201265819],[151.48370486877965,-68.71812998466407],[152.50224734925243,-68.87481292737299],[153.63819868389245,-68.8945016480762],[154.28456749899917,-68.56129201265819],[155.16585737530474,-68.83564219169571],[155.92979007387552,-69.14921478284288],[156.8111316266134,-69.38429087333856],[158.0255277854724,-69.48226938896394],[159.18101281151874,-69.59983327242796],[159.67069868391658,-69.99174733492958],[160.8066500185565,-70.22687510185754],[161.5704793642627,-70.5796184286819],[162.68689700749624,-70.73635304782312],[163.84243370997487,-70.71676767998457],[164.9196806175312,-70.77552378350038],[166.1144397321194,-70.75593841566175],[167.30909549384288,-70.8343315634485],[168.42561648994106,-70.97148081475115],[169.46358930895568,-71.2066602581115],[170.50166548083493,-71.40261728936227],[171.20679039945745,-71.69650115980613],[171.0892265159935,-72.08841522230776],[170.56042158435073,-72.44115854913203],[170.10995812406244,-72.89182871514947],[169.75736982653504,-73.24452036554155],[169.2873209984081,-73.65601979588172],[167.9751013532206,-73.81280609145523],[167.38748864162963,-74.16549774184729],[166.09480268784844,-74.3810401409367],[165.64439090399244,-74.77295420343825],[164.95885135320847,-75.14528289810123],[164.23419274317953,-75.45880381281603],[163.82279666570392,-75.8703032431562],[163.56823856023422,-76.24258026138682],[163.4702600446088,-76.69330210383656],[163.48989708887981,-77.06557912206718],[164.05787275619977,-77.45744150813653],[164.2733634788569,-77.82977020279942],[164.74346398341604,-78.18251352962378],[166.60412560451712,-78.31961110449416],[166.99578128485732,-78.75074757910517],[165.19387576727203,-78.90748300569071],[163.66621707585958,-79.12302540478012],[161.76638471908117,-79.16224781688967],[160.92416222558822,-79.73048186637106],[160.74789391504058,-80.20073740022715],[160.3169641461587,-80.57306609489007],[159.78821089094825,-80.94539478955305],[161.1200159039744,-81.27850107210648],[161.6292871442109,-81.69000050244665],[162.49099165267776,-82.06227752067727],[163.70533613510455,-82.39543547966299],[165.09594892807885,-82.7089563943778],[166.60412560451712,-83.02247730909258],[168.895665318068,-83.33599822380737],[169.40478152900764,-83.82589080193439],[172.28393395414932,-84.04143320102379],[172.477048781624,-84.11791432081569],[173.2240832868354,-84.41371021925441],[175.98567182851306,-84.15899708448774],[178.27721154206407,-84.47251799920252],[180.00000000000014,-84.71338],[180.00000000000014,-90],[-180,-90],[-180,-84.71338],[-179.94249935617904,-84.72144337355249],[-179.0586773346912,-84.13941171664918],[-177.25677181710583,-84.4529326313639],[-177.14080667326587,-84.41794122714832],[-176.8619929423891,-84.33381199537715],[-176.52395156055178,-84.2318107924755],[-176.23030346383024,-84.14320347486859],[-176.0846728180777,-84.09925912875833],[-175.93410061348723,-84.10159102776555],[-175.82988216866264,-84.11791432081569],[-174.3825028148157,-84.53432301222365],[-173.11655941474547,-84.11791432081569],[-172.8891055980128,-84.06101856886235],[-169.95122290757135,-83.88464690545021],[-168.99998898015875,-84.11791432081569],[-168.53019853419335,-84.23739023227456],[-167.02209937240343,-84.57049651482791],[-164.18214352115515,-84.8252096495946],[-161.92977454328147,-85.13873056430938],[-158.07137956442486,-85.37391000766972],[-155.1922529774992,-85.0995598286322],[-150.94209896543802,-85.29551685988297],[-148.5330728830716,-85.60903777459777],[-145.88891822633298,-85.31510222772161],[-143.10771847860045,-85.040752048684],[-142.89227943237563,-84.57049651482791],[-146.8290683664633,-84.53127410271844],[-150.06073157448395,-84.29614633579038],[-150.90292822976085,-83.90423227328884],[-153.5862011383002,-83.68868987419944],[-153.40990698953647,-83.23801970818198],[-153.03775916238652,-82.82652027784181],[-152.66563717345275,-82.4541915831789],[-152.86151669005505,-82.04269215283864],[-154.52629879455398,-81.7683936502334],[-155.2901798166924,-81.41565032340905],[-156.8374497141596,-81.10212940869425],[-154.40878658752223,-81.16093718864246],[-152.09766150613282,-81.00415089306887],[-150.64829260964262,-81.33730885205459],[-148.86599829811206,-81.04337330517843],[-147.2207498850195,-80.67104461051545],[-146.41774899619185,-80.33793832796209],[-146.7702864247313,-79.92643889762184],[-148.06294654029628,-79.65208871858431],[-149.5319008046251,-79.35820484814045],[-151.58841610411253,-79.29939706819225],[-153.3903216216978,-79.16224781688967],[-155.32937639058576,-79.06426930126429],[-155.97566769104418,-78.69193979915705],[-157.26830196839308,-78.37841888444225],[-158.0517683583701,-78.0256755576179],[-158.36513424378805,-76.88920745865505],[-157.87547420960647,-76.98723765071271],[-156.97457312724606,-77.30075856542751],[-155.32937639058576,-77.20272837336984],[-153.74283240457683,-77.06557912206718],[-152.92024695535468,-77.496663920246],[-151.3337804839943,-77.3987370810529],[-150.00194963275186,-77.1831430055312],[-148.74848609108034,-76.90884450292597],[-147.61248308000808,-76.57573822037253],[-146.1044089489901,-76.47775970474714],[-146.1435280082349,-76.10543101008425],[-146.49609127499053,-75.73315399185354],[-146.202309949967,-75.38041066502919],[-144.90962399618584,-75.20403900161705],[-144.32203712281108,-75.53719696060277],[-142.7943525931825,-75.341239929352],[-141.6387642142717,-75.08647511815303],[-140.20900652383625,-75.06688975031449],[-138.85759030475538,-74.96891123468902],[-137.50619992389056,-74.73378346776104],[-136.42890133990193,-74.51824106867164],[-135.2145826956913,-74.30269866958224],[-134.43119382036252,-74.36145477309806],[-133.74565426957867,-74.4398479208848],[-132.25716792873206,-74.30269866958224],[-130.9253112392736,-74.47901865656209],[-129.55428381413788,-74.45943328872345],[-128.24203833073415,-74.32228403742079],[-126.89062211165326,-74.42026255304626],[-125.40208247948588,-74.51824106867164],[-124.0114955247277,-74.47901865656209],[-122.56215246645371,-74.49860402440072],[-121.07361283428624,-74.51824106867164],[-119.70255957093441,-74.47901865656209],[-118.68414547409803,-74.18508310968593],[-117.4698009916713,-74.02834849054463],[-116.2163116117835,-74.24389088963403],[-115.02155249719542,-74.0675192262219],[-113.94433142785516,-73.71482757582984],[-113.29798845096448,-74.02834849054463],[-112.94545182986937,-74.3810401409367],[-112.29908301476269,-74.71419809992241],[-111.26105851931581,-74.42026255304626],[-110.06632524294373,-74.79253957127688],[-108.71490902386283,-74.91010345474089],[-107.55934648316813,-75.18445363377842],[-106.14914832235512,-75.12569753026258],[-104.87607357462876,-74.94932586685046],[-103.36794857462276,-74.98849660252765],[-102.01650651732567,-75.12569753026258],[-100.64553076862231,-75.30201751724243],[-100.11669999876337,-74.87093271906363],[-100.76304297565396,-74.53782643651027],[-101.25270300983563,-74.18508310968593],[-102.54533728718461,-74.10674163833147],[-103.11331295450455,-73.73441294366847],[-103.32875200072938,-73.36208424900556],[-103.68128862182449,-72.61753021254424],[-102.91748511433445,-72.75467946384683],[-101.60523963093083,-72.81343556736273],[-100.31252783893346,-72.75467946384683],[-99.13737993040012,-72.91141408298812],[-98.11888912635959,-73.20534962986427],[-97.68803687212602,-73.55804128025633],[-96.33659481482894,-73.61684906020446],[-95.04396053748005,-73.47969980890187],[-93.67290727412822,-73.28374277765101],[-92.43900326207904,-73.166178894187],[-91.42056413447071,-73.40130666111504],[-90.08873328322835,-73.3229135133283],[-89.22695126011303,-72.55872243259606],[-88.42395117872962,-73.0093925986135],[-87.26833696160261,-73.18576426202563],[-86.01482174349863,-73.08778574640024],[-85.19223629427648,-73.47969980890187],[-83.87999081087295,-73.51887054457907],[-82.66564632844623,-73.63643442804309],[-81.47091305207414,-73.85197682713249],[-80.68744666209699,-73.47969980890187],[-80.295790981757,-73.12695648207753],[-79.296885545555,-73.51887054457907],[-77.92585812041938,-73.42089202895369],[-76.90736731637875,-73.63643442804309],[-76.22187944202707,-73.96954071059652],[-74.8900485907848,-73.87161387140341],[-73.85202409533792,-73.65601979588172],[-72.8335332912975,-73.40130666111504],[-71.61921464708678,-73.26415740981247],[-70.20904232449007,-73.14654184991616],[-68.93591590033134,-73.0093925986135],[-67.95662167018426,-72.79385019952409],[-67.3690606350255,-72.4803292848093],[-67.13403622096203,-72.04924448663049],[-67.25154842799387,-71.6377450562903],[-67.56494015162798,-71.24583099378876],[-67.91747677272309,-70.85391693128713],[-68.23084265814092,-70.46205454521788],[-68.48545244004302,-70.10931121839351],[-68.54420854355885,-69.71739715589197],[-68.44628170436584,-69.32553476982272],[-67.97623287623901,-68.95320607515973],[-67.58449968125043,-68.54170664481956],[-67.42784257675751,-68.1498442587503],[-67.62367041692761,-67.71875946057149],[-67.74118262395925,-67.32684539806995],[-67.25154842799387,-66.8761752320525],[-66.70318396672866,-66.58223968517635],[-66.05681515162198,-66.20996266694564],[-65.37132727727021,-65.89639007579855],[-64.5682755194544,-65.60250620535469],[-64.17654232446583,-65.17142302206436],[-63.62815202498453,-64.89707284302685],[-63.00139441593248,-64.64230803182787],[-62.04168555362406,-64.58355192831205],[-61.414927944572014,-64.27003101359725],[-60.709854702381705,-64.07407398234648],[-59.88726925315976,-63.95651009888246],[-59.1625848049147,-63.70174528768349],[-58.59455746116228,-63.38822437296869],[-57.81114274761751,-63.27066048950467],[-57.22358171245904,-63.525425300703645],[-57.59572953960878,-63.858531583257076],[-58.614142829001025,-64.15246713013323]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-67.75,-53.85],[-66.45,-54.45],[-65.05,-54.69999999999988],[-65.5,-55.2],[-66.45,-55.25],[-66.95992,-54.89680999999989],[-67.29102999999989,-55.30124],[-68.14863,-55.61182999999988],[-69.2321,-55.49906],[-69.95809,-55.19843],[-71.00568,-55.05383],[-72.2639,-54.49514],[-73.2852,-53.957519999999896],[-74.66253,-52.83749],[-73.8381,-53.0474299999999],[-72.43418,-53.7154],[-71.10773,-54.07433],[-70.59178,-53.61583],[-70.26748,-52.93123],[-69.34565,-52.5183],[-68.63411,-52.63625],[-68.63401022758319,-52.636370458874374],[-68.25,-53.09999999999988],[-67.75,-53.85]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-58.55,-51.1],[-57.75,-51.55],[-58.05,-51.9],[-59.4,-52.2],[-59.85,-51.85],[-60.7,-52.3],[-61.2,-51.85],[-60,-51.25],[-59.15,-51.5],[-58.55,-51.1]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[70.28,-49.71],[68.745,-49.775],[68.72,-49.2425],[68.8675,-48.83],[68.935,-48.625],[69.58000000000013,-48.94],[70.525,-49.065],[70.56,-49.255],[70.28,-49.71]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[145.3979781434949,-40.79254851660599],[146.36412072162366,-41.13769540788334],[146.90858361225085,-41.00054615658078],[147.68925947488415,-40.80825815202269],[148.28906782449607,-40.87543751400213],[148.3598645367359,-42.062445163746446],[148.0173014670731,-42.407023614268624],[147.91405195535387,-43.21152231218851],[147.564564243764,-42.937688897473876],[146.87034305235497,-43.634597263362096],[146.66332726459368,-43.58085377377856],[146.04837772032036,-43.54974456153889],[145.43192955951062,-42.693776137056275],[145.2950903668017,-42.03360971452757],[144.71807132383069,-41.1625517718158],[144.74375451067968,-40.70397511165771],[145.3979781434949,-40.79254851660599]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[173.02037479074082,-40.919052422856424],[173.24723432850223,-41.331998793300784],[173.95840538970285,-40.92670053483563],[174.2475867048083,-41.349155368821755],[174.24851688058945,-41.770008233406756],[173.87644656808808,-42.233184096038826],[173.22273969959585,-42.970038344088664],[172.71124637277077,-43.37228769304859],[173.08011274647023,-43.8533436012536],[172.30858361235252,-43.865694268571346],[171.45292524646365,-44.24251881284374],[171.18513797432726,-44.89710418068489],[170.61669721911662,-45.90892872495971],[169.83142215400935,-46.35577483498761],[169.33233117093428,-46.641235446967855],[168.41135379462864,-46.6199447568636],[167.76374474514685,-46.29019744240921],[166.67688602118423,-46.219917494492265],[166.50914432196467,-45.85270476662622],[167.04642418850327,-45.11094125750867],[168.3037634625969,-44.12397307716614],[168.94940880765157,-43.93581918719143],[169.66781456937318,-43.555325616226355],[170.52491987536618,-43.03168832781283],[171.12508996000403,-42.51275359473787],[171.56971398344322,-41.767424411792135],[171.94870893787194,-41.51441659929117],[172.09722700427878,-40.956104424809766],[172.798579543344,-40.49396209082347],[173.02037479074082,-40.919052422856424]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[174.61200890533055,-36.15639739354056],[175.3366158389272,-37.20909799575827],[175.3575964704377,-36.52619394302121],[175.80888675364267,-36.79894215265769],[175.9584900251277,-37.555381768546155],[176.76319542877675,-37.8812533505787],[177.4388131045607,-37.961248467766495],[178.01035444570888,-37.579824721020216],[178.51709354076283,-37.6953732236248],[178.27473107331403,-38.5828125953732],[177.97046023997936,-39.166342868812976],[177.20699262929932,-39.145775648760846],[176.9399805036472,-39.44973642350158],[177.0329464053403,-39.87994272233149],[176.88582360260526,-40.065977878582174],[176.50801720611938,-40.60480803808959],[176.0124402204403,-41.28962411882151],[175.239567499083,-41.68830779395326],[175.06789839100944,-41.42589487077517],[174.65097293527865,-41.28182097754545],[175.22763024322367,-40.459235528323404],[174.90015669179016,-39.90893320084723],[173.8240466657442,-39.50885426204351],[173.8522619977755,-39.14660247167747],[174.5748018740804,-38.797683200842755],[174.74347374908106,-38.02780771255847],[174.6970166364508,-37.38112883885796],[174.2920284365794,-36.711092217761546],[174.31900353423558,-36.534823907213905],[173.84099653553582,-36.121980889634116],[173.0541711774596,-35.23712533950044],[172.6360054873538,-34.529106540669474],[173.00704227120949,-34.450661716450355],[173.55129845610767,-35.00618336358805],[174.32939049712624,-35.26549570082862],[174.61200890533055,-36.15639739354056]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[167.12001142808688,-22.159990736583524],[166.7400346214449,-22.399976088146985],[166.18973229396872,-22.129708347260475],[165.4743754417522,-21.67960662199829],[164.8298153017757,-21.14981983814195],[164.16799523341373,-20.444746595951642],[164.0296057477361,-20.105645847252347],[164.45996707586275,-20.120011895429542],[165.02003624904214,-20.459991143477737],[165.46000939357518,-20.80002206795824],[165.77998986232646,-21.080004978115596],[166.59999148993384,-21.70001881275354],[167.12001142808688,-22.159990736583524]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[178.3736000000002,-17.33992],[178.71806000000018,-17.62846],[178.55271,-18.15059],[177.9326600000002,-18.28799],[177.38146,-18.16432],[177.28504000000018,-17.72465],[177.67087000000012,-17.38114],[178.12557000000018,-17.50481],[178.3736000000002,-17.33992]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[179.36414266196428,-16.80135407694685],[178.72505936299726,-17.012041674368035],[178.59683859511725,-16.63915],[179.09660936299733,-16.433984277547438],[179.4135093629973,-16.379054277547397],[180.00000000000014,-16.06713266364244],[180.00000000000014,-16.55521656663916],[179.36414266196428,-16.80135407694685]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-179.9173693847653,-16.50178313564936],[-180,-16.55521656663916],[-180,-16.06713266364244],[-179.7933201090486,-16.02088225674123],[-179.9173693847653,-16.50178313564936]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[167.8448767438451,-16.466333103097156],[167.5151811058229,-16.59784962327997],[167.18000776597782,-16.15999521247096],[167.21680138576963,-15.891846205308454],[167.8448767438451,-16.466333103097156]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[167.1077124372015,-14.933920179913954],[167.27002811103026,-15.740020847234874],[167.0012073102479,-15.614602146062495],[166.79315799384094,-15.668810723536723],[166.64985924709558,-15.392703545801197],[166.62913699774649,-14.626497084209603],[167.1077124372015,-14.933920179913954]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[50.05651085795725,-13.555761407122006],[50.217431268114154,-14.758788750876846],[50.476536899625586,-15.226512139550593],[50.377111443895984,-15.706069431219134],[50.20027469259324,-16.000263360256824],[49.860605503138714,-15.41425261806691],[49.67260664246098,-15.7102035458025],[49.86334435405021,-16.451036879138755],[49.77456424337274,-16.87504200609365],[49.49861209493409,-17.106035658438316],[49.435618523970305,-17.953064060134423],[49.041792433474,-19.118781019774474],[48.54854088724815,-20.49688811613413],[47.930749139198696,-22.391501153251085],[47.547723423051394,-23.781958916928488],[47.09576134622668,-24.94162973399048],[46.2824776548172,-25.178462823184148],[45.40950768411048,-25.60143442149308],[44.833573846217604,-25.346101169538926],[44.03972049334973,-24.98834522878228],[43.7637683449112,-24.460677178649973],[43.69777754087451,-23.574116306250573],[43.34565433123768,-22.776903985283866],[43.25418704608106,-22.05741301848417],[43.43329756040478,-21.336475111580185],[43.89368289569299,-21.163307386970146],[43.89637007017214,-20.830459486578164],[44.374325392439715,-20.072366224856353],[44.4643974139245,-19.435454196859055],[44.23242190936625,-18.961994724200878],[44.04297610858421,-18.331387220943185],[43.963084344261034,-17.409944756746754],[44.31246870298642,-16.85049570075492],[44.44651736835149,-16.216219170804536],[44.944936557806585,-16.179373874580435],[45.50273196796499,-15.97437346767859],[45.87299360533629,-15.793454278224672],[46.31224327981724,-15.780018405828855],[46.882182651564364,-15.210182386946343],[47.705129835812414,-14.594302666891764],[48.005214878131284,-14.091232598530382],[47.86904747904222,-13.663868503476635],[48.29382775248146,-13.78406788498748],[48.845060255738844,-13.089174899958692],[48.863508742067125,-12.487867933810477],[49.1946513201934,-12.040556735891968],[49.54351891459581,-12.469832858940592],[49.80898074727921,-12.895284925999562],[50.05651085795725,-13.555761407122006]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[143.56181115130002,-13.763655694232213],[143.92209923723894,-14.548310642152003],[144.56371382057486,-14.171176039285882],[144.8949080751335,-14.594457696188641],[145.37472374896348,-14.984976495018373],[145.27199100156733,-15.428205254785794],[145.48525963763578,-16.285672295804773],[145.63703331927698,-16.784918308176614],[145.8889042502677,-16.90692636481765],[146.16030887266456,-17.761654554925244],[146.0636739442787,-18.28007252367732],[146.38747846901967,-18.95827402107591],[147.47108157774792,-19.48072275154678],[148.1776017600425,-19.95593922290277],[148.84841352762325,-20.39120981209726],[148.7174654481956,-20.633468926681616],[149.28942020080214,-21.260510756111103],[149.67833703023067,-22.342511895438392],[150.07738244038862,-22.12278370533332],[150.4829390810152,-22.556142266533016],[150.72726525289121,-22.40240488046466],[150.89955447815234,-23.462236830338682],[151.60917524638424,-24.076256198830762],[152.07353966695914,-24.457886651306197],[152.85519738180594,-25.26750131602303],[153.13616214417684,-26.07117319102619],[153.16194868389042,-26.641319268502443],[153.0929089703486,-27.260299574494525],[153.56946902894416,-28.110066827102116],[153.51210818910025,-28.995077406532758],[153.33909549378708,-29.45820159273245],[153.06924116435889,-30.35024016695482],[153.08960167868182,-30.92364185966545],[152.8915775901394,-31.640445651986056],[152.4500024762054,-32.550002536755244],[151.70911746643677,-33.04134205498643],[151.34397179586242,-33.81602345147385],[151.01055545471522,-34.310360202777986],[150.71413943908905,-35.17345997491681],[150.32821984273326,-35.67187916437193],[150.07521203023228,-36.420205580390515],[149.94612430236722,-37.109052422841245],[149.99728397033616,-37.42526051203524],[149.4238822776255,-37.772681166333484],[148.30462243061592,-37.80906137466698],[147.3817330263153,-38.21921721776755],[146.92212283751135,-38.60653207779512],[146.31792199115486,-39.035756524411454],[145.48965213438058,-38.593767999019065],[144.87697635312819,-38.417448012039216],[145.03221235573292,-37.896187839510986],[144.48568240781404,-38.08532358169927],[143.6099735861961,-38.80946542740533],[142.745426873953,-38.538267510737526],[142.17832970598195,-38.380034275059856],[141.60658165910476,-38.30851409276788],[140.6385787294133,-38.01933277766257],[139.99215823787435,-37.40293629328511],[139.80658816951407,-36.64360279718828],[139.5741475770653,-36.13836231867067],[139.0828080588341,-35.73275400161178],[138.12074791885632,-35.612296237939404],[138.44946170466503,-35.127261244447894],[138.2075643251067,-34.38472258884593],[137.7191703635162,-35.07682504653103],[136.82940555231474,-35.26053476332862],[137.35237104710856,-34.7073385556441],[137.50388634658836,-34.130267836240776],[137.89011600153768,-33.640478610978434],[137.81032759007914,-32.90000701266811],[136.99683719294043,-33.752771498348636],[136.37206912653167,-34.09476612725628],[135.98904341038437,-34.8901180966605],[135.20821251845413,-34.47867034275261],[135.2392183778292,-33.94795338311508],[134.61341678277464,-33.22277800876314],[134.0859037619392,-32.84807219821478],[134.2739026226171,-32.61723357516698],[132.99077680880984,-32.011224053680195],[132.28808068250495,-31.98264698662277],[131.32633060112093,-31.495803318001066],[129.5357938986397,-31.590422865527486],[128.24093753470228,-31.948488864877874],[127.10286746633832,-32.28226694105105],[126.14871382050123,-32.21596607842061],[125.08862348846569,-32.728751316052836],[124.22164798390494,-32.95948658623607],[124.0289465678886,-33.483847344701715],[123.65966678273074,-33.890179131812744],[122.8110364116337,-33.91446705498993],[122.1830644064228,-34.003402194964224],[121.2991907085026,-33.82103606540623],[120.58026818245807,-33.93017669040664],[119.89369510302825,-33.976065362281815],[119.29889936734881,-34.50936614353397],[119.00734093635802,-34.46414926527855],[118.5057178081008,-34.7468193499151],[118.02497195848954,-35.064732761374714],[117.29550744025747,-35.02545867283287],[116.625109084135,-35.02509693780685],[115.56434695847972,-34.386427911111554],[115.0268087097796,-34.19651702243894],[115.04861616420683,-33.62342538832203],[115.54512332566716,-33.48725798923296],[115.71467370001673,-33.25957162855495],[115.6793786967614,-32.90036874769413],[115.80164513556397,-32.20506235120703],[115.68961063035525,-31.61243702568379],[115.16090905157702,-30.601594333622458],[114.9970430847795,-30.03072478609417],[115.04003787644635,-29.461095472940798],[114.64197431850206,-28.810230808224716],[114.61649783738218,-28.516398614213045],[114.17357913620847,-28.11807667410733],[114.04888390508822,-27.33476531342714],[113.47749759323696,-26.543134047147902],[113.3389530782625,-26.116545098578484],[113.77835778204027,-26.54902516042918],[113.44096235560662,-25.62127817149316],[113.93690107631167,-25.9112346330829],[114.23285200404726,-26.298446140245886],[114.21616051641698,-25.786281019801123],[113.72125532435777,-24.998938897402127],[113.62534386602405,-24.683971042583153],[113.39352339076268,-24.38476449961327],[113.50204389857558,-23.806350192970257],[113.70699262904517,-23.560215345964068],[113.8434184102957,-23.05998748137874],[113.73655154831616,-22.47547535572538],[114.14975630092201,-21.755881036061012],[114.22530724493268,-22.517488295178723],[114.64776207891882,-21.829519952077007],[115.46016727097933,-21.49517343514856],[115.94737267462702,-21.06868783944371],[116.71161543179156,-20.701681817306834],[117.16631635952771,-20.62359872811382],[117.44154503791432,-20.74689869556225],[118.22955895393298,-20.374208265873236],[118.83608523974274,-20.263310642174844],[118.98780724495177,-20.044202569257322],[119.25249393115072,-19.95294198982984],[119.80522505094459,-19.976506442954985],[120.85622033089672,-19.68370777758919],[121.39985639860723,-19.239755547769732],[121.65513797412908,-18.705317885007133],[122.24166548064184,-18.197648614171854],[122.28662397673574,-17.798603204014015],[122.31277225147542,-17.254967136303463],[123.01257449757193,-16.40519988369587],[123.43378909718311,-17.26855803799623],[123.85934451710668,-17.069035332917267],[123.50324222218327,-16.596506036040466],[123.81707319549187,-16.111316013251994],[124.25828657439988,-16.327943617419564],[124.37972619028582,-15.567059828353976],[124.92615278534012,-15.075100192935409],[125.16727501841396,-14.68039560309009],[125.67008670461385,-14.510070082256021],[125.68579634003052,-14.230655612853838],[126.12514936737611,-14.347340996968953],[126.14282270721989,-14.095986830301229],[126.58258914602376,-13.952791436420497],[127.06586714081735,-13.817967624570926],[127.80463341686195,-14.276906019755131],[128.35968997610897,-14.869169610252271],[128.98554324759593,-14.875990899314758],[129.62147342337963,-14.969783623924556],[129.40960005098302,-14.420669854391122],[129.88864057832862,-13.618703301653497],[130.33946577364296,-13.357375583553477],[130.18350630098607,-13.107520033422304],[130.61779503796706,-12.536392103732481],[131.22349450086003,-12.183648776908214],[131.73509118054952,-12.302452894747162],[132.57529829318312,-12.114040622611014],[132.55721154188106,-11.603012383676699],[131.82469811414373,-11.2737818335452],[132.35722374891142,-11.128519382372744],[133.01956058159644,-11.376411228076847],[133.5508459819891,-11.786515394745138],[134.393068475482,-12.042365411022175],[134.678632440327,-11.941182956594702],[135.29849124566803,-12.248606052299053],[135.8826933127277,-11.962266940969798],[136.25838097548947,-12.04934172938161],[136.49247521377166,-11.857208754120393],[136.95162031468502,-12.351958916882836],[136.68512495335577,-12.887223402562057],[136.30540652887518,-13.291229750219898],[135.9617582541342,-13.324509372615893],[136.07761681533256,-13.724278252825783],[135.78383629775325,-14.223989353088214],[135.42866417861123,-14.7154322241839],[135.50018436090326,-14.997740573794445],[136.2951745952814,-15.550264987859123],[137.0653601421595,-15.870762220933358],[137.58047081924482,-16.215082289294088],[138.30321740127906,-16.80760426195276],[138.5851640158634,-16.806622409739177],[139.10854292211556,-17.06267913174537],[139.26057498591823,-17.371600843986187],[140.21524539607825,-17.710804945550066],[140.87546349503927,-17.369068698803943],[141.0711104676963,-16.832047214426723],[141.27409549373883,-16.388870131091693],[141.39822228410387,-15.840531508042588],[141.70218305884467,-15.044921156476931],[141.5633801617087,-14.56133310308961],[141.63552046118812,-14.270394789286286],[141.51986860571898,-13.698078301653823],[141.6509200380111,-12.944687595270565],[141.8426912782463,-12.74154753993129],[141.68699018775087,-12.407614434461152],[141.92862918514757,-11.877465915578796],[142.11848839738806,-11.328042087451621],[142.14370649634637,-11.042736504768243],[142.51526004452498,-10.668185723516729],[142.79731001197408,-11.157354831591533],[142.8667631369743,-11.784706719614931],[143.1159468934857,-11.905629571177911],[143.1586316265588,-12.325655612846205],[143.5221236512999,-12.834358412327433],[143.59715783098764,-13.400422051652598],[143.56181115130002,-13.763655694232213]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[162.11902469304087,-10.482719008021135],[162.39864586817222,-10.82636728276212],[161.70003218001838,-10.820011081590238],[161.31979699121482,-10.204751478723225],[161.91738325423805,-10.446700534713756],[162.11902469304087,-10.482719008021135]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[120.71560875863045,-10.239581394087878],[120.2950142762069,-10.258649997603627],[118.96780846565471,-9.557969252158045],[119.90030968636157,-9.361340427287516],[120.42575564990537,-9.665921319215798],[120.7755017436568,-9.969675388227458],[120.71560875863045,-10.239581394087878]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[160.85222863183796,-9.872937106977105],[160.46258833235729,-9.895209649294841],[159.8494474632142,-9.794027194867368],[159.64000288313522,-9.63997975020527],[159.70294477766672,-9.242949720906779],[160.36295617089846,-9.40030445723555],[160.68851769433726,-9.610162448772911],[160.85222863183796,-9.872937106977105]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[161.67998172428915,-9.599982191611375],[161.52939660059056,-9.78431202559645],[160.78825320866056,-8.91754322676492],[160.57999718652442,-8.320008640173967],[160.92002811100494,-8.320008640173967],[161.28000613835,-9.120011488484451],[161.67998172428915,-9.599982191611375]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[124.43595014861941,-10.140000909061442],[123.57998172413667,-10.359987481327963],[123.45998904835503,-10.23999480554619],[123.55000939340746,-9.90001555749798],[123.98000898650812,-9.290026950724695],[124.96868248911628,-8.892790215697133],[125.08624637258029,-8.656887302284673],[125.94707238169835,-8.432094821815014],[126.64470421763852,-8.39824675866386],[126.9572432801398,-8.273344821814362],[127.3359281759746,-8.397316582882652],[126.96799197805652,-8.668256117388935],[125.92588504445868,-9.10600717533336],[125.0885201356011,-9.393173109579322],[124.43595014861941,-10.140000909061442]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[117.90001834520777,-8.095681247594925],[118.2606164897405,-8.362383314653329],[118.87845991422213,-8.28068287519983],[119.12650678922316,-8.705824883665073],[117.97040164598931,-8.906639499551346],[117.27773074754904,-9.040894870645573],[116.74014082241669,-9.03293670007264],[117.08373742072533,-8.457157891476626],[117.63202436734215,-8.449303073768192],[117.90001834520777,-8.095681247594925]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[122.90353722543611,-8.094234307490751],[122.75698286345633,-8.649807631060739],[121.25449059457017,-8.933666273639943],[119.92439090380961,-8.810417982623875],[119.92092858284607,-8.444858900591171],[120.71509199430764,-8.236964613480964],[121.34166873584658,-8.536739597206108],[122.00736453663043,-8.460620212440162],[122.90353722543611,-8.094234307490751]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[159.8750272971986,-8.337320244991716],[159.91740197167795,-8.538289890174866],[159.1336771995394,-8.1141814103554],[158.58611372297477,-7.754823500197716],[158.21114953026486,-7.421872246941248],[158.35997765526545,-7.320017998893931],[158.82000125552779,-7.560003350457393],[159.64000288313522,-8.020026950719668],[159.8750272971986,-8.337320244991716]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[157.53842573468924,-7.347819919466943],[157.33941979393327,-7.404767347852655],[156.90203047101485,-7.176874281445407],[156.49135786359133,-6.765943291860495],[156.54282759015402,-6.59933847415148],[157.1400004417189,-7.021638278840655],[157.53842573468924,-7.347819919466943]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[108.62347863162901,-6.777673841990691],[110.53922732955331,-6.877357679881698],[110.75957563684594,-6.465186455921753],[112.61481123255643,-6.946035658397605],[112.97876834518812,-7.59421314863458],[114.47893517462117,-7.776527601760293],[115.70552697150114,-8.370806573116866],[114.56451134649652,-8.751816908404834],[113.4647335144609,-8.348947442257426],[112.55967247930104,-8.376180922075264],[111.52206139531253,-8.302128594600958],[110.58614953007432,-8.122604668819022],[109.4276672709552,-7.740664157749762],[108.69365522668139,-7.641600437046222],[108.27776329959639,-7.766657403192582],[106.45410200401616,-7.354899590690962],[106.28062422081237,-6.924899997590302],[105.36548628135554,-6.851416110871256],[106.05164594932708,-5.8959188777945],[107.2650085795402,-5.954985039904059],[108.0720910990747,-6.345762220895253],[108.48684614464938,-6.421984958525769],[108.62347863162901,-6.777673841990691]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[134.72462446506668,-6.214400730009302],[134.21013390516893,-6.895237725454706],[134.11277550673103,-6.142467136259015],[134.29033572808586,-5.783057549669039],[134.4996252788679,-5.445042006047899],[134.72700158095213,-5.73758228925216],[134.72462446506668,-6.214400730009302]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[155.88002566957843,-6.81999684003776],[155.5999910829888,-6.919990736522493],[155.16699425681517,-6.535931491729315],[154.72919152243836,-5.900828138862209],[154.51411421123973,-5.139117526880014],[154.6525036969173,-5.042430922061939],[154.75999067608447,-5.339983819198494],[155.06291792217937,-5.566791680527501],[155.54774620994178,-6.200654799019659],[156.01996544822484,-6.540013929880402],[155.88002566957843,-6.81999684003776]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[151.98279585185455,-5.478063246282346],[151.4591068870087,-5.560280450058741],[151.30139041565386,-5.840728448106788],[150.7544470562767,-6.083762709175474],[150.2411967307539,-6.317753594593086],[149.70996300679334,-6.316513360218053],[148.8900647320505,-6.026040134305433],[148.31893680236075,-5.747142429226145],[148.4018257997569,-5.437755629094724],[149.29841190002085,-5.583741550319317],[149.8455619651273,-5.505503431829339],[149.9962504416903,-5.026101169457675],[150.1397558941649,-5.001348158389888],[150.23690758687357,-5.532220147324281],[150.80746707580815,-5.455842380396888],[151.089672072554,-5.113692722192383],[151.64788089417092,-4.757073662946183],[151.53786176982155,-4.167807305521976],[152.13679162008438,-4.14879037843852],[152.33874311748102,-4.312966403829861],[152.31869266175178,-4.867661228050764],[151.98279585185455,-5.478063246282346]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[127.24921512258899,-3.45906503663889],[126.87492272349888,-3.79098276124958],[126.18380211802733,-3.607376397316571],[125.98903364471929,-3.177273451351326],[127.00065148326505,-3.129317722184496],[127.24921512258899,-3.45906503663889]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[130.4713440288518,-3.09376433676762],[130.83483605359285,-3.858472181822762],[129.99054650280814,-3.446300957862832],[129.15524865124243,-3.362636813982263],[128.59068362845366,-3.428679294451257],[127.89889122936236,-3.393435967628207],[128.1358793478528,-2.843650404475014],[129.37099775606097,-2.802154229344652],[130.4713440288518,-3.09376433676762]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[153.14003787659877,-4.499983412294114],[152.8272921083683,-4.766427097190999],[152.638673130503,-4.176127211120928],[152.40602583232496,-3.789742526874562],[151.95323693258362,-3.462062269711822],[151.38427941305005,-3.035421644710112],[150.66204959533886,-2.741486097833956],[150.93996544820456,-2.500002129734028],[151.4799841656546,-2.779985039891386],[151.82001509013512,-2.999971612157907],[152.2399894553711,-3.240008640153661],[152.64001671774255,-3.659983005389748],[153.01999352438472,-3.980015150573294],[153.14003787659877,-4.499983412294114]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[134.1433679546478,-1.151867364103595],[134.4226273947531,-2.769184665542397],[135.45760298069476,-3.367752780779128],[136.2933142437188,-2.30704233155619],[137.44073774632753,-1.703513278819372],[138.3297274110448,-1.70268645590275],[139.18492068904297,-2.051295668143638],[139.92668419816042,-2.409051608900285],[141.00021040259188,-2.600151055515639],[142.7352466167915,-3.289152927263217],[144.58397098203326,-3.861417738463402],[145.27317955951,-4.373737888205028],[145.82978641172573,-4.876497897972683],[145.98192182839298,-5.465609226100028],[147.6480733583476,-6.083659356310818],[147.8911076194162,-6.61401458092233],[146.9709053895949,-6.721656589386356],[147.19187381407497,-7.388024183789994],[148.0846358583494,-8.044108168167611],[148.7341052593936,-9.104663588093771],[149.30683515848446,-9.07143564213007],[149.26663089416135,-9.514406019736029],[150.03872846903428,-9.684318129111702],[149.7387984560123,-9.872937106977105],[150.80162763895916,-10.29368661869752],[150.69057498596388,-10.582712904505968],[150.0283931825758,-10.652476088099945],[149.782310012002,-10.393267103723943],[148.9231376487173,-10.280922539921363],[147.91301842670802,-10.130440769087471],[147.13544315001226,-9.492443536012019],[146.5678808941506,-8.942554619994155],[146.04848107318494,-8.06741423913131],[144.74416792213808,-7.630128269077474],[143.8970878440097,-7.915330498896282],[143.28637576718435,-8.245491224809072],[143.4139132020807,-8.983068942911032],[142.62843143124425,-9.326820570516503],[142.06825890520028,-9.159595635620036],[141.0338517600139,-9.117892754760518],[140.14341515519263,-8.297167657100957],[139.12776655492812,-8.096042982621029],[138.88147667862503,-8.38093515384611],[137.61447391169284,-8.411682631059762],[138.03909915583526,-7.597882175327356],[138.6686214540148,-7.320224704623087],[138.40791385310237,-6.232849216337485],[137.92783979711086,-5.393365573756],[135.98925011611348,-4.546543877789063],[135.16459760959972,-4.462931410340872],[133.66288048719795,-3.538853448097527],[133.3677047059468,-4.024818617370315],[132.98395551974735,-4.112978610860281],[132.756940952689,-3.74628264731713],[132.75378869031928,-3.311787204607072],[131.9898043153162,-2.820551039240556],[133.0668445171435,-2.460417982598443],[133.78003095920357,-2.47984832114021],[133.69621178602617,-2.214541517753688],[132.2323734884943,-2.21252613689434],[131.83622195854477,-1.617161960459697],[130.94283979708288,-1.432522067880811],[130.51955814018007,-0.937720228686075],[131.86753787651364,-0.695461114101818],[132.3801164084168,-0.369537855636977],[133.98554813042844,-0.780210463060456],[134.1433679546478,-1.151867364103595]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[125.24050052297159,1.419836127117605],[124.43703535369744,0.427881171058957],[123.68550499887678,0.235593166500877],[122.7230831238729,0.431136786293337],[121.05672488818911,0.381217352699352],[120.18308312386276,0.237246812334206],[120.04086958219548,-0.519657891444865],[120.93590538949078,-1.408905938323372],[121.47582075407618,-0.955962009285116],[123.34056481332848,-0.615672702643181],[123.2583992859845,-1.076213067228338],[122.82271528533167,-0.930950616055881],[122.38852990121538,-1.516858005381124],[121.50827355355554,-1.904482924002423],[122.45457238168436,-3.186058444840967],[122.27189619353257,-3.529500013852712],[123.17096276254657,-4.683693129091722],[123.16233279835379,-5.340603936386046],[122.62851525277873,-5.634591159694494],[122.23639448454807,-5.282933037948297],[122.71956912647707,-4.46417164471589],[121.73823367725444,-4.851331475446585],[121.48946333220132,-4.574552504091315],[121.61917117725395,-4.188477878438675],[120.89818159391771,-3.602105401222829],[120.97238895068878,-2.62764291749491],[120.30545291552991,-2.931603692235726],[120.39004723519176,-4.097579034037309],[120.43071658740539,-5.528241062037779],[119.79654341031957,-5.673400160345651],[119.36690555224496,-5.379878024927805],[119.6536063986002,-4.459417412944958],[119.49883548388598,-3.494411716326525],[119.07834435432702,-3.487021986508765],[118.76776899625284,-2.801999200047689],[119.18097374885875,-2.147103773612798],[119.32339399625513,-1.353147067880485],[119.82599897672591,0.154254462073482],[120.03570193896635,0.566477362465704],[120.88577925016764,1.309222723796836],[121.666816847827,1.013943589681077],[122.92756676645186,0.875192368977366],[124.0775224142429,0.917101955566139],[125.06598921112183,1.643259182131544],[125.24050052297159,1.419836127117605]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[128.68824873262074,1.132385972494006],[128.63595218314137,0.258485826006179],[128.1201697124362,0.356412665199272],[127.96803429576889,-0.252077325037533],[128.37999881399972,-0.780003757331301],[128.10001590384238,-0.899996433113074],[127.69647464407504,-0.266598402511505],[127.39949018769377,1.011721503092559],[127.60051150930909,1.810690822757181],[127.93237755748757,2.174596258956555],[128.00415612194084,1.628531398928331],[128.59455936087548,1.540810655112864],[128.68824873262074,1.132385972494006]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[105.81765506390937,-5.852355645372413],[104.71038414919153,-5.873284600450646],[103.86821333213081,-5.037314955264989],[102.58426069540698,-4.220258884298204],[102.15617313030108,-3.61414600994685],[101.39911339722508,-2.799777113459186],[100.90250288290022,-2.05026213949786],[100.14198082886068,-0.650347588710972],[99.2637398620603,0.183141587724649],[98.97001102091335,1.042882391764536],[98.60135135294311,1.823506577965532],[97.69959760944991,2.453183905442017],[97.1769421732499,3.30879059489861],[96.42401655475729,3.868859768077911],[95.38087609251355,4.97078217205366],[95.29302615761733,5.479820868344817],[95.93686282754177,5.439513251157095],[97.4848820332771,5.246320909033912],[98.36916914265569,4.268370266126368],[99.14255862833593,3.59034963624083],[99.69399783732243,3.174328518075157],[100.64143354696168,2.099381211755698],[101.65801232300745,2.083697414555189],[102.49827111207324,1.398700466310203],[103.07684044801314,0.56136139566884],[103.83839603069836,0.104541734208667],[103.43764529827499,-0.711945896002945],[104.01078860882407,-1.059211521004329],[104.36999148968496,-1.084843031421116],[104.53949018760224,-1.782371514496802],[104.88789269411407,-2.340425306816755],[105.622111444117,-2.42884368246807],[106.10859337771271,-3.06177662517895],[105.8574459167742,-4.305524997579809],[105.81765506390937,-5.852355645372413]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[117.87562706916597,1.827640692548897],[118.99674726773819,0.902219143066048],[117.8118583517178,0.784241848143722],[117.47833865770608,0.102474676917012],[117.52164350796662,-0.80372323975331],[116.56004845587952,-1.487660821136231],[116.53379682827526,-2.483517347832901],[116.14808393764864,-4.012726332214015],[116.00085778204911,-3.657037448749108],[114.86480309454456,-4.106984144714417],[114.46865156459509,-3.495703627133835],[113.75567182826413,-3.43916961020652],[113.25699425664757,-3.118775729996955],[112.06812625534079,-3.478392022316086],[111.70329064336008,-2.994442233902646],[111.04824018762824,-3.049425957861203],[110.223846063276,-2.934032484553484],[110.07093550012436,-1.592874037282499],[109.57194786991406,-1.314906507984489],[109.09187381392255,-0.459506524257151],[108.95265750532823,0.415375474444346],[109.06913618371411,1.341933905437642],[109.6632601257738,2.006466986494985],[110.39613528853712,1.663774725751381],[111.1688529805975,1.850636704918784],[111.3700810079421,2.697303371588859],[111.79692833867293,2.885896511238073],[112.99561486211527,3.102394924324869],[113.71293541875875,3.893509426281128],[114.20401655482843,4.52587392823682],[114.59996137904872,4.900011298029924],[115.45071048386981,5.447729803891562],[116.22074100145105,6.143191229675523],[116.72510298061977,6.924771429873999],[117.12962609260049,6.928052883324568],[117.64339318244632,6.422166449403207],[117.68907514859231,5.987490139180181],[118.34769127815227,5.708695786965464],[119.18190392463995,5.407835598162151],[119.11069380094179,5.016128241389765],[118.43972700406411,4.966518866389606],[118.61832075406485,4.478202419447541],[117.88203494677018,4.137551377779488],[117.31323245653354,3.234428208830579],[118.04832970588544,2.287690131027361],[117.87562706916597,1.827640692548897]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[126.37681359263749,8.414706325713254],[126.4785128113879,7.750354112168978],[126.53742394420058,7.189380601424574],[126.19677290253256,6.274294338400026],[125.8314205262291,7.293715318221842],[125.3638521668523,6.786485297060892],[125.68316084198372,6.049656887227243],[125.39651167206065,5.58100332277229],[124.21978763234242,6.161355495626168],[123.93871951710693,6.885135606306122],[124.24366214406129,7.360610459823661],[123.61021243702757,7.833527329942754],[123.29607140512528,7.418875637232773],[122.82550581267546,7.457374579290203],[122.08549930225573,6.899424139834835],[121.91992801319262,7.192119452335973],[122.31235884001714,8.034962063016408],[122.94239790251967,8.316236883981091],[123.48768761606354,8.693009751821194],[123.84115441293986,8.240324204944386],[124.60146976125023,8.514157619659017],[124.76461225799571,8.96040945071546],[125.47139082245164,8.986996975129628],[125.41211795461285,9.760334784377548],[126.22271447154318,9.286074327018838],[126.30663699758517,8.78248749433456],[126.37681359263749,8.414706325713254]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[81.2180196471443,6.197141424988303],[80.34835696810447,5.968369859232141],[79.87246870312859,6.763463446474915],[79.69516686393516,8.200843410673372],[80.14780073437967,9.824077663609557],[80.83881798698664,9.268426825391174],[81.3043192890718,8.564206244333675],[81.78795901889143,7.523055324733178],[81.63732221876066,6.481775214051936],[81.2180196471443,6.197141424988303]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-60.935,10.11],[-61.77,10],[-61.95,10.09],[-61.66,10.365],[-61.68,10.76],[-61.104999999999876,10.89],[-60.895,10.855],[-60.935,10.11]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[123.98243777882587,10.278778591345713],[123.6231832215328,9.950090643753299],[123.30992068897942,9.318268744336677],[122.99588300994165,9.0221886255204],[122.38005496631948,9.713360907424203],[122.58608890186716,9.981044826696106],[122.83708133350879,10.261156927934238],[122.94741051645192,10.88186839440803],[123.49884972543848,10.940624497923949],[123.33777428598475,10.267383938025347],[124.07793582570125,11.23272553145371],[123.98243777882587,10.278778591345713]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[118.50458092659036,9.316382554558004],[117.17427453010075,8.367499904814665],[117.6644771668214,9.06688873945285],[118.38691369026176,9.684499619989225],[118.98734215706108,10.376292019080495],[119.51149620979757,11.369668077027214],[119.68967654833997,10.554291490109861],[119.029458449379,10.003653265823772],[118.50458092659036,9.316382554558004]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[121.88354780485909,11.89175507247198],[122.48382124236153,11.582187404827508],[123.12021650603603,11.58366018314787],[123.10083784392654,11.165933742716476],[122.63771365772672,10.741308498574128],[122.00261030485959,10.441016750526089],[121.96736697803655,10.905691229694625],[122.03837039600555,11.415840969279941],[121.88354780485909,11.89175507247198]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[125.50255171112352,12.16269460697825],[125.78346479706218,11.046121934447754],[125.01188398651229,11.31145457605038],[125.0327612651582,10.975816148314706],[125.27744917206022,10.358722032101312],[124.80181928924574,10.134678859899893],[124.7601680848185,10.837995103392203],[124.45910119028608,10.889929917845535],[124.30252160044174,11.49537099857713],[124.89101281138156,11.415582587118493],[124.87799035044398,11.794189968304906],[124.26676150929566,12.557760931849685],[125.22711632700785,12.535720933477194],[125.50255171112352,12.16269460697825]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[121.52739383350351,13.06959015548452],[121.26219038298157,12.205560207564403],[120.83389611214662,12.70449616134242],[120.3234363139675,13.46641347905377],[121.18012820850211,13.429697373910443],[121.52739383350351,13.06959015548452]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[121.3213082215236,18.504064642810903],[121.93760135303646,18.21855235439847],[122.24600630095429,18.478949896717097],[122.33695682178805,18.224882717354063],[122.17427941293326,17.810282701076375],[122.51565392465338,17.093504746971973],[122.25231082569391,16.262444362854012],[121.66278608610824,15.9310175643501],[121.50506961475347,15.124813544164624],[121.72882856657728,14.328376369682246],[122.25892540902734,14.218202216035976],[122.70127566944572,14.336541245984336],[123.95029503794032,13.78213064214097],[123.85510704965864,13.237771104378382],[124.1812886902849,12.997527370653472],[124.07741906137832,12.536676947474575],[123.29803510955227,13.027525539598898],[122.92865197153,13.552919826710408],[122.67135501514869,13.18583628992505],[122.03464969288055,13.784481919810247],[121.12638471891862,13.636687323455547],[120.62863732308332,13.857655747935553],[120.67938357959392,14.271015529838309],[120.99181928923056,14.525392767794983],[120.6933362163127,14.756670640517285],[120.56414513558306,14.396279201713824],[120.07042850146641,14.970869452367197],[119.92092858284607,15.40634674729074],[119.88377322802828,16.363704331929966],[120.28648766487882,16.03462881109533],[120.39004723519176,17.59908112229951],[120.71586714079197,18.505227362537454],[121.3213082215236,18.504064642810903]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-65.59100379094289,18.228034979723873],[-65.84716386581366,17.975905666571805],[-66.59993445500945,17.981822618069288],[-67.18416236028517,17.946553453030134],[-67.2424275376944,18.374460150622866],[-67.10067908391775,18.520601101144422],[-66.28243445500814,18.51476166429532],[-65.77130286320934,18.426679185453935],[-65.59100379094289,18.228034979723873]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-76.90256140817561,17.868237819891675],[-77.20634131540348,17.701116237859793],[-77.76602291534056,17.86159739834224],[-78.33771928578548,18.225967922432318],[-78.2177266100039,18.454532782459324],[-77.79736467152568,18.52421845140472],[-77.5696007961991,18.49052541755043],[-76.89661861846204,18.400866807524096],[-76.36535905628543,18.160700588447554],[-76.19965857614153,17.886867173732924],[-76.90256140817561,17.868237819891675]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-72.57967281766363,19.871500555902344],[-71.71236141629294,19.714455878167314],[-71.58730445014658,19.884910590082058],[-70.80670610216168,19.88028554939197],[-70.21436499701608,19.622885240146104],[-69.95081519232755,19.647999986239995],[-69.76925004747008,19.293267116772483],[-69.2221258205798,19.313214219637047],[-69.25434607611373,19.015196234609988],[-68.8094119940807,18.97907440843784],[-68.31794328476892,18.612197577381636],[-68.68931596543453,18.205142320218556],[-69.16494584824883,18.422648423735126],[-69.62398759629752,18.380712998930363],[-69.95293392605149,18.42830699307106],[-70.13323299831794,18.24591502529688],[-70.51713721381427,18.184290879788904],[-70.66929846869758,18.42688589118299],[-70.99995012071716,18.28332876227634],[-71.40020992703384,17.598564357976528],[-71.65766191271192,17.757572740138727],[-71.70830481635795,18.044997056546208],[-72.37247616238926,18.21496084235409],[-72.84441118029488,18.145611070218337],[-73.45455481636503,18.217906398994813],[-73.92243323433556,18.030992743394933],[-74.45803361682471,18.342549953682663],[-74.36992529976712,18.664907538319397],[-73.44954220243275,18.526052964751102],[-72.69493709989067,18.44579946540179],[-72.33488155789703,18.66842153571531],[-72.79164954292483,19.10162506761796],[-72.7841047838103,19.48359141690341],[-73.41502234566164,19.639550889560297],[-73.18979061551758,19.915683905511997],[-72.57967281766363,19.871500555902344]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[110.3391878601515,18.678395087147578],[109.47520958866372,18.197700913968617],[108.65520796105616,18.5076819930714],[108.62621748254051,19.367887885001863],[109.11905561730808,19.82103851976936],[110.21159874882287,20.10125397387199],[110.78655073450224,20.077534491450052],[111.01005130416465,19.69592987719082],[110.57064660038677,19.255879218009312],[110.3391878601515,18.678395087147578]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-155.54211,19.08348],[-155.68817,18.916190000000114],[-155.93665,19.05939],[-155.90806,19.338880000000103],[-156.07347,19.70294],[-156.02368,19.81422],[-155.85008,19.97729],[-155.91907,20.17395],[-155.86108,20.26721],[-155.78505,20.2487],[-155.40214,20.07975],[-155.22452,19.99302],[-155.06226,19.8591],[-154.80741,19.50871000000012],[-154.83147,19.45328],[-155.22217,19.23972000000012],[-155.54211,19.08348]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-156.07926,20.64397],[-156.41445,20.57241],[-156.58673,20.783],[-156.70167,20.8643],[-156.71055,20.92676],[-156.61258,21.01249],[-156.25711,20.91745],[-155.99566,20.76404],[-156.07926,20.64397]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-156.75824,21.17684],[-156.78933,21.06873],[-157.32521,21.09777],[-157.25027,21.21958],[-156.75824,21.17684]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-157.65283,21.32217],[-157.70703,21.26442],[-157.7786,21.27729],[-158.12667,21.31244],[-158.2538,21.53919],[-158.29265,21.57912],[-158.0252,21.71696],[-157.94161,21.65272],[-157.65283,21.32217]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-159.34512,21.982],[-159.46372,21.88299],[-159.80051,22.06533],[-159.74877,22.1382],[-159.5962,22.23618],[-159.36569,22.21494],[-159.34512,21.982]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-79.6795236884603,22.765303249598816],[-79.28148596873203,22.399201565027028],[-78.3474344550564,22.512166246017074],[-77.99329586456017,22.277193508385892],[-77.14642249216101,21.657851467367806],[-76.52382483590844,21.206819566324327],[-76.19462012399313,21.22056549731397],[-75.59822241891263,21.016624457274077],[-75.67106035022812,20.73509125414796],[-74.93389604358444,20.693905137611324],[-74.17802486845125,20.284627793859755],[-74.29664811877714,20.050378526280696],[-74.96159461129298,19.92343537035569],[-75.63468014189462,19.873774318923154],[-76.32365617542601,19.952890936762117],[-77.7554809231531,19.85548086189189],[-77.08510840524667,20.413353786698792],[-77.49265458851653,20.67310537361385],[-78.1372922431415,20.739948838783477],[-78.48282670766116,21.028613389565805],[-78.71986650258398,21.598113511638417],[-79.28499996612786,21.559175319906473],[-80.21747534861854,21.827324327068965],[-80.51753455272143,22.037078965741756],[-81.82094336620321,22.19205658618506],[-82.1699918281187,22.387109279870742],[-81.79500179719258,22.636964830002086],[-82.77589799674078,22.688150336187107],[-83.4944587877593,22.16851797127609],[-83.90880042187564,22.154565334557304],[-84.05215084505332,21.910575059491322],[-84.54703019889644,21.801227728761575],[-84.97491105827316,21.89602814380106],[-84.44706214062779,22.20494985604188],[-84.23035702181184,22.56575470630375],[-83.77823991569011,22.788118394455637],[-83.26754757356562,22.98304189706073],[-82.5104361640575,23.078746649665135],[-82.26815121125705,23.188610744717664],[-81.40445716014685,23.117271429938768],[-80.61876868358118,23.10598012948296],[-79.6795236884603,22.765303249598816]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-77.53465999999989,23.75975],[-77.78,23.71],[-78.03405,24.28615],[-78.40848,24.57564],[-78.19087,25.2103],[-77.89,25.17],[-77.54,24.340000000000117],[-77.53465999999989,23.75975]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[121.17563235889273,22.790857245367135],[120.74707970589625,21.970571397382088],[120.22008344938368,22.814860948166682],[120.10618859261243,23.556262722258225],[120.6946798035523,24.538450832613734],[121.4950443868888,25.29545888925736],[121.95124393116154,24.99759593352698],[121.77781782438993,24.394273586519432],[121.17563235889273,22.790857245367135]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-77.82,26.58],[-78.91,26.42],[-78.97999999999988,26.79],[-78.51,26.87],[-77.85,26.84],[-77.82,26.58]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-77,26.590000000000117],[-77.17255,25.87918],[-77.35641,26.00735],[-77.34,26.53],[-77.78802,26.92516],[-77.79,27.04],[-77,26.590000000000117]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[134.63842817600388,34.149233710256425],[134.76637902235856,33.80633474378368],[134.20341596897092,33.20117788342961],[133.7929500672765,33.52198517509768],[133.28026818250888,33.289570420864834],[133.01485802625788,32.704567369104694],[132.36311486219276,32.98938202568138],[132.37117638563026,33.46364248303999],[132.9243725933148,34.06029857028213],[133.49296837782228,33.94462087659667],[133.90410607313638,34.3649311386427],[134.63842817600388,34.149233710256425]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[34.57647382990061,35.671595567358764],[33.90080447768426,35.24575592705759],[33.97361657078349,35.058506374647976],[34.004880812320124,34.97809784600187],[32.979827101378504,34.571869411755415],[32.490296258277596,34.70165477145653],[32.25666710788599,35.103232326796615],[32.73178022637754,35.14002594658842],[32.80247358575289,35.14550364841139],[32.94696089044092,35.3867033961337],[33.66722700372506,35.3732158473056],[34.57647382990061,35.671595567358764]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[23.69998009613309,35.70500438083562],[24.246665073348765,35.368022365860156],[25.025015496528965,35.42499563246207],[25.76920779796427,35.35401805270908],[25.745023227651643,35.179997666966216],[26.290002882601726,35.299990342748],[26.164997592887744,35.00499542900988],[24.72498213064236,34.91998769788961],[24.735007358506948,35.08499054619767],[23.51497846852817,35.27999156345095],[23.69998009613309,35.70500438083562]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[15.520376010813834,38.23115509699156],[15.16024295417182,37.44404551853782],[15.30989790208909,37.1342194687318],[15.099988234119536,36.6199872909954],[14.335228712632016,36.996630967754726],[13.826732618880015,37.104531358380115],[12.431003859108785,37.612949937483705],[12.57094363775522,38.126381130519604],[13.74115644700467,38.03496552179544],[14.761249220446246,38.143873602850505],[15.520376010813834,38.23115509699156]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[9.21001183435635,41.209991360024304],[9.809975213264977,40.5000088567661],[9.669518670295645,39.17737641047188],[9.21481774255949,39.240473334300134],[8.806935662479702,38.90661774347848],[8.4283024430772,39.17184703221662],[8.38825320805094,40.37831085871878],[8.159998406617746,40.9500072291637],[8.709990675500194,40.89998444270523],[9.21001183435635,41.209991360024304]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[140.9763875673053,37.14207428644016],[140.59976972876214,36.343983466124456],[140.7740743348826,35.842877102190215],[140.25327925024519,35.138113918593746],[138.97552778539622,34.66760000257611],[137.21759891169128,34.60628591566177],[135.7929830262689,33.46480520276671],[135.12098270074543,33.84907115328906],[135.07943484918277,34.59654490817482],[133.340316196832,34.37593821872085],[132.15677086805132,33.90493337659652],[130.98614464734348,33.8857614202162],[132.00003624891005,33.149992377244615],[131.33279015515737,31.450354519164847],[130.68631798718602,31.029579169228327],[130.20241987520498,31.41823761649539],[130.44767622286216,32.31947459566564],[129.8146916037189,32.61030955660436],[129.40846316947253,33.29605581311759],[130.35393517468466,33.604150702441785],[130.87845096244715,34.23274282484013],[131.88422936414392,34.74971385348792],[132.61767296766251,35.43339305270939],[134.6083008159778,35.73161774346579],[135.67753787652893,35.527134100886826],[136.72383060114245,37.30498423924038],[137.3906116070045,36.827390651998826],[138.85760216690622,37.827484646143546],[139.4264046571429,38.215962225897556],[140.0547900738121,39.43880748143647],[139.88337934789988,40.56331248632361],[140.30578250545372,41.19500519465964],[141.3689734234267,41.378559882160374],[141.91426313697056,39.991616115878685],[141.88460086483505,39.18086456965142],[140.95948937394584,38.17400096287659],[140.9763875673053,37.14207428644016]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[9.56001631026922,42.15249197037946],[9.229752231491858,41.38000682226445],[8.775723097375447,41.58361196549441],[8.544212680707801,42.256516628583],[8.746009148807588,42.62812185319396],[9.39000084802899,43.009984849614824],[9.56001631026922,42.15249197037946]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[143.91016198137956,44.17409983985374],[144.61342654843966,43.9608828802175],[145.32082523008316,44.38473297787553],[145.54313724180278,43.262088324550604],[144.0596618999999,42.98835826270064],[143.18384972551726,41.99521474869917],[141.61149092017249,42.67879059505617],[141.06728641170665,41.58459381770791],[139.95510623592108,41.56955597591096],[139.81754357316,42.563758856774484],[140.31208703019328,43.33327261003265],[141.38054894426008,43.38882477474638],[141.67195234595394,44.772125352551484],[141.967644891528,45.55148346616136],[143.14287031470982,44.510358384776964],[143.91016198137956,44.17409983985374]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-63.6645,46.55001],[-62.9393,46.41587],[-62.01208,46.44314],[-62.50391,46.03339000000011],[-62.87433,45.96818],[-64.1428,46.39265],[-64.39261,46.72747],[-64.01486,47.03601],[-63.6645,46.55001]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-61.8063,49.10506000000012],[-62.29318,49.08717],[-63.58926,49.40069],[-64.51912,49.87304],[-64.17322,49.95718],[-62.85829,49.70641000000012],[-61.83558,49.28855],[-61.8063,49.10506000000012]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-123.51000158755117,48.51001089130341],[-124.01289078839959,48.3708462591415],[-125.65501277733837,48.825004584338586],[-125.95499446679277,49.179995835967645],[-126.8500044358719,49.530000311880514],[-127.02999344954442,49.81499583597005],[-128.05933630436624,49.99495901142657],[-128.44458410710206,50.53913768167604],[-128.35841365625544,50.770648098343685],[-127.30858109602998,50.55257355407204],[-126.69500097721232,50.400903225295394],[-125.7550066738232,50.29501821552947],[-125.4150015875588,49.95000051533259],[-124.92076818911936,49.47527497008349],[-123.92250870832112,49.06248362893581],[-123.51000158755117,48.51001089130341]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-56.13403581401704,50.687009792679305],[-56.795881720595276,49.81230866149096],[-56.14310502788422,50.150117499382844],[-55.47149227560297,49.93581533466846],[-55.82240108908101,49.58712860777899],[-54.93514258484558,49.31301097268684],[-54.4737753973437,49.55669118915918],[-53.47654944519127,49.24913890237406],[-53.786013759971325,48.51678050393372],[-53.08613399922626,48.687803656603535],[-52.958648240762244,48.1571642116144],[-52.6480987209041,47.53554840757559],[-53.06915829121834,46.655498765645035],[-53.52145626485296,46.61829173439483],[-54.17893551290254,46.80706574155698],[-53.96186865906057,47.62520701760192],[-54.24048214376205,47.75227936460763],[-55.4007730780115,46.884993801453135],[-55.99748084168584,46.91972036395322],[-55.291219041552694,47.389562486351],[-56.250798712780636,47.63254507098739],[-57.325229254777014,47.57280711525809],[-59.26601518414688,47.6033478867424],[-59.419494188053704,47.899453843774864],[-58.7965864732075,48.25152537697937],[-59.231624518456556,48.52318838153789],[-58.39180497906523,49.12558055276426],[-57.35868974468596,50.71827403421594],[-56.73865007183201,51.28743825947862],[-55.87097693543521,51.63209422464928],[-55.406974249886616,51.588272610065644],[-55.60021826844209,51.31707469339801],[-56.13403581401704,50.687009792679305]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-132.7100078844312,54.04000931542345],[-132.71000850490572,54.040009263721345],[-132.7100076974615,54.040009263721345],[-132.7100078844312,54.04000931542345],[-131.7499895840034,54.12000438090914],[-132.049480347351,52.984621487024526],[-131.1790425218266,52.180432847698285],[-131.57782954982312,52.18237071390925],[-132.18042842677858,52.639707139692405],[-132.54999243231387,53.10001496033223],[-133.05461117875552,53.41146881775529],[-133.2396644827927,53.851080227262315],[-133.1800040417118,54.169975490935315],[-132.7100078844312,54.04000931542345]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[143.64800744036282,50.747600409541604],[144.6541475770857,48.97639069273748],[143.1739278505173,49.30655141865037],[142.5586682476501,47.861575018905],[143.5334924664041,46.83672801369249],[143.50527713437262,46.13790761980948],[142.74770063697392,46.740764878926456],[142.09203006405457,45.96675527605879],[141.90692508358504,46.80592886004655],[142.01844282447095,47.780132961612935],[141.90444461483506,48.85918854429957],[142.13580000220574,49.61516307229735],[142.1799833518153,50.95234243428192],[141.59407596249005,51.93543488220254],[141.68254601457366,53.30196645772887],[142.60693403541083,53.762145087287905],[142.20974897681546,54.22547597921695],[142.654786411713,54.36588084575388],[142.91461551327663,53.704577541714826],[143.26084760963212,52.74076040303913],[143.23526777564766,51.75666026468875],[143.64800744036282,50.747600409541604]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-6.788856573910806,52.260117906292436],[-8.561616583683502,51.6693012558994],[-9.97708574059024,51.820454820353035],[-9.166282517930767,52.86462881124265],[-9.688524542672383,53.88136261658536],[-8.327987433291923,54.66451894796859],[-7.572167934590993,55.13162221945498],[-6.73384701173606,55.1728600124238],[-5.661948614921926,54.554603176483766],[-6.197884894220977,53.86756500916334],[-6.032985398777498,53.15316417094431],[-6.788856573910806,52.260117906292436]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[12.690006137755631,55.60999095318087],[12.089991082414713,54.80001455343802],[11.043543328504313,55.36486379660417],[10.903913608451688,55.779954738988835],[12.370904168353377,56.11140737570892],[12.690006137755631,55.60999095318087]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-153.00631405333692,57.11584219016589],[-154.00509029845813,56.73467682558106],[-154.5164027577701,56.9927489284467],[-154.67099280497115,57.4611957871725],[-153.7627795074415,57.81657461204375],[-153.2287294179212,57.968968410872435],[-152.56479061583514,57.901427313866975],[-152.14114722390644,57.591058661522084],[-153.00631405333692,57.11584219016589]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-3.005004848635195,58.635000108466244],[-4.073828497728016,57.55302480735523],[-3.055001796877661,57.69001902936094],[-1.959280564776833,57.68479970969949],[-2.219988165689387,56.87001740175353],[-3.119003058271119,55.973793036515474],[-2.085009324543051,55.909998480851186],[-1.114991013992238,54.624986477265395],[-0.430484991854115,54.46437612570216],[0.184981316742125,53.32501414653095],[0.469976840831777,52.92999949809189],[1.681530795914824,52.739520168664],[1.559987827164292,52.09999848083609],[1.050561557630999,51.806760565795685],[1.449865349950301,51.28942780212188],[0.550333693045673,50.765738837276075],[-0.78751746255864,50.774988918656305],[-2.489997524414463,50.50001862243124],[-2.956273972983951,50.6968799912471],[-3.617448085942328,50.22835561787272],[-4.542507900399158,50.341837063185665],[-5.245023159191049,49.959999904981174],[-5.776566941745301,50.159677639356914],[-4.309989793301924,51.21000112568916],[-3.414850633142038,51.426008612669165],[-4.984367234710788,51.593466091510976],[-5.267295701508885,51.99140045837467],[-4.222346564134853,52.301355699261364],[-4.770013393564113,52.84000499125554],[-4.579999152026915,53.49500377055509],[-3.092079637047021,53.40444082296355],[-2.945008510744373,53.9849997015466],[-3.630005458989331,54.615012925833014],[-4.844169073903004,54.79097117778693],[-5.082526617849226,55.06160065369937],[-4.719112107756644,55.50847260194328],[-5.047980922862138,55.783985500707445],[-5.58639767091114,55.31114614523682],[-5.644998745130181,56.275014960344805],[-6.149980841486354,56.78500967063346],[-5.786824713555205,57.81884837506456],[-5.009998745127575,58.63001333275005],[-4.211494513353585,58.55084503847905],[-3.005004848635195,58.635000108466244]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-165.5791641917336,59.90998688418756],[-166.1927701487673,59.75444082298907],[-166.848337368822,59.94140615502104],[-167.45527706609008,60.213069159579476],[-166.46779212142465,60.384169826897875],[-165.67442969466367,60.29360687930634],[-165.5791641917336,59.90998688418756]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-79.26582,62.158675],[-79.65752,61.63308],[-80.09956,61.718100000000135],[-80.36215,62.01649],[-80.315395,62.085565000000116],[-79.92939,62.3856],[-79.52002,62.36371],[-79.26582,62.158675]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-81.89824999999988,62.7108],[-83.06857,62.15922000000012],[-83.77461999999989,62.18231],[-83.99367,62.4528],[-83.25048,62.91409000000013],[-81.87699,62.90458],[-81.89824999999988,62.7108]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-171.7316568675394,63.78251536727592],[-171.11443356024535,63.59219106714491],[-170.49111243394074,63.694975490973604],[-169.68250545965358,63.43111562769124],[-168.6894394603007,63.29750621200051],[-168.77194088445472,63.18859813094545],[-169.52943986720516,62.9769314642779],[-170.29055620021597,63.19443756779455],[-170.671385667991,63.37582184513897],[-171.55306311753878,63.31778921167509],[-171.79111060289128,63.40584585230059],[-171.7316568675394,63.78251536727592]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-85.16130794954995,65.6572846543929],[-84.97576371940588,65.21751821558891],[-84.46401201041942,65.37177236598026],[-83.88262630891967,65.10961782496364],[-82.7875768704387,64.76669302027469],[-81.64201371939265,64.45513580998696],[-81.55344031444437,63.97960928003724],[-80.81736121287886,64.0574856635011],[-80.10345130076652,63.725981350348604],[-80.9910198635956,63.41124603947489],[-82.54717810741701,63.65172231714524],[-83.10879757356506,64.1018757188398],[-84.10041663281388,63.5697118190981],[-85.52340471061905,63.0523790554241],[-85.8667687649824,63.63725291610356],[-87.22198320183665,63.54123810490515],[-86.35275977247127,64.03583323837071],[-86.22488644076515,64.82291697860828],[-85.88384782585479,65.73877838811705],[-85.16130794954995,65.6572846543929]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-14.508695441129134,66.45589223903139],[-14.739637417041536,65.80874827744037],[-13.609732224979695,65.12667104761994],[-14.909833746794817,64.36408193628864],[-17.79443803554335,63.678749091233925],[-18.656245896874964,63.496382961675835],[-19.972754685942732,63.643634955491535],[-22.76297197111009,63.96017894149537],[-21.778484259517597,64.40211579045547],[-23.955043911219065,64.89112986923348],[-22.1844026351703,65.08496816676032],[-22.227423265053233,65.37859365504275],[-24.326184047939222,65.61118927678845],[-23.650514695723075,66.26251902939524],[-22.134922451250816,66.4104686550468],[-20.57628373867948,65.73211212835153],[-19.056841600001576,66.2766008571949],[-17.79862382655901,65.99385325790976],[-16.16781897629204,66.5267923041358],[-14.508695441129134,66.45589223903139]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-75.86588,67.14886],[-76.98687,67.09873],[-77.2364,67.58809000000011],[-76.81166,68.14856000000012],[-75.89521,68.28721],[-75.1145,68.01036],[-75.10333,67.58202],[-75.21597,67.44425],[-75.86588,67.14886]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-175.01425,66.58435],[-174.33983,66.3355600000001],[-174.57182,67.06219],[-171.85731,66.91308],[-169.89958,65.97724],[-170.89107,65.54139],[-172.53025,65.43791],[-172.555,64.46079],[-172.95533,64.25269],[-173.89184,64.2826],[-174.65392,64.63125],[-175.98353,64.92288],[-176.20716,65.35667],[-177.22266,65.52024],[-178.35993,65.39052],[-178.90332,65.74044],[-178.68611,66.11211],[-179.88377,65.87456],[-179.43268,65.40411],[-180,64.97970870219845],[-180,68.96363636363645],[-177.55,68.20000000000013],[-174.92825,67.20589],[-175.01425,66.58435]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-95.64768120380043,69.10769035832178],[-96.2695212038006,68.75704035832175],[-97.61740120380057,69.06003035832171],[-98.43180120380055,68.95070035832171],[-99.79740120380055,69.40003035832171],[-98.91740120380055,69.71003035832189],[-98.21826120380061,70.14354035832184],[-97.15740120380048,69.8600303583219],[-96.55740120380045,69.68003035832177],[-96.25740120380044,69.49003035832177],[-95.64768120380043,69.10769035832178]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[180.00000000000014,70.83219920854668],[178.9034250000001,70.78114],[178.7253,71.0988],[180.00000000000014,71.51571433642826],[180.00000000000014,70.83219920854668]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-178.69378,70.89302],[-180,70.83219920854668],[-180,71.51571433642826],[-179.87187,71.55762],[-179.02433,71.55553],[-177.577945,71.26948],[-177.663575,71.13277],[-178.69378,70.89302]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-90.54711914062494,69.49768066406259],[-90.55151367187494,68.47509765625003],[-89.21508789062491,69.25872802734386],[-88.0195922851562,68.61511230468756],[-88.31750488281244,67.87347412109375],[-87.35009765624994,67.19873046875006],[-86.30609130859366,67.92150878906264],[-85.57659912109372,68.7844848632813],[-85.52191162109378,69.88208007812497],[-84.10076904296872,69.80548095703128],[-82.62249755859372,69.65832519531261],[-81.28039550781247,69.16210937500003],[-81.22021484374997,68.66571044921884],[-81.96429443359366,68.13250732421875],[-81.25927734375003,67.5972900390625],[-81.38647460937491,67.11090087890622],[-83.34448242187503,66.41168212890625],[-84.7354125976562,66.25732421875011],[-85.76940917968744,66.55828857421886],[-86.06762695312497,66.05627441406261],[-87.03137207031241,65.21307373046889],[-87.32318115234366,64.77569580078136],[-88.48291015624997,64.09912109375009],[-89.91442871093741,64.03271484375006],[-90.70397949218744,63.610290527343864],[-90.77001953124997,62.96032714843747],[-91.93341064453122,62.83508300781256],[-93.15698242187497,62.024719238281364],[-94.24151611328116,60.898681640625],[-94.62927246093741,60.110290527343835],[-94.68450927734366,58.948913574218835],[-93.2150268554687,58.7821044921875],[-92.7645874023437,57.845703125000085],[-92.29699707031244,57.08709716796881],[-90.89770507812497,57.284729003906335],[-89.03948974609372,56.8516845703125],[-88.03979492187494,56.47167968750014],[-87.32421874999989,55.99908447265625],[-86.07122802734378,55.72387695312503],[-85.01177978515616,55.30267333984389],[-83.36047363281241,55.24487304687514],[-82.27282714843741,55.148315429687585],[-82.4362182617187,54.28228759765625],[-82.125,53.277099609375],[-81.4006958007812,52.15789794921878],[-79.91290283203122,51.208496093750085],[-79.14300537109372,51.533874511718835],[-78.60192871093741,52.56207275390628],[-79.1242065429687,54.14147949218764],[-79.82958984374991,54.66772460937514],[-78.2286987304687,55.136474609375085],[-77.09558105468747,55.8375244140625],[-76.54138183593747,56.5343017578125],[-76.62310791015622,57.20269775390631],[-77.3021850585937,58.05212402343764],[-78.5169067382812,58.80468750000006],[-77.33666992187497,59.85272216796878],[-77.77270507812491,60.757873535156364],[-78.10681152343753,62.31970214843753],[-77.41058349609375,62.55047607421878],[-75.69622802734372,62.27850341796878],[-74.66821289062491,62.181091308593835],[-73.83990478515622,62.44390869140631],[-72.90850830078116,62.1051025390625],[-71.67700195312491,61.52532958984381],[-71.37371826171872,61.13708496093747],[-69.5903930664062,61.061523437500114],[-69.62030029296872,60.221313476562614],[-69.2879028320312,58.95727539062506],[-68.37451171874997,58.801086425781335],[-67.64978027343744,58.212097167968835],[-66.20178222656241,58.76727294921878],[-65.24517822265628,59.870727539062585],[-64.58349609374991,60.33569335937506],[-63.80468749999997,59.44268798828131],[-62.502380371093665,58.167114257812614],[-61.396484375,56.967529296875085],[-61.798583984374915,56.339477539062614],[-60.46850585937494,55.77551269531264],[-59.56958007812494,55.2041015625],[-57.975097656249915,54.94549560546878],[-57.333190917968665,54.62652587890639],[-56.93688964843747,53.7802734375],[-56.15808105468744,53.64752197265625],[-55.756286621093665,53.27050781250006],[-55.68328857421872,52.146728515625085],[-56.409179687499915,51.77069091796875],[-57.126892089843665,51.419677734375114],[-58.77478027343744,51.06427001953131],[-60.03308105468747,50.24291992187503],[-61.72357177734372,50.080505371093864],[-63.86248779296872,50.291076660156364],[-65.36328124999997,50.29827880859381],[-66.39898681640616,50.228881835937585],[-67.23632812499991,49.51147460937503],[-68.51110839843741,49.068481445312614],[-69.95361328125,47.74487304687503],[-71.10449218749997,46.82171630859378],[-70.25518798828116,46.98608398437497],[-68.65002441406247,48.30010986328128],[-66.55242919921875,49.133117675781335],[-65.05621337890616,49.23291015625014],[-64.17102050781241,48.742492675781335],[-65.11547851562503,48.070922851562614],[-64.79852294921872,46.993103027343864],[-64.47210693359366,46.238525390625085],[-63.173278808593665,45.73907470703125],[-61.52069091796869,45.88391113281256],[-60.51812744140622,47.00787353515628],[-60.44860839843747,46.28271484375003],[-59.80279541015622,45.92047119140625],[-61.03979492187497,45.26531982421878],[-63.25469970703122,44.670288085937585],[-64.24658203124994,44.26550292968753],[-65.36407470703116,43.54528808593753],[-66.12341308593744,43.61871337890628],[-66.16168212890622,44.465087890625114],[-64.42547607421866,45.292114257812614],[-66.0260009765625,45.259277343750085],[-67.13739013671872,45.13751220703125],[-66.96459960937497,44.80969238281256],[-68.03247070312494,44.32531738281264],[-69.05999755859372,43.98010253906247],[-70.11608886718747,43.68408203124997],[-70.6900024414062,43.03009033203128],[-70.81488037109366,42.86529541015628],[-70.82501220703116,42.33508300781256],[-70.49499511718747,41.805114746093864],[-70.0800170898437,41.780090332031335],[-70.18499755859366,42.14508056640628],[-69.88488769531244,41.92291259765631],[-69.96502685546872,41.63708496093764],[-70.64001464843744,41.475097656250085],[-71.1203002929687,41.49450683593753],[-71.85998535156247,41.32012939453125],[-72.29498291015616,41.270080566406364],[-72.87640380859372,41.220703125000114],[-73.71002197265622,40.93109130859381],[-72.24121093749991,41.11950683593753],[-71.94500732421866,40.93011474609378],[-73.34490966796866,40.63012695312506],[-73.9819946289062,40.62811279296889],[-73.95227050781247,40.75067138671881],[-74.25671386718741,40.47351074218756],[-73.96240234374991,40.42767333984375],[-74.17840576171866,39.709289550781335],[-74.90600585937494,38.939514160156364],[-74.98040771484372,39.19647216796872],[-75.20001220703128,39.248474121093835],[-75.52807617187503,39.49847412109381],[-75.32000732421872,38.960083007812585],[-75.08349609374997,38.78131103515631],[-75.05670166015622,38.404113769531364],[-75.37738037109366,38.01550292968753],[-75.94018554687497,37.21691894531256],[-76.03118896484375,37.2567138671875],[-75.72198486328122,37.93707275390625],[-76.23278808593747,38.31927490234389],[-76.34997558593747,39.150085449218864],[-76.54272460937497,38.71771240234389],[-76.32928466796872,38.08331298828139],[-76.9600219726562,38.23291015625],[-76.30157470703116,37.918090820312585],[-76.25872802734372,36.96649169921881],[-75.97180175781241,36.897277832031335],[-75.8679809570312,36.55133056640639],[-75.7274780273437,35.550720214843864],[-76.36309814453116,34.80847167968753],[-77.39758300781247,34.51208496093753],[-78.05487060546872,33.925476074218864],[-78.55432128906247,33.86132812500006],[-79.06060791015622,33.49407958984375],[-79.2034912109375,33.158508300781364],[-80.30126953124991,32.50927734375014],[-80.86499023437491,32.03332519531256],[-81.33630371093741,31.44049072265628],[-81.49041748046866,30.730102539062642],[-81.31372070312494,30.03552246093753],[-80.97998046874997,29.180114746093807],[-80.53558349609364,28.472106933593807],[-80.53002929687497,28.040100097656307],[-80.05651855468744,26.880126953125142],[-80.08801269531247,26.205688476562642],[-80.13146972656244,25.816894531250057],[-80.38098144531247,25.20629882812503],[-80.67999267578116,25.080078125000057],[-81.17211914062494,25.201293945312642],[-81.33001708984366,25.640075683593807],[-81.71002197265622,25.870117187500085],[-82.23999023437489,26.73010253906253],[-82.70507812499997,27.49511718750003],[-82.85528564453122,27.88629150390625],[-82.65002441406244,28.550109863281307],[-82.92999267578116,29.100097656250142],[-83.70959472656247,29.93670654296875],[-84.09997558593744,30.09008789062503],[-85.10882568359372,29.63629150390625],[-85.2877807617187,29.68609619140628],[-85.7730102539062,30.152709960937585],[-86.40002441406241,30.400085449218835],[-87.53027343749994,30.27447509765625],[-88.41778564453122,30.384887695312642],[-89.18048095703116,30.31610107421878],[-89.60491943359372,30.176330566406307],[-89.41369628906247,29.894287109375114],[-89.4299926757812,29.488708496093807],[-89.21759033203128,29.29107666015628],[-89.40820312499991,29.159729003906335],[-89.77929687499994,29.307128906250057],[-90.15460205078122,29.11749267578125],[-90.88018798828116,29.148681640625085],[-91.62670898437497,29.67712402343753],[-92.4990844726562,29.552307128906364],[-93.2263793945312,29.783874511718892],[-93.84838867187497,29.713684082031392],[-94.69000244140622,29.48010253906253],[-95.60028076171872,28.73870849609378],[-96.59399414062494,28.307495117187557],[-97.14001464843741,27.830078125000057],[-97.36999511718744,27.38012695312503],[-97.38000488281244,26.690124511718864],[-97.3300170898437,26.210083007812642],[-97.14019775390614,25.86950683593753],[-97.1386108398437,25.86791992187497],[-97.1417846679687,25.865905761718807],[-97.52807617187491,24.99212646484378],[-97.70288085937491,24.27227783203128],[-97.77600097656247,22.932678222656392],[-97.87237548828128,22.44427490234378],[-97.69897460937491,21.898681640625114],[-97.3889770507812,21.41107177734378],[-97.1892700195312,20.635498046875],[-96.52551269531244,19.890930175781307],[-96.29211425781241,19.320495605468835],[-95.90087890624997,18.828125],[-94.83898925781241,18.562683105468835],[-94.4257202148437,18.144287109375142],[-93.54858398437491,18.423889160156392],[-92.78607177734372,18.524902343750057],[-92.03729248046866,18.7047119140625],[-91.40789794921878,18.876098632812614],[-90.7717895507812,19.284118652343892],[-90.53350830078122,19.867492675781307],[-90.45147705078122,20.707519531250085],[-90.27862548828116,20.999877929687557],[-89.60131835937491,21.26171875000003],[-88.54388427734366,21.493713378906335],[-87.65838623046864,21.45892333984375],[-87.05187988281241,21.543518066406364],[-86.81201171874991,21.33148193359372],[-86.84588623046866,20.84991455078128],[-87.38330078124994,20.255493164062614],[-87.62097167968747,19.646484375000114],[-87.4367065429687,19.472473144531307],[-87.58648681640616,19.040100097656335],[-87.83721923828116,18.25988769531247],[-88.09057617187497,18.516723632812585],[-88.29998779296872,18.500122070312585],[-88.29632568359366,18.353271484375085],[-88.10681152343741,18.348693847656335],[-88.12341308593741,18.076721191406364],[-88.28527832031253,17.644287109375057],[-88.19787597656247,17.489501953125142],[-88.30261230468741,17.1317138671875],[-88.23950195312503,17.036071777343864],[-88.35540771484372,16.5308837890625],[-88.55181884765616,16.265502929687614],[-88.73242187499991,16.233703613281392],[-88.93060302734366,15.887329101562642],[-88.60461425781247,15.706481933593864],[-88.51831054687497,15.855529785156278],[-88.22497558593741,15.72772216796875],[-88.12109374999997,15.688720703125114],[-87.90179443359366,15.864501953125028],[-87.61560058593744,15.878906250000114],[-87.52288818359366,15.797302246093892],[-87.36767578124997,15.846923828125],[-86.90319824218741,15.7567138671875],[-86.44091796874997,15.782897949218807],[-86.11920166015628,15.893493652343778],[-86.0018920898437,16.005493164062557],[-85.6832885742187,15.953674316406364],[-85.44396972656241,15.885681152343778],[-85.18237304687491,15.9093017578125],[-84.98370361328122,15.995910644531278],[-84.52697753906247,15.857299804687585],[-84.36822509765616,15.8350830078125],[-84.06298828124994,15.648315429687642],[-83.77398681640616,15.424072265625],[-83.41040039062494,15.270874023437642],[-83.14721679687497,14.995910644531307],[-83.23321533203122,14.899902343749972],[-83.28417968749991,14.676696777343864],[-83.18212890624991,14.310729980468736],[-83.41247558593744,13.9700927734375],[-83.51977539062494,13.567687988281293],[-83.5521850585937,13.127075195312528],[-83.49847412109366,12.869323730468892],[-83.47332763671878,12.419128417968835],[-83.62609863281244,12.320922851562614],[-83.71960449218747,11.893127441406378],[-83.65087890624991,11.629089355468821],[-83.85540771484372,11.373291015625057],[-83.80889892578116,11.103088378906364],[-83.6555786132812,10.938903808593906],[-83.4022827148437,10.395507812499986],[-83.01568603515622,9.993103027343778],[-82.54620361328122,9.566284179687571],[-82.18707275390616,9.207519531250071],[-82.20758056640616,8.9957275390625],[-81.80859375000003,8.950683593750156],[-81.71411132812497,9.032104492187628],[-81.43920898437491,8.786315917968764],[-80.94732666015628,8.858520507812614],[-80.5219116210937,9.111083984375142],[-79.9146118164062,9.312683105468892],[-79.57330322265622,9.611694335937585],[-79.02117919921866,9.552917480468807],[-79.05841064453122,9.454711914062571],[-78.50091552734372,9.420471191406236],[-78.05590820312497,9.2476806640625],[-77.7294921875,8.9468994140625],[-77.35327148437491,8.670471191406378],[-76.83660888671878,8.638671875],[-76.08630371093747,9.336914062500142],[-75.67462158203116,9.44329833984385],[-75.66467285156247,9.77410888671875],[-75.4804077148437,10.619079589843764],[-74.90692138671866,11.0831298828125],[-74.2766723632812,11.10211181640635],[-74.19720458984366,11.31048583984375],[-73.41467285156247,11.227111816406236],[-72.62780761718747,11.73211669921885],[-72.23822021484372,11.955688476562628],[-71.7540893554687,12.437316894531406],[-71.39978027343741,12.376098632812486],[-71.13739013671872,12.11309814453125],[-71.33160400390616,11.776306152343793],[-71.35998535156247,11.540100097656406],[-71.94702148437494,11.423278808593821],[-71.6207885742187,10.969482421875028],[-71.6329956054687,10.446472167968764],[-72.07409667968747,9.865722656250057],[-71.69561767578116,9.072326660156364],[-71.2645874023437,9.137329101562571],[-71.0399780273437,9.860107421875156],[-71.35009765624991,10.211914062500057],[-71.40057373046878,10.969116210937543],[-70.15521240234372,11.375488281250142],[-70.29382324218744,11.846923828125085],[-69.9431762695312,12.162292480468736],[-69.5842895507812,11.459716796875071],[-68.88299560546872,11.443481445312557],[-68.23327636718747,10.885681152343892],[-68.19409179687491,10.554687500000085],[-67.29620361328116,10.545898437500071],[-66.22778320312497,10.648681640625043],[-65.65521240234375,10.200927734375128],[-64.89038085937491,10.077270507812571],[-64.32940673828122,10.389709472656335],[-64.31799316406241,10.641479492187585],[-63.07928466796869,10.701721191406307],[-61.88092041015622,10.715698242187614],[-62.7301025390625,10.420288085937642],[-62.38848876953122,9.948303222656293],[-61.58868408203119,9.87310791015625],[-60.830505371093665,9.381286621093835],[-60.67120361328122,8.580322265625014],[-60.15008544921869,8.602905273437585],[-59.75830078124994,8.367126464843807],[-59.101684570312415,7.99932861328125],[-58.48291015624997,7.347717285156378],[-58.454895019531165,6.832885742187585],[-58.078125,6.809082031250128],[-57.54217529296869,6.321289062500043],[-57.147399902343665,5.973083496093864],[-55.94927978515622,5.772888183593764],[-55.84179687499997,5.953125],[-55.033203124999915,6.025329589843849],[-53.95800781249997,5.756530761718807],[-53.618408203125,5.646484375000057],[-52.882080078125,5.409912109375],[-51.82330322265622,4.565917968750014],[-51.657775878906165,4.156311035156349],[-51.31707763671872,4.203491210937656],[-51.06970214843747,3.650512695312628],[-50.508789062499915,1.901489257812642],[-49.97399902343744,1.736511230468892],[-49.94708251953119,1.046325683593793],[-50.69927978515622,0.223083496093764],[-50.38818359374994,-0.078369140624986],[-48.62048339843747,-0.235412597656207],[-48.58441162109372,-1.237792968749929],[-47.82489013671869,-0.581604003906207],[-46.566589355468665,-0.940979003906236],[-44.90570068359369,-1.551696777343722],[-44.41760253906244,-2.137695312499943],[-44.581604003906165,-2.691284179687429],[-43.418701171874915,-2.383117675781236],[-41.47259521484372,-2.911987304687443],[-39.97857666015625,-2.872985839843707],[-38.500305175781165,-3.700622558593736],[-37.22320556640622,-4.820922851562415],[-36.45288085937494,-5.10937],[-35.5977783203125,-5.149475097656179],[-35.235412597656165,-5.464904785156222],[-34.895996093749915,-6.738220214843693],[-34.72998046874994,-7.343200683593665],[-35.12817382812497,-8.996398925781165],[-35.636901855468665,-9.649291992187429],[-37.0465087890625,-11.040710449218679],[-37.68359374999994,-12.171203613281193],[-38.42388916015622,-13.038085937499929],[-38.67388916015619,-13.057678222656222],[-38.95318603515625,-13.793395996093679],[-38.88232421874997,-15.666992187499943],[-39.161010742187415,-17.208374023437486],[-39.26727294921869,-17.86767578124993],[-39.583496093749915,-18.26220703124993],[-39.76080322265619,-19.59912109374997],[-40.774719238281165,-20.90447998046878],[-40.94470214843744,-21.937316894531207],[-41.75408935546869,-22.370605468749986],[-41.988281249999915,-22.970092773437486],[-43.074707031249915,-22.96771240234365],[-44.64782714843744,-23.35198974609378],[-45.35211181640619,-23.79681396484372],[-46.47210693359369,-24.08898925781253],[-47.64898681640625,-24.88519287109368],[-48.495483398437415,-25.87701416015618],[-48.6409912109375,-26.62371826171865],[-48.47467041015625,-27.175903320312415],[-48.6614990234375,-28.18609619140622],[-48.88842773437494,-28.674072265624957],[-49.58728027343744,-29.224487304687415],[-50.69689941406247,-30.98437],[-51.57617187499994,-31.777709960937457],[-52.256103515624915,-32.24530029296871],[-52.71209716796869,-33.19659423828121],[-53.37359619140622,-33.76831054687504],[-53.806396484374915,-34.39678955078121],[-54.93579101562497,-34.95257568359378],[-55.67401123046869,-34.75268554687503],[-56.21520996093744,-34.85980224609371],[-57.13970947265628,-34.430480957031236],[-57.81781005859372,-34.462524414062486],[-58.42700195312497,-33.90948486328122],[-58.495422363281165,-34.43151855468747],[-57.22576904296872,-35.288024902343736],[-57.36230468749994,-35.97741699218746],[-56.73748779296872,-36.4130859374999],[-56.78820800781247,-36.90148925781243],[-57.749084472656165,-38.18389892578118],[-59.23181152343747,-38.7202148437499],[-61.237426757812415,-38.92840576171865],[-62.335876464843665,-38.82769775390615],[-62.12579345703119,-39.42407226562503],[-62.33050537109372,-40.17260742187503],[-62.145996093749915,-40.676879882812415],[-62.74578857421878,-41.028686523437415],[-63.77050781249994,-41.16680908203119],[-64.7321166992187,-40.80261230468754],[-65.11798095703122,-41.064270019531165],[-64.97857666015622,-42.0579833984374],[-64.30340576171866,-42.35900878906254],[-63.75592041015628,-42.04370117187493],[-63.45800781249994,-42.56311035156246],[-64.37878417968747,-42.873474121093665],[-65.18182373046866,-43.49530029296869],[-65.32879638671866,-44.501281738281236],[-65.565185546875,-45.03680419921868],[-66.50988769531247,-45.03961181640621],[-67.29382324218741,-45.551879882812415],[-67.58050537109366,-46.30169677734371],[-66.59698486328116,-47.03387451171865],[-65.64099121093747,-47.23608398437493],[-65.98510742187491,-48.13330078124993],[-67.16619873046872,-48.69732666015621],[-67.8161010742187,-49.869689941406214],[-68.72869873046872,-50.264221191406214],[-69.13848876953122,-50.73248291015622],[-68.81549072265622,-51.77111816406246],[-68.1500244140625,-52.34997558593753],[-68.57147216796866,-52.29937744140623],[-69.46130371093747,-52.291870117187415],[-69.9426879882812,-52.537902832031236],[-70.84509277343747,-52.899169921874915],[-71.00628662109366,-53.83319091796866],[-71.42980957031241,-53.85638427734367],[-72.55792236328116,-53.53137207031242],[-73.70269775390625,-52.835083007812415],[-74.94677734374991,-52.26269531249992],[-75.26000976562494,-51.62927246093743],[-74.97662353515616,-51.043395996093736],[-75.47967529296872,-50.37829589843748],[-75.60797119140616,-48.673706054687486],[-75.18267822265622,-47.71191406249997],[-74.12658691406247,-46.93920898437494],[-75.64440917968741,-46.64758300781253],[-74.6920776367187,-45.763977050781165],[-74.35168457031241,-44.103027343749986],[-73.2402954101562,-44.45489501953128],[-72.71771240234372,-42.38330078124993],[-73.38891601562497,-42.11749267578115],[-73.70129394531241,-43.36578369140618],[-74.33190917968747,-43.22497558593747],[-74.01788330078122,-41.79479980468743],[-73.67712402343747,-39.94219970703128],[-73.21759033203116,-39.25860595703128],[-73.50549316406241,-38.28289794921869],[-73.58801269531244,-37.15631103515618],[-73.1666870117187,-37.123779296874915],[-72.55310058593744,-35.50878906249997],[-71.86169433593747,-33.90911865234365],[-71.43847656249997,-32.41888427734372],[-71.668701171875,-30.92059326171865],[-71.36999511718747,-30.09570312500003],[-71.48980712890616,-28.86138916015622],[-70.90509033203122,-27.640380859375043],[-70.72497558593741,-25.70587158203122],[-70.4039916992187,-23.628906249999915],[-70.09118652343744,-21.39331054687493],[-70.16442871093744,-19.756408691406165],[-70.37249755859366,-18.34790039062497],[-71.37518310546866,-17.773803710937486],[-71.46197509765616,-17.363403320312457],[-73.44451904296872,-16.35937],[-75.23779296874994,-15.265686035156193],[-76.0092163085937,-14.649291992187415],[-76.4234008789062,-13.823181152343707],[-76.25921630859366,-13.534973144531207],[-77.10620117187491,-12.222717285156207],[-78.09210205078116,-10.3776855468749],[-79.03692626953128,-8.386596679687486],[-79.44592285156241,-7.930786132812443],[-79.76049804687494,-7.194274902343707],[-80.53747558593747,-6.541687011718707],[-81.25,-6.136779785156236],[-80.92626953124994,-5.690490722656179],[-81.41088867187491,-4.736694335937486],[-81.09960937499991,-4.036376953124957],[-80.30249023437497,-3.404785156249986],[-79.7702026367187,-2.657470703124972],[-79.9865112304687,-2.220703124999986],[-80.36871337890616,-2.685180664062429],[-80.96771240234366,-2.246887207031193],[-80.76477050781241,-1.965026855468736],[-80.93359375000003,-1.057373046874943],[-80.58331298828128,-0.906677246093679],[-80.39929199218747,-0.283691406249972],[-80.02081298828116,0.360473632812571],[-80.09057617187497,0.768493652343864],[-79.54278564453122,0.982910156250142],[-78.85528564453122,1.380920410156335],[-78.99090576171872,1.691284179687628],[-78.61779785156244,1.766479492187486],[-78.66210937499991,2.267272949218849],[-78.42761230468741,2.629699707031378],[-77.93151855468744,2.696716308593764],[-77.51037597656244,3.325073242187585],[-77.12768554687494,3.849670410156406],[-77.4962768554687,4.087707519531406],[-77.30761718749991,4.668090820312628],[-77.53320312499997,5.582885742187656],[-77.31878662109378,5.845275878906349],[-77.47668457031241,6.691101074218778],[-77.88159179687497,7.223876953125071],[-78.21490478515622,7.512329101562628],[-78.42907714843747,8.052124023437642],[-78.18200683593747,8.319274902343835],[-78.43548583984372,8.387695312500028],[-78.62207031249994,8.718078613281307],[-79.12030029296872,8.996093749999986],[-79.55780029296866,8.932495117187585],[-79.76049804687494,8.584472656250156],[-80.16448974609372,8.333312988281264],[-80.38262939453116,8.298522949218864],[-80.48071289062494,8.090270996093892],[-80.00360107421872,7.547485351562514],[-80.27661132812503,7.419677734375],[-80.4210815429687,7.271484375],[-80.88641357421872,7.220520019531392],[-81.05950927734372,7.817871093750114],[-81.18969726562497,7.647888183593835],[-81.51947021484372,7.706726074218736],[-81.72131347656241,8.108886718750071],[-82.13140869140628,8.17547607421885],[-82.39086914062491,8.29248046875],[-82.82000732421872,8.290893554687614],[-82.85089111328122,8.073913574218764],[-82.96569824218744,8.225097656250128],[-83.50842285156253,8.4468994140626],[-83.71148681640622,8.656921386718878],[-83.59631347656241,8.830505371093892],[-83.63262939453122,9.051513671875085],[-83.90991210937494,9.2908935546876],[-84.30340576171878,9.487487792968793],[-84.64758300781253,9.615478515625057],[-84.71337890624994,9.908081054687571],[-84.97558593749997,10.08673095703125],[-84.91137695312494,9.796081542968778],[-85.11090087890622,9.557128906250071],[-85.33947753906253,9.834472656250085],[-85.66070556640622,9.93328857421885],[-85.7974243164062,10.134887695312585],[-85.79168701171866,10.439270019531307],[-85.65930175781241,10.754272460937656],[-85.9417114257812,10.895324707031321],[-85.71252441406241,11.088500976562528],[-86.05841064453116,11.403503417968878],[-86.52587890624997,11.8068847656251],[-86.74591064453114,12.14410400390635],[-87.16748046875003,12.458312988281236],[-87.66851806640616,12.909912109375114],[-87.55749511718741,13.064697265625028],[-87.39239501953122,12.914123535156378],[-87.31658935546864,12.984680175781364],[-87.48937988281247,13.297485351562614],[-87.79309082031253,13.384521484374986],[-87.9041137695312,13.149108886718878],[-88.48327636718744,13.163879394531278],[-88.84320068359372,13.25970458984385],[-89.25671386718747,13.458679199218878],[-89.81237792968741,13.520690917968906],[-90.09558105468747,13.735473632812486],[-90.60858154296866,13.909912109375085],[-91.23242187500003,13.927917480468736],[-91.68969726562494,14.126281738281236],[-92.22772216796872,14.538879394531264],[-93.35937,15.615478515625114],[-93.87518310546872,15.940307617187614],[-94.69158935546878,16.20111083984375],[-95.25018310546872,16.12829589843753],[-96.05340576171866,15.752075195312642],[-96.55737304687494,15.65350341796875],[-97.26361083984366,15.9171142578125],[-98.01300048828114,16.10729980468753],[-98.94769287109374,16.566101074218864],[-99.6973876953124,16.706298828125114],[-100.82952880859378,17.171081542968835],[-101.66607666015618,17.649108886718864],[-101.91851806640618,17.916076660156307],[-102.47808837890622,17.97589111328125],[-103.50097656249996,18.292297363281392],[-103.9174804687499,18.748718261718892],[-104.99200439453116,19.316284179687585],[-105.49298095703118,19.946899414062614],[-105.73138427734366,20.43408203125],[-105.39770507812491,20.531677246093864],[-105.50061035156243,20.81689453125],[-105.27069091796878,21.0762939453125],[-105.26580810546866,21.42211914062503],[-105.60308837890622,21.87127685546875],[-105.69342041015615,22.269104003906392],[-106.02868652343744,22.77368164062503],[-106.90991210937497,23.767883300781364],[-107.91540527343741,24.548889160156307],[-108.40191650390621,25.172302246093892],[-109.26019287109368,25.5806884765625],[-109.44409179687496,25.824890136718807],[-109.2916259765624,26.442871093750057],[-109.80139160156241,26.67608642578125],[-110.39172363281243,27.16210937500003],[-110.6409912109374,27.859924316406392],[-111.17889404296878,27.941284179687557],[-111.75958251953118,28.46807861328128],[-112.22821044921868,28.954528808593864],[-112.27178955078116,29.266906738281307],[-112.80950927734371,30.021118164062614],[-113.16381835937497,30.786926269531364],[-113.14868164062491,31.171081542968892],[-113.87188720703128,31.56768798828128],[-114.20568847656246,31.524108886718864],[-114.77642822265618,31.799682617187585],[-114.93670654296874,31.393493652343892],[-114.77117919921866,30.913696289062557],[-114.67388916015615,30.1627197265625],[-114.3309936523437,29.750488281250142],[-113.58880615234366,29.061706542968835],[-113.42401123046866,28.826293945312557],[-113.27191162109368,28.75488281249997],[-113.14001464843741,28.411315917968864],[-112.96228027343744,28.42529296874997],[-112.76159667968741,27.78027343750003],[-112.45788574218746,27.525878906250057],[-112.2448730468749,27.171875],[-111.61651611328116,26.66290283203122],[-111.28460693359372,25.73272705078128],[-110.98779296874994,25.294677734375085],[-110.71002197265624,24.826110839843892],[-110.65502929687493,24.298706054687614],[-110.17279052734371,24.265686035156364],[-109.77178955078122,23.81127929687503],[-109.40911865234365,23.364685058593892],[-109.43341064453121,23.185729980468835],[-109.85418701171872,22.81829833984378],[-110.03131103515616,22.823120117187557],[-110.29498291015624,23.43109130859372],[-110.94952392578118,24.001098632812557],[-111.67059326171866,24.484497070312642],[-112.18200683593747,24.738525390625114],[-112.1489868164062,25.47027587890628],[-112.30072021484371,26.012084960937642],[-112.77728271484371,26.32208251953125],[-113.46459960937497,26.768310546875085],[-113.59667968749996,26.639526367187557],[-113.84887695312491,26.900085449218835],[-114.4656982421874,27.14208984375003],[-115.0551147460937,27.722717285156307],[-114.98217773437496,27.798278808593835],[-114.5703124999999,27.74151611328125],[-114.19927978515628,28.115112304687614],[-114.16198730468753,28.56610107421878],[-114.93182373046871,29.279479980468807],[-115.51867675781243,29.556274414062585],[-115.8873901367187,30.180908203125057],[-116.25830078124997,30.836486816406335],[-116.72149658203122,31.635681152343864],[-117.1276855468749,32.5352783203125],[-117.29589843749997,33.046325683593835],[-117.94390869140621,33.62127685546889],[-118.41058349609366,33.74090576171875],[-118.51989746093753,34.027893066406364],[-119.08099365234374,34.078125],[-119.43878173828121,34.348510742187614],[-120.3677978515624,34.447082519531335],[-120.6228027343749,34.60852050781264],[-120.74432373046866,35.15692138671875],[-121.71459960937493,36.16168212890639],[-122.54748535156246,37.551879882812585],[-122.51202392578122,37.78350830078122],[-122.95318603515622,38.11370849609378],[-123.72711181640615,38.951721191406364],[-123.8651123046874,39.767089843750114],[-124.39801025390622,40.31329345703131],[-124.17877197265615,41.142089843750085],[-124.21368408203115,41.99969482421889],[-124.53277587890615,42.76611328125003],[-124.14208984375001,43.70849609374997],[-123.89892578124996,45.52349853515639],[-124.0795898437499,46.864685058593835],[-124.3956909179687,47.72027587890628],[-124.68719482421866,48.18450927734378],[-124.56610107421878,48.379699707031335],[-123.11999511718749,48.04010009765625],[-122.5872802734374,47.09613037109389],[-122.34002685546876,47.36010742187514],[-122.5,48.18011474609375],[-122.84002685546866,49.00012207031256],[-122.97418212890615,49.002685546875114],[-124.91021728515622,49.98468017578128],[-125.62457275390618,50.41668701171878],[-127.43560791015628,50.830688476562614],[-127.99267578124996,51.715881347656364],[-127.85028076171879,52.32971191406247],[-129.12969970703116,52.75549316406253],[-129.30517578124991,53.56170654296878],[-130.5148925781249,54.287719726562585],[-130.53607177734366,54.80267333984381],[-131.08581542968744,55.17889404296889],[-131.96722412109372,55.497924804687585],[-132.2499999999999,56.37011718750006],[-133.5391845703124,57.178894042968864],[-134.0780029296874,58.12310791015625],[-135.03820800781253,58.187683105468835],[-136.62799072265628,58.212280273437585],[-137.79998779296872,58.500122070312614],[-139.8677978515625,59.537902832031335],[-140.82519531250003,59.727478027343835],[-142.57440185546866,60.08447265625003],[-143.9588012695312,59.99932861328139],[-145.9254760742187,60.45867919921875],[-147.11437988281244,60.884704589843864],[-148.2243041992187,60.67309570312503],[-148.01800537109378,59.97827148437506],[-148.5708007812499,59.914306640625],[-149.72778320312506,59.70568847656253],[-150.6082153320313,59.36828613281256],[-151.7163085937499,59.155883789062614],[-151.859375,59.7451171875],[-151.4097290039062,60.72589111328125],[-150.3469238281249,61.03369140625014],[-150.62109375000006,61.284484863281364],[-151.89581298828125,60.72729492187506],[-152.5783081054687,60.06170654296889],[-154.0191040039063,59.35028076171872],[-153.28747558593747,58.86468505859375],[-154.23248291015614,58.146484375000085],[-155.30749511718744,57.7279052734375],[-156.3082885742187,57.42291259765622],[-156.5560913085938,56.98010253906256],[-158.1171874999999,56.46368408203139],[-158.4332885742187,55.99407958984389],[-159.60327148437506,55.56671142578128],[-160.2896728515625,55.643676757812614],[-161.22302246093741,55.36468505859372],[-162.23779296874997,55.02429199218756],[-163.06939697265622,54.68988037109375],[-164.78558349609366,54.404296875000114],[-164.94219970703128,54.572326660156364],[-163.8483276367187,55.03948974609375],[-162.86999511718747,55.34808349609372],[-161.80419921875,55.895080566406364],[-160.56359863281256,56.00811767578131],[-160.07049560546864,56.41809082031264],[-158.6843872070312,57.01672363281256],[-158.46112060546878,57.2169189453125],[-157.72277832031244,57.57012939453139],[-157.55029296874997,58.32830810546889],[-157.0416870117187,58.91888427734378],[-158.19470214843747,58.615905761718864],[-158.51721191406244,58.78790283203131],[-159.05859374999994,58.42431640625003],[-159.7116088867188,58.93151855468756],[-159.98120117187494,58.57269287109375],[-160.35528564453125,59.07110595703128],[-161.35498046875006,58.6708984375],[-161.9688110351562,58.67169189453128],[-162.05499267578114,59.26690673828139],[-161.87408447265614,59.63372802734375],[-162.51800537109364,59.98968505859378],[-163.81829833984378,59.798095703125114],[-164.66217041015625,60.26751708984372],[-165.3463745117187,60.50750732421875],[-165.3507690429687,61.073913574218864],[-166.1213989257812,61.50012207031253],[-165.73437,62.075073242187614],[-164.919189453125,62.63311767578131],[-164.5625,63.14648437499997],[-163.7532958984374,63.219482421875114],[-163.06719970703122,63.05950927734372],[-162.26049804687506,63.54187011718747],[-161.53442382812494,63.45587158203125],[-160.7725219726562,63.766113281250085],[-160.9583129882812,64.22290039062509],[-161.51800537109375,64.40289306640628],[-160.77770996093744,64.78869628906247],[-161.39190673828114,64.77728271484375],[-162.45300292968744,64.55950927734378],[-162.75781250000006,64.33868408203134],[-163.54638671874994,64.55908203125],[-164.96081542968747,64.44708251953139],[-166.42529296874997,64.68670654296878],[-166.84497070312503,65.08892822265622],[-168.11047363281241,65.67010498046875],[-166.70520019531247,66.08831787109386],[-164.47467041015616,66.57672119140628],[-163.6525268554687,66.57672119140628],[-163.78851318359375,66.07727050781261],[-161.67779541015622,66.11608886718753],[-162.48968505859364,66.73547363281259],[-163.7197265624999,67.1165161132813],[-164.430908203125,67.61627197265634],[-165.39019775390616,68.0429077148438],[-166.76440429687497,68.35888671874997],[-166.20471191406247,68.8831176757813],[-164.4307861328124,68.91552734375006],[-163.16857910156247,69.37109375000014],[-162.93048095703116,69.85809326171875],[-161.9088745117188,70.33331298828136],[-160.9348144531249,70.4476928710938],[-159.0391845703125,70.89172363281256],[-158.1196899414062,70.82470703124997],[-156.5808105468749,71.35791015625009],[-155.06781005859364,71.1478881835938],[-154.34417724609375,70.69647216796886],[-153.9000244140625,70.89007568359386],[-152.21002197265614,70.830078125],[-152.2700195312499,70.60009765625006],[-150.73999023437506,70.43011474609378],[-149.71997070312506,70.5300903320313],[-147.61328124999994,70.21411132812511],[-145.6900024414062,70.12011718749997],[-144.9199829101562,69.99011230468753],[-143.58941650390625,70.15252685546889],[-142.07250976562503,69.85192871093764],[-140.98590087890628,69.71209716796886],[-139.12048339843741,69.4711303710938],[-137.54638671874994,68.99011230468756],[-136.50360107421866,68.89807128906264],[-135.62567138671878,69.3151245117188],[-134.4146118164063,69.62750244140628],[-132.92919921874997,69.50531005859384],[-131.4312744140624,69.94451904296878],[-129.7946777343749,70.19372558593764],[-129.10772705078122,69.779296875],[-128.36151123046866,70.01287841796886],[-128.13818359375003,70.48388671875],[-127.44708251953121,70.37731933593756],[-125.75628662109378,69.48071289062509],[-124.42480468749997,70.15850830078128],[-124.28961181640616,69.39971923828122],[-123.06109619140618,69.56372070312511],[-122.68341064453115,69.85552978515636],[-121.47229003906253,69.79791259765634],[-119.94281005859371,69.37792968750011],[-117.60260009765622,69.0112915039063],[-116.22637939453116,68.84149169921878],[-115.24688720703128,68.90588378906264],[-113.89788818359366,68.39892578124997],[-115.30480957031247,67.90270996093753],[-113.49719238281244,67.68829345703125],[-110.7979125976562,67.80609130859386],[-109.94610595703121,67.98107910156253],[-108.88018798828121,67.38153076171889],[-107.79241943359371,67.88751220703134],[-108.8129882812499,68.31170654296884],[-108.16717529296866,68.65393066406264],[-106.95001220703118,68.70007324218761],[-106.15002441406247,68.80010986328128],[-105.34277343749991,68.561279296875],[-104.33789062499993,68.0181274414063],[-103.22106933593744,68.09790039062511],[-101.45428466796878,67.64691162109378],[-99.90197753906243,67.80572509765639],[-98.44317626953122,67.78167724609386],[-98.55859374999997,68.4039306640625],[-97.66949462890616,68.57867431640628],[-96.11987304687491,68.239501953125],[-96.12579345703116,67.2935180664063],[-95.48937988281247,68.09069824218747],[-94.6849975585937,68.0639038085938],[-94.23278808593744,69.06909179687509],[-95.30407714843747,69.6857299804688],[-96.47131347656241,70.08990478515634],[-96.39111328124991,71.19488525390636],[-95.20880126953122,71.92047119140622],[-93.88989257812491,71.76007080078122],[-92.87811279296872,71.3187255859375],[-91.51959228515622,70.1912841796875],[-92.40692138671864,69.70007324218761],[-90.54711914062494,69.49768066406259]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-114.16717,73.12145],[-114.66634,72.65277],[-112.44102,72.9554],[-111.05039,72.4504],[-109.92035,72.96113000000011],[-109.00654,72.63335],[-108.18835,71.65089],[-107.68599,72.06548],[-108.39639,73.08953],[-107.51645,73.23598],[-106.52259,73.07601],[-105.40246,72.67259],[-104.77484,71.6984],[-104.46476,70.99297],[-102.78537,70.49776],[-100.98078,70.0243200000001],[-101.08929,69.58447],[-102.73116,69.50402],[-102.09329,69.11962],[-102.4302399999999,68.75282],[-104.24,68.91],[-105.96,69.18],[-107.12254,69.11922],[-109,68.78000000000011],[-111.9668,68.60446],[-113.3132,68.53554],[-113.85496,69.00744],[-115.22,69.28],[-116.10794,69.16821],[-117.34,69.96],[-116.67473,70.06655],[-115.13112,70.2373],[-113.72141,70.19237],[-112.4161,70.3663800000001],[-114.35,70.6],[-116.48684,70.52045],[-117.9048,70.54056],[-118.43238,70.9092],[-116.11311,71.30918],[-117.65568,71.2952],[-119.40199,71.55859],[-118.56267,72.30785],[-117.86642,72.70594],[-115.18909,73.31459],[-114.16717,73.12145]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-104.5,73.42],[-105.38,72.76],[-106.94,73.46],[-106.6,73.6],[-105.26,73.64],[-104.5,73.42]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-76.34,73.10268498995302],[-76.25140380859375,72.82638549804688],[-77.31443786621091,72.85554504394528],[-78.39167022705081,72.87665557861328],[-79.48625183105466,72.74220275878909],[-79.77583312988284,72.80290222167966],[-80.87609863281244,73.3331832885743],[-80.83388519287107,73.69318389892578],[-80.35305786132812,73.75971984863278],[-78.06443786621094,73.65193176269534],[-76.34,73.10268498995302]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-86.56217851433405,73.15744700793854],[-85.77437130404456,72.53412588163383],[-84.85011247428815,73.34027822538704],[-82.31559017610107,73.75095083281067],[-80.60008765330755,72.71654368762412],[-80.74894161652449,72.06190664335068],[-78.77063859731078,72.35217316353425],[-77.82462398955951,72.74961660429105],[-75.60584469267573,72.2436784939375],[-74.22861609566499,71.7671442735579],[-74.09914079455771,71.33084015571765],[-72.24222571479757,71.55692454699451],[-71.20001542833512,70.92001251899723],[-68.7860542466849,70.52502370877434],[-67.91497046575685,70.1219475368977],[-66.96903337265417,69.18608734809189],[-68.80512285020055,68.72019847276442],[-66.44986609563395,68.06716339789202],[-64.86231441919514,67.84753856065171],[-63.4249344549967,66.92847321234066],[-61.851981370680505,66.86212067327793],[-62.16317684594222,66.16025136988961],[-63.9184443833841,64.99866852483294],[-65.14886023625374,65.42603261988668],[-66.72121904159854,66.38804108343228],[-68.01501603867396,66.26272573512449],[-68.14128740097925,65.68978913030446],[-67.08964616562332,65.108455105237],[-65.73208045109968,64.6484056667586],[-65.3201676093012,64.38273712834615],[-64.6694062974496,63.392926744227566],[-65.01380388045891,62.674185085695996],[-66.27504472519038,62.945098781986076],[-68.78318620469264,63.74567007105182],[-67.36968075221316,62.88396556258479],[-66.32829728866713,62.280074774822054],[-66.16556820338016,61.93089712182589],[-68.87736650254456,62.3301492377129],[-71.02343705919392,62.91070811629584],[-72.23537858751908,63.397836005295176],[-71.88627844917121,63.67998932560894],[-73.37830624051841,64.19396312118391],[-74.83441891142269,64.67907562932379],[-74.81850257027665,64.38909332951795],[-77.70997982452013,64.22954234481679],[-78.55594885935409,64.57290639918014],[-77.89728105336204,65.3091922064747],[-76.01827429879711,65.32696889918324],[-73.95979529488264,65.45476471624099],[-74.29388342964955,65.81177134872931],[-73.94491248238265,66.31057811142674],[-72.65116716173941,67.28457550726387],[-72.926059943316,67.72692576768236],[-73.31161780464575,68.06943716091283],[-74.84330725777673,68.55462718370129],[-76.86910091826667,68.89473562283035],[-76.22864905465727,69.14776927354751],[-77.28736996123703,69.76954010688328],[-78.16863399932652,69.82648753526888],[-78.95724219431673,70.16688019477542],[-79.49245500356366,69.87180776638891],[-81.30547095409179,69.74318512641435],[-84.94470618359858,69.9666340196444],[-87.06000342481781,70.26000112576537],[-88.68171322300142,70.41074127876081],[-89.51341956252304,70.7620376654809],[-88.46772111688077,71.21818553332133],[-89.8881512112876,71.22255219184996],[-90.20516028518193,72.23507436796072],[-89.43657670770506,73.12946421985245],[-88.40824154331281,73.53788890247131],[-85.82615108920103,73.80381582304523],[-86.56217851433405,73.15744700793854]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-100.35642,73.84389],[-99.16387,73.63339],[-97.38,73.76],[-97.12,73.47],[-98.05359,72.99052],[-96.54,72.56],[-96.72,71.66],[-98.35966,71.27285],[-99.32286,71.35639],[-100.01482,71.73827],[-102.5,72.51],[-102.48,72.83],[-100.43836,72.70588],[-101.54,73.36],[-100.35642,73.84389]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[143.60385,73.21244],[142.08763,73.20544],[140.038155,73.31692],[139.86312,73.36983],[140.81171,73.76506000000012],[142.06207,73.85758],[143.48283,73.47525],[143.60385,73.21244]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-93.19629553910013,72.77199249947327],[-94.26904659704718,72.02459625923598],[-95.40985551632266,72.06188080513468],[-96.03374508338246,72.9402768012319],[-96.01826799191102,73.4374299180958],[-95.49579342322394,73.86241689726418],[-94.50365759965243,74.13490672473921],[-92.42001217321177,74.10002513294228],[-90.5097928535425,73.85673248971204],[-92.00396521682981,72.96624420845859],[-93.19629553910013,72.77199249947327]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-120.46,71.4],[-123.09219,70.90164000000013],[-123.62,71.34],[-125.92896,71.86868],[-125.59271,72.19452],[-124.80729,73.02256],[-123.94,73.68],[-124.91775,74.29275],[-121.53788,74.44893],[-120.10978,74.24135],[-117.55564,74.18577],[-116.58442,73.89607],[-115.51081,73.47519],[-116.76794,73.22292],[-119.22,72.52],[-120.46,71.82000000000014],[-120.46,71.4]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[150.73167,75.08406],[149.575925,74.68892],[147.977465,74.778355],[146.11919,75.17298],[146.358485,75.49682],[148.22223,75.345845],[150.73167,75.08406]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-93.61275590694041,74.97999726022442],[-94.15690873897384,74.59234650338686],[-95.6086805895657,74.66686391875186],[-96.82093217648449,74.92762319609659],[-96.28858740922982,75.37782827422336],[-94.85081987178924,75.64721751576099],[-93.97774654821794,75.29648956979605],[-93.61275590694041,74.97999726022442]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[145.086285,75.56262],[144.3,74.82],[140.61381,74.84768],[138.95544,74.61148],[136.97439,75.26167],[137.51176,75.94917],[138.831075,76.13676],[141.471615,76.09289],[145.086285,75.56262]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-98.5,76.72],[-97.735585,76.25656000000012],[-97.704415,75.74344],[-98.16,75],[-99.80874,74.89744],[-100.88366,75.0573600000001],[-100.86292,75.64075],[-102.50209,75.5638],[-102.56552,76.3366],[-101.48973,76.30537],[-99.98349,76.64634],[-98.57699,76.58859],[-98.5,76.72]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-108.21141,76.20168],[-107.8194299999999,75.84552],[-106.92893,76.01282],[-105.881,75.9694],[-105.70498,75.47951],[-106.31347,75.00527],[-109.7,74.85],[-112.22307,74.41696],[-113.74381,74.39427],[-113.87135,74.72029],[-111.79421,75.1625],[-116.31221,75.04343000000011],[-117.7104,75.2222],[-116.34602,76.19903],[-115.40487,76.47887],[-112.59056,76.14134],[-110.81422,75.54919],[-109.0671,75.47321],[-110.49726,76.42982],[-109.5811,76.79417],[-108.54859,76.67832],[-108.21141,76.20168]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[57.5356925799924,70.72046397570224],[56.94497928246395,70.63274323188668],[53.6773751157842,70.76265778266855],[53.41201663596544,71.20666168892029],[51.601894565645665,71.4747590196504],[51.45575361512422,72.01488108996514],[52.47827518088363,72.22944163684105],[52.44416873557097,72.77473135038477],[54.42761355979761,73.62754751249767],[53.50828982932521,73.74981395130015],[55.902458937407715,74.62748647734543],[55.631932814359715,75.08141225859717],[57.86864383324885,75.60939036732321],[61.170044386647504,76.25188345000822],[64.49836836127022,76.43905548776928],[66.21097700385522,76.80978221303121],[68.15705976753478,76.939696763813],[68.85221113472514,76.54481130645453],[68.18057254422766,76.23364166940902],[64.63732628770308,75.73775462513623],[61.583507521414816,75.26088450794688],[58.47708214705338,74.30905630156283],[56.98678551618801,73.33304352486616],[55.4193359719109,72.37126760526607],[55.62283776227642,71.54059479439042],[57.5356925799924,70.72046397570224]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-94.68408586299947,77.09787832305838],[-93.57392106807305,76.77629588490609],[-91.60502315953664,76.7785179714947],[-90.74184587274922,76.44959747995674],[-90.9696614245079,76.07401317005946],[-89.82223792189919,75.84777374948573],[-89.1870828925999,75.61016551380763],[-87.83827633334971,75.56618886992723],[-86.37919226758859,75.48242137318218],[-84.78962521029052,75.69920400664651],[-82.75344458690998,75.78431509063117],[-81.12853084992429,75.713983466282],[-80.05751095245915,75.3368488634159],[-79.83393286814842,74.9231273464872],[-80.45777075877592,74.65730377877779],[-81.94884253612562,74.44245901152442],[-83.22889360221143,74.56402781849087],[-86.09745235873322,74.41003205026115],[-88.15035030796034,74.39230703398508],[-89.7647220527584,74.51555532500123],[-92.42244096552943,74.83775788034109],[-92.76828548864273,75.38681997344216],[-92.88990597204176,75.88265534128274],[-93.89382402217592,76.31924367950063],[-95.96245744503582,76.44138092722244],[-97.12137895382958,76.7510777859477],[-96.74512285031227,77.16138865834515],[-94.68408586299947,77.09787832305838]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-116.19858659550735,77.64528677032621],[-116.33581336145849,76.87696157501065],[-117.1060505847688,76.53003184681921],[-118.04041215703825,76.48117178008718],[-119.8993175868857,76.05321340606199],[-121.4999950771265,75.9000186225328],[-122.85492448615908,76.11654287383578],[-122.85492529360323,76.11654287383578],[-121.15753536032825,76.86450755482835],[-119.10393897182115,77.51221995717464],[-117.57013078496597,77.4983189968882],[-116.19858659550735,77.64528677032621]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[106.97027587890628,76.97430419921875],[107.24011230468759,76.4801025390625],[108.15393066406259,76.72332763671878],[111.07727050781253,76.71008300781253],[113.33148193359378,76.22229003906256],[114.13427734375003,75.84771728515625],[113.88549804687509,75.327880859375],[112.77929687500003,75.03192138671872],[110.15130615234384,74.47668457031256],[109.40008544921884,74.18011474609372],[110.64007568359378,74.04010009765622],[112.11932373046878,73.78771972656253],[113.01947021484384,73.97692871093753],[113.52972412109378,73.3350830078125],[113.96887207031253,73.5949096679688],[115.56787109375009,73.75292968750003],[118.77630615234384,73.58770751953125],[119.02008056640634,73.1201171875],[123.20068359375009,72.97131347656247],[123.25787353515628,73.73510742187506],[125.38012695312509,73.56011962890622],[126.97650146484384,73.56549072265625],[128.59130859375003,73.03869628906253],[129.05169677734384,72.398681640625],[128.46008300781253,71.9801025390625],[129.71612548828134,71.193115234375],[131.28869628906253,70.78710937500006],[132.25347900390628,71.83630371093753],[133.85772705078134,71.38647460937503],[135.56207275390628,71.6552734375],[137.49768066406253,71.34771728515625],[138.23413085937509,71.62811279296875],[139.86987304687509,71.4879150390625],[139.14788818359378,72.41632080078125],[140.46807861328128,72.84948730468753],[149.50012207031253,72.20007324218756],[150.35131835937509,71.6065063476563],[152.96887207031259,70.84228515625],[157.00689697265628,71.031494140625],[158.99792480468759,70.86669921875],[159.83032226562503,70.45330810546878],[159.70867919921884,69.72210693359378],[160.94067382812503,69.43731689453125],[162.27911376953134,69.64208984375003],[164.05249023437509,69.66827392578122],[165.94049072265634,69.47210693359372],[167.83569335937509,69.58270263671878],[169.57769775390634,68.69390869140622],[170.81689453125009,69.01367187499997],[170.00830078125003,69.65289306640628],[170.45349121093753,70.09710693359378],[173.64392089843764,69.81750488281256],[175.72412109374997,69.87731933593747],[178.60009765625003,69.4000854492188],[180.00000000000014,68.96372213254719],[180.00000000000014,64.97958425748152],[179.99291992187514,64.97430419921875],[178.70727539062503,64.53491210937506],[177.4113159179689,64.60827636718747],[178.31311035156264,64.07592773437497],[178.90832519531253,63.2520751953125],[179.37048339843759,62.98272705078122],[179.4865112304689,62.56909179687503],[179.22827148437514,62.30407714843756],[177.36431884765628,62.52191162109372],[174.56927490234378,61.769287109375],[173.68011474609384,61.65270996093753],[172.15008544921878,60.95007324218747],[170.69848632812503,60.3363037109375],[170.33087158203128,59.88189697265625],[168.90051269531253,60.573486328125],[166.29510498046878,59.7886962890625],[165.84008789062503,60.16009521484378],[164.87689208984378,59.731689453125],[163.53930664062509,59.86871337890625],[163.21710205078128,59.21112060546881],[162.01727294921878,58.2432861328125],[162.05310058593759,57.839111328125],[163.19189453125009,57.61511230468753],[163.05792236328128,56.1593017578125],[162.12969970703134,56.122314453125],[161.70147705078134,55.28570556640631],[162.11749267578134,54.85528564453128],[160.36889648437503,54.34448242187503],[160.02172851562503,53.20269775390622],[158.53088378906259,52.95867919921875],[158.23132324218753,51.94268798828131],[156.78991699218753,51.01110839843753],[156.42010498046878,51.70007324218756],[155.99188232421878,53.15887451171878],[155.43371582031253,55.381103515625],[155.91448974609384,56.76788330078128],[156.75830078125009,57.36468505859378],[156.81048583984384,57.83209228515628],[158.36431884765628,58.05572509765628],[160.15069580078128,59.31488037109381],[161.87207031250003,60.34307861328125],[163.66967773437509,61.14093017578125],[164.47369384765628,62.55072021484372],[163.25848388671878,62.46630859374997],[162.65789794921878,61.64251708984381],[160.12152099609384,60.5443115234375],[159.30230712890628,61.77410888671878],[156.72070312500003,61.43450927734378],[154.21807861328128,59.75830078125],[155.04388427734384,59.14508056640625],[152.81188964843759,58.88391113281256],[151.26568603515628,58.78088378906253],[151.33807373046878,59.50408935546881],[149.78369140625009,59.65570068359378],[148.54492187500003,59.16448974609381],[145.48730468750009,59.33648681640625],[142.19787597656259,59.04010009765628],[138.95849609375003,57.08807373046872],[135.12628173828128,54.72967529296878],[136.70172119140628,54.60369873046878],[137.19348144531259,53.977294921875],[138.16467285156253,53.75512695312503],[138.80468750000003,54.25469970703122],[139.90148925781253,54.189697265625],[141.34527587890628,53.0897216796875],[141.37927246093759,52.23889160156253],[140.59747314453128,51.23968505859375],[140.51312255859384,50.04547119140622],[140.06207275390628,48.44671630859381],[138.55468750000003,46.99969482421881],[138.21972656250009,46.30792236328122],[136.86230468750003,45.14349365234372],[135.51531982421884,43.98907470703125],[134.86950683593753,43.39831542968753],[133.53692626953134,42.81152343750003],[132.90631103515628,42.79852294921875],[132.27807617187509,43.28448486328122],[130.93591308593753,42.55267333984375],[130.78009033203128,42.22009277343747],[130.40008544921884,42.28009033203125],[129.96588134765634,41.94128417968753],[129.66748046875009,41.60107421875],[129.70532226562509,40.88287353515625],[129.18811035156253,40.66192626953128],[129.01049804687509,40.4854736328125],[128.63348388671884,40.18988037109378],[127.96752929687509,40.0255126953125],[127.53350830078128,39.75689697265628],[127.50207519531259,39.32391357421875],[127.38549804687503,39.21350097656253],[127.78332519531253,39.05090332031253],[128.34967041015634,38.61230468750003],[129.21289062500003,37.4324951171875],[129.46051025390634,36.78430175781253],[129.46832275390628,35.63208007812503],[129.09149169921878,35.08251953125],[128.18591308593753,34.89050292968753],[127.38647460937509,34.4757080078125],[126.48571777343759,34.39007568359375],[126.37390136718753,34.93469238281247],[126.55932617187503,35.6846923828125],[126.11749267578128,36.72552490234375],[126.86029052734378,36.89392089843747],[126.17468261718753,37.74969482421878],[125.68908691406253,37.94012451171875],[125.56848144531259,37.75207519531253],[125.27532958984384,37.66912841796878],[125.24011230468753,37.85729980468756],[124.98107910156253,37.94891357421878],[124.71228027343759,38.10827636718753],[124.98608398437509,38.54852294921881],[125.22192382812509,38.66589355468753],[125.13287353515628,38.84869384765625],[125.38671875000009,39.38787841796872],[125.32110595703134,39.55151367187497],[124.73748779296878,39.6602783203125],[124.26568603515634,39.92852783203125],[122.86767578125009,39.63787841796878],[122.13153076171884,39.17047119140625],[121.05468750000003,38.89752197265625],[121.58612060546884,39.36090087890625],[121.37689208984384,39.75030517578125],[122.16870117187503,40.42248535156253],[121.64050292968759,40.94647216796875],[120.76867675781253,40.59350585937497],[119.63970947265628,39.89807128906256],[119.02349853515634,39.25231933593753],[118.04272460937503,39.20428466796872],[117.53271484375009,38.7376708984375],[118.05969238281253,38.0615234375],[118.87829589843753,37.89727783203122],[118.91168212890628,37.44848632812497],[119.70288085937503,37.156494140625],[120.82348632812509,37.87048339843747],[121.71130371093753,37.48107910156256],[122.35791015625003,37.45452880859378],[122.52008056640634,36.93072509765622],[121.10430908203128,36.65130615234372],[120.63708496093753,36.11151123046881],[119.66467285156259,35.60992431640625],[119.15130615234384,34.909912109375],[120.22747802734378,34.36047363281247],[120.62048339843753,33.376708984375],[121.22912597656253,32.46032714843753],[121.90808105468759,31.69232177734375],[121.89190673828128,30.94927978515622],[121.26428222656259,30.676330566406307],[121.50347900390628,30.14288330078125],[122.09210205078128,29.832519531250057],[121.93847656250003,29.01812744140625],[121.68450927734378,28.22552490234375],[121.12567138671878,28.13568115234375],[120.39550781250003,27.05328369140628],[119.58551025390634,25.74090576171875],[118.65692138671884,24.5474853515625],[117.28167724609378,23.62451171875],[115.89068603515634,22.78289794921875],[114.76391601562509,22.6680908203125],[114.15252685546884,22.22387695312503],[113.80688476562503,22.54827880859372],[113.24108886718759,22.051513671875],[111.84368896484384,21.55047607421875],[110.78552246093753,21.39727783203122],[110.44409179687503,20.34112548828125],[109.88989257812509,20.282470703125],[109.62768554687503,21.00830078125],[109.86450195312509,21.39508056640622],[108.52288818359384,21.71527099609375],[108.05029296875003,21.55249023437503],[106.71508789062509,20.69689941406247],[105.88171386718753,19.752075195312557],[105.66210937500003,19.058288574218807],[106.42687988281253,18.004089355468807],[107.36187744140634,16.697509765625],[108.26947021484378,16.0797119140625],[108.87707519531259,15.276672363281307],[109.33532714843759,13.426086425781222],[109.20007324218759,11.6668701171875],[108.36608886718759,11.008300781250028],[107.22088623046878,10.364501953124972],[106.40509033203128,9.530883789062543],[105.15832519531259,8.59967041015625],[104.79528808593753,9.241088867187486],[105.07629394531259,9.918518066406264],[104.33447265625003,10.4866943359375],[103.49731445312509,10.632690429687486],[103.09069824218753,11.153686523437486],[102.58508300781253,12.186706542968736],[101.68707275390628,12.645874023437557],[100.83190917968753,12.627075195312543],[100.97851562500003,13.412719726562543],[100.09790039062503,13.406921386718722],[100.01867675781259,12.307128906250057],[99.47888183593753,10.846496582031222],[99.15368652343759,9.963073730468778],[99.22247314453134,9.239318847656278],[99.87390136718759,9.207885742187472],[100.27972412109384,8.295288085937528],[100.45928955078134,7.429687499999986],[101.01727294921884,6.856872558593793],[101.62310791015628,6.740722656250057],[102.14129638671884,6.2216796875],[102.37127685546878,6.128295898437486],[102.96173095703134,5.524475097656278],[103.38128662109378,4.855102539062543],[103.43872070312503,4.181701660156278],[103.33209228515628,3.726684570312514],[103.42950439453134,3.38287353515625],[103.50250244140628,2.791076660156293],[103.85467529296878,2.5155029296875],[104.24792480468753,1.631286621093778],[104.22888183593759,1.2930908203125],[103.51971435546884,1.226318359374986],[102.57373046875003,1.967102050781293],[101.39068603515628,2.760925292968778],[101.27368164062503,3.270324707031236],[100.69549560546884,3.939086914062528],[100.55749511718759,4.767272949218793],[100.19671630859378,5.3125],[100.30627441406253,6.040710449218793],[100.08587646484378,6.4644775390625],[99.69067382812503,6.848327636718736],[99.51971435546884,7.343505859375014],[98.98828125000003,7.908081054687514],[98.50390625000003,8.38232421875],[98.33972167968753,7.794494628906264],[98.15008544921878,8.350097656250014],[98.25927734375003,8.973876953124986],[98.55352783203128,9.933105468750014],[98.45727539062503,10.675292968750043],[98.76452636718759,11.441284179687543],[98.42828369140628,12.0330810546875],[98.50970458984384,13.122497558593778],[98.10369873046884,13.6405029296875],[97.77770996093753,14.8372802734375],[97.59710693359384,16.1007080078125],[97.16467285156253,16.92871093750003],[96.50592041015634,16.42730712890622],[95.36932373046884,15.714477539062528],[94.80847167968759,15.80352783203125],[94.18890380859378,16.038085937500057],[94.53350830078128,17.27728271484378],[94.32489013671884,18.21350097656253],[93.54107666015628,19.366516113281307],[93.66333007812503,19.72711181640622],[93.07830810546884,19.85528564453122],[92.36853027343753,20.6708984375],[92.08288574218759,21.192321777343807],[92.02532958984378,21.70172119140625],[91.83489990234378,22.18292236328122],[91.41711425781259,22.76507568359375],[90.49609375000003,22.80511474609375],[90.58709716796878,22.39288330078128],[90.27288818359384,21.83648681640625],[89.84747314453134,22.03912353515625],[89.70208740234378,21.85711669921878],[89.41888427734384,21.96630859375003],[89.03210449218753,22.05572509765625],[88.88891601562509,21.69067382812503],[88.20849609375009,21.70330810546872],[86.97570800781253,21.49548339843753],[87.03308105468759,20.7432861328125],[86.49932861328128,20.151672363281307],[85.06030273437509,19.47869873046875],[83.94110107421878,18.30212402343747],[83.18927001953128,17.67132568359378],[82.19287109375003,17.01672363281253],[82.19128417968759,16.556701660156307],[81.69268798828134,16.310302734375],[80.79211425781253,15.952087402343722],[80.32489013671878,15.8992919921875],[80.02508544921884,15.136474609375028],[80.23327636718759,13.835876464843722],[80.28631591796884,13.006286621093736],[79.86248779296884,12.056274414062514],[79.85809326171884,10.357299804687514],[79.34051513671878,10.308898925781307],[78.88549804687503,9.546081542968736],[79.18969726562509,9.216674804687486],[78.27807617187509,8.933105468750028],[77.94128417968753,8.252929687500014],[77.53991699218759,7.965515136718793],[76.59307861328128,8.899291992187486],[76.13012695312503,10.2996826171875],[75.74652099609384,11.30828857421875],[75.39611816406253,11.78131103515625],[74.86492919921878,12.741882324218778],[74.61669921875009,13.992675781249986],[74.44390869140634,14.617309570312557],[73.53430175781259,15.99072265625],[73.11987304687503,17.9287109375],[72.82092285156253,19.20831298828122],[72.82452392578128,20.41949462890625],[72.63067626953134,21.35607910156247],[71.17529296875009,20.75750732421878],[70.47052001953134,20.877319335937557],[69.16412353515628,22.08929443359375],[69.64489746093753,22.45068359375003],[69.34967041015634,22.843322753906307],[68.17669677734378,23.69207763671878],[67.44372558593753,23.94488525390628],[67.14550781250003,24.663696289062557],[66.37292480468753,25.425292968750057],[64.53051757812503,25.23712158203128],[62.905700683593835,25.21850585937503],[61.497497558593835,25.07830810546875],[59.616088867187585,25.380126953125],[58.52587890625003,25.61010742187503],[57.397277832031335,25.73992919921872],[56.970886230468835,26.96612548828128],[56.492126464843835,27.14331054687503],[55.72369384765628,26.964721679687557],[54.71508789062503,26.48071289062503],[53.493103027343835,26.8125],[52.48370361328128,27.58087158203128],[51.52087402343753,27.86572265625003],[50.85308837890628,28.81451416015625],[50.115112304687585,30.147888183593807],[49.57690429687503,29.9857177734375],[48.94128417968753,30.317077636718807],[48.56811523437503,29.9268798828125],[47.974487304687585,29.97589111328125],[48.18328857421878,29.534484863281307],[48.093872070312585,29.306274414062557],[48.41607666015628,28.55212402343747],[48.80767822265628,27.689697265625057],[49.29968261718753,27.461303710937557],[49.470886230468835,27.110107421875],[50.15252685546878,26.68969726562497],[50.21307373046878,26.27709960937503],[50.113281250000085,25.944091796875057],[50.239929199218835,25.60809326171878],[50.52752685546878,25.327880859375],[50.660705566406335,24.99987792968747],[50.81011962890628,24.75488281249997],[50.74389648437503,25.48248291015628],[51.01348876953128,26.007080078125],[51.286499023437585,26.11468505859378],[51.589111328125085,25.80108642578125],[51.60668945312503,25.21569824218747],[51.389709472656335,24.62750244140625],[51.57952880859378,24.24548339843753],[51.757507324218835,24.29412841796878],[51.79449462890628,24.0198974609375],[52.57708740234378,24.17749023437503],[53.40411376953128,24.15130615234372],[54.008117675781335,24.12188720703128],[54.693115234375085,24.79791259765625],[55.439086914062585,25.4390869140625],[56.07092285156253,26.055480957031307],[56.36212158203128,26.39587402343747],[56.48571777343753,26.30908203124997],[56.39147949218753,25.89611816406253],[56.26110839843753,25.71472167968753],[56.39691162109378,24.92468261718753],[56.845275878906335,24.241699218750057],[57.40350341796878,23.878723144531307],[58.13708496093753,23.7479248046875],[58.72930908203128,23.565673828125],[59.18048095703128,22.99249267578122],[59.45007324218753,22.66027832031253],[59.80810546875003,22.53369140625],[59.80627441406253,22.31048583984378],[59.442321777343835,21.71447753906247],[59.282470703125085,21.43389892578122],[58.86108398437503,21.11407470703125],[58.488098144531335,20.42907714843753],[58.034301757812585,20.48150634765625],[57.82647705078128,20.24310302734378],[57.66589355468753,19.73608398437497],[57.78869628906253,19.06768798828128],[57.694519042968835,18.944702148437557],[57.23431396484378,18.94812011718753],[56.60968017578128,18.57427978515628],[56.51232910156253,18.08709716796875],[56.28350830078128,17.87609863281253],[55.661499023437585,17.88427734375003],[55.270080566406335,17.63232421875003],[55.27490234375003,17.228271484375057],[54.791076660156335,16.95068359374997],[54.23931884765628,17.04510498046875],[53.57049560546878,16.70770263671875],[53.108703613281335,16.65112304687497],[52.385314941406335,16.38250732421875],[52.191711425781335,15.9384765625],[52.168273925781335,15.597473144531278],[51.17248535156253,15.175292968750028],[49.57470703125003,14.708679199218722],[48.67932128906253,14.003295898437514],[48.23907470703128,13.948120117187557],[47.938903808593835,14.007324218750043],[47.354492187500085,13.592285156250043],[46.71710205078128,13.399719238281264],[45.87768554687503,13.347900390624986],[45.625122070312585,13.29107666015625],[45.40649414062503,13.026916503906264],[45.144287109375085,12.953918457031222],[44.989685058593835,12.69970703125],[44.49468994140628,12.721679687500043],[44.17510986328128,12.585876464843793],[43.48309326171878,12.636901855468793],[43.222900390625085,13.22088623046875],[43.251525878906335,13.767700195312486],[43.08807373046878,14.062683105468736],[42.892272949218835,14.802307128906278],[42.604919433593835,15.213317871093778],[42.805114746093835,15.262084960937557],[42.70251464843753,15.718872070312528],[42.82373046875003,15.91168212890625],[42.77947998046878,16.347900390625],[42.64971923828128,16.77471923828122],[42.348083496093835,17.075927734375],[42.27087402343753,17.47467041015628],[41.754516601562585,17.8331298828125],[41.22149658203128,18.67169189453125],[40.93927001953128,19.48651123046875],[40.24768066406253,20.1746826171875],[39.801696777343835,20.33892822265625],[39.13952636718753,21.29187011718753],[39.023681640625085,21.98687744140625],[39.06628417968753,22.57971191406253],[38.49291992187503,23.68847656249997],[38.023925781250085,24.07867431640628],[37.483703613281335,24.2855224609375],[37.15490722656253,24.85852050781253],[37.20947265625003,25.08447265624997],[36.931701660156335,25.60308837890622],[36.63970947265628,25.82629394531253],[36.24908447265628,26.57012939453125],[35.640319824218835,27.37652587890622],[35.130310058593835,28.0634765625],[34.63232421875003,28.05847167968753],[34.78790283203128,28.60748291015628],[34.832275390625085,28.957519531250057],[34.95611572265628,29.35668945312503],[34.92272949218753,29.50128173828128],[34.641723632812585,29.09948730468753],[34.426696777343835,28.344116210937557],[34.15447998046878,27.82330322265628],[33.921508789062585,27.64868164062503],[33.58807373046878,27.97149658203128],[33.13690185546878,28.41772460937503],[32.42327880859378,29.85107421875003],[32.320495605468835,29.76049804687503],[32.73492431640628,28.705322265625],[33.34887695312503,27.69989013671878],[34.10467529296878,26.142272949218807],[34.473876953125085,25.59869384765622],[34.795104980468835,25.03387451171878],[35.692504882812585,23.926696777343807],[35.49371337890628,23.75250244140625],[35.52612304687503,23.10247802734375],[36.69067382812503,22.20489501953128],[36.866271972656335,22.0001220703125],[37.188720703125085,21.01892089843753],[36.969482421875085,20.83752441406253],[37.11468505859378,19.80810546875],[37.481872558593835,18.61407470703122],[37.862670898437585,18.367919921875057],[38.410095214843835,17.99829101562497],[38.99072265625003,16.840698242187557],[39.266113281250085,15.9227294921875],[39.814270019531335,15.435729980468778],[41.17932128906253,14.4910888671875],[41.73492431640628,13.921081542968764],[42.27691650390628,13.344116210937514],[42.58972167968753,13.00048828125],[43.081298828125085,12.69970703125],[43.317871093750085,12.390075683593778],[43.286499023437585,11.97491455078125],[42.71588134765628,11.735717773437486],[43.14532470703128,11.462097167968736],[43.47070312500003,11.277709960937528],[43.66668701171878,10.864318847656307],[44.117919921875085,10.445678710937486],[44.614318847656335,10.442321777343722],[45.55688476562503,10.698120117187486],[46.64550781250003,10.816528320312543],[47.525695800781335,11.127319335937528],[48.02172851562503,11.193115234375028],[48.37890625000003,11.375488281250057],[48.948303222656335,11.410705566406236],[49.26788330078128,11.430480957031278],[49.72869873046878,11.578918457031222],[50.258911132812585,11.679687500000028],[50.732116699218835,12.021911621093736],[51.111328125000085,12.024719238281278],[51.133911132812585,11.748291015624972],[51.041503906250085,11.166503906250028],[51.04528808593753,10.640930175781264],[50.834289550781335,10.279724121093722],[50.55249023437503,9.198730468749972],[50.07092285156253,8.08172607421875],[49.452697753906335,6.804687500000028],[48.594482421875085,5.339111328125057],[47.74090576171878,4.219482421875043],[46.564880371093835,2.855285644531236],[45.564086914062585,2.045898437499986],[44.06829833984378,1.052917480468807],[43.136108398437585,0.29229736328125],[42.041687011718835,-0.919189453124943],[41.811096191406335,-1.446411132812472],[41.58508300781253,-1.6832275390625],[40.884887695312585,-2.082519531249986],[40.637878417968835,-2.499816894531207],[40.26312255859378,-2.573120117187514],[40.121276855468835,-3.277709960937528],[39.80010986328128,-3.68109130859375],[39.60491943359378,-4.346496582031278],[39.20227050781253,-4.676696777343722],[38.74047851562503,-5.90887451171875],[38.799682617187585,-6.475585937499957],[39.44012451171878,-6.840026855468736],[39.470092773437585,-7.099975585937472],[39.19470214843753,-7.703918457031207],[39.252075195312585,-8.0078125],[39.18652343750003,-8.485473632812472],[39.535888671875085,-9.112304687499957],[39.949707031250085,-10.098388671875028],[40.31671142578128,-10.317077636718693],[40.478515625000085,-10.765380859375014],[40.437316894531335,-11.761718749999957],[40.560913085937585,-12.639099121093707],[40.59967041015628,-14.201904296874986],[40.77551269531253,-14.691711425781236],[40.47729492187503,-15.406311035156236],[40.08929443359378,-16.100708007812514],[39.45269775390628,-16.720886230468764],[38.53833007812503,-17.101013183593764],[37.41107177734378,-17.586303710937486],[36.281311035156335,-18.659606933593764],[35.896484375000085,-18.84228515624997],[35.198486328125085,-19.55279541015625],[34.786499023437585,-19.78399658203128],[34.701904296875085,-20.49700927734372],[35.176086425781335,-21.254272460937514],[35.373474121093835,-21.84082031249997],[35.38592529296878,-22.140014648437486],[35.562683105468835,-22.09002685546872],[35.53387451171878,-23.070800781249986],[35.371887207031335,-23.53527832031253],[35.60748291015628,-23.706481933593707],[35.45867919921878,-24.12261962890625],[35.04071044921878,-24.47827148437503],[34.21588134765628,-24.81628417968747],[33.01330566406253,-25.357482910156207],[32.57470703125003,-25.72729492187503],[32.660278320312585,-26.148498535156236],[32.916076660156335,-26.215881347656207],[32.83007812500003,-26.742187500000014],[32.58032226562503,-27.470092773437486],[32.46228027343753,-28.301025390624986],[32.203491210937585,-28.752380371093707],[31.521118164062585,-29.25738525390625],[31.32568359375003,-29.401977539062514],[30.90167236328128,-29.909912109375014],[30.62292480468753,-30.42370605468747],[30.055725097656335,-31.14019775390622],[28.925476074218807,-32.171997070312486],[28.21972656250003,-32.77191162109379],[27.46472167968753,-33.22698974609378],[26.41949462890628,-33.614929199218764],[25.90972900390625,-33.6669921875],[25.78070068359375,-33.94458007812497],[25.17291259765625,-33.796875],[24.677917480468807,-33.98718261718746],[23.5941162109375,-33.79449462890625],[22.988281250000057,-33.9163818359375],[22.57427978515628,-33.86407470703121],[21.542907714843807,-34.25878906249996],[20.689086914062557,-34.41717529296878],[20.071289062500057,-34.795104980468764],[19.61651611328125,-34.81909179687497],[19.19329833984378,-34.46258544921879],[18.85528564453125,-34.44427490234379],[18.424682617187557,-33.997802734374986],[18.37750244140625,-34.136474609374986],[18.24450683593753,-33.86767578125003],[18.25012207031253,-33.28137207031246],[17.92529296875003,-32.61120605468753],[18.24792480468753,-32.42907714843746],[18.2216796875,-31.661621093750014],[17.56689453125,-30.725708007812543],[17.06451416015628,-29.878601074218736],[17.062927246093807,-29.87597656250003],[16.345092773437557,-28.57672119140622],[15.6019287109375,-27.82122802734372],[15.210510253906307,-27.090881347656207],[14.98968505859375,-26.117309570312486],[14.743286132812528,-25.39288330078122],[14.408081054687557,-23.853027343750014],[14.385681152343807,-22.656677246093707],[14.257690429687557,-22.111206054687486],[13.86871337890625,-21.69897460937503],[13.352478027343722,-20.872802734375014],[12.826904296875057,-19.67309570312503],[12.608703613281307,-19.04528808593753],[11.794921875000057,-18.069091796875014],[11.73431396484375,-17.30187988281253],[11.64007568359375,-16.673095703125014],[11.778686523437528,-15.793823242187528],[12.123718261718778,-14.878295898437528],[12.175720214843807,-14.449096679687486],[12.500122070312528,-13.547729492187528],[12.738525390625,-13.137878417968722],[13.31292724609375,-12.483581542968736],[13.63372802734375,-12.038574218749972],[13.738708496093807,-11.29779052734375],[13.686523437500057,-10.731079101562457],[13.387329101562528,-10.37359619140625],[13.121093750000057,-9.766906738281207],[12.875488281250028,-9.166870117187472],[12.9290771484375,-8.9591064453125],[13.236511230468722,-8.562622070312472],[12.933105468750028,-7.59649658203125],[12.728271484375057,-6.927124023437514],[12.227478027343778,-6.294372558593778],[12.322509765624972,-6.100097656250014],[12.182312011718807,-5.789916992187472],[11.915100097656222,-5.037902832031278],[11.093688964843807,-3.97882080078125],[10.066284179687557,-2.969482421875028],[9.405273437500028,-2.144287109374957],[8.798095703125057,-1.111328125000014],[8.830078125,-0.778991699218778],[9.048522949218807,-0.45928955078125],[9.291320800781278,0.268676757812528],[9.492919921875028,1.010070800781278],[9.305725097656307,1.160888671874986],[9.6492919921875,2.283874511718764],[9.7952880859375,3.073486328124986],[9.40447998046875,3.7344970703125],[8.948120117187557,3.904113769531307],[8.744873046875057,4.352294921875014],[8.488891601562528,4.495727539062514],[8.50030517578125,4.7720947265625],[7.462097167968807,4.412109375000028],[7.082702636718778,4.4647216796875],[6.698120117187472,4.240722656250014],[5.898315429687528,4.262512207031222],[5.3629150390625,4.888122558593722],[5.03369140625,5.611877441406236],[4.32568359375,6.27069091796875],[3.57427978515625,6.25830078125],[2.691711425781307,6.258911132812543],[1.86529541015625,6.142272949218778],[1.06011962890625,5.92889404296875],[-0.50762939453125,5.343505859374972],[-1.063598632812472,5.000488281249986],[-1.964721679687472,4.710510253906278],[-2.856079101562443,4.994506835937514],[-3.311096191406193,4.984313964843778],[-4.008789062499943,5.179870605468736],[-4.64990234375,5.168273925781278],[-5.834411621093693,4.993713378906236],[-6.528686523437443,4.705078125000028],[-7.518920898437472,4.338317871093793],[-7.712097167968693,4.36468505859375],[-7.974121093749972,4.355895996093736],[-9.004821777343693,4.832519531250057],[-9.913391113281222,5.59368896484375],[-10.765380859374943,6.140686035156222],[-11.438781738281193,6.785888671875014],[-11.708190917968693,6.860107421875043],[-12.428100585937528,7.262878417968736],[-12.948974609375,7.798706054687528],[-13.124023437499943,8.163879394531293],[-13.24652099609375,8.903076171875043],[-13.685180664062472,9.494873046875],[-14.073974609374943,9.886291503906278],[-14.330078125,10.01568603515625],[-14.579711914062443,10.214477539062543],[-14.693176269531278,10.656311035156293],[-14.839477539062443,10.876708984375043],[-15.13031005859375,11.040527343750028],[-15.6641845703125,11.45849609375],[-16.08520507812497,11.524719238281293],[-16.314697265625,11.806518554687528],[-16.308898925781193,11.958679199218736],[-16.61376953125,12.170898437500014],[-16.67742919921872,12.3848876953125],[-16.84149169921875,13.151489257812528],[-16.71368408203122,13.595092773437486],[-17.12609863281253,14.373474121093736],[-17.625,14.729675292968722],[-17.18518066406247,14.919494628906278],[-16.700683593749943,15.621520996093807],[-16.463012695312443,16.13507080078128],[-16.5496826171875,16.67388916015628],[-16.27050781249997,17.16711425781253],[-16.146301269531193,18.108520507812557],[-16.25689697265625,19.09667968750003],[-16.37762451171875,19.593872070312557],[-16.27777099609375,20.09252929687503],[-16.53631591796875,20.56787109374997],[-17.06341552734375,20.99987792968747],[-17.02038574218747,21.42230224609375],[-16.97320556640625,21.88568115234375],[-16.58911132812497,22.1583251953125],[-16.261901855468693,22.6793212890625],[-16.326416015625,23.01788330078125],[-15.98260498046875,23.7235107421875],[-15.426025390624972,24.359130859375],[-15.089294433593722,24.52032470703128],[-14.8245849609375,25.10351562500003],[-14.800903320312472,25.63629150390625],[-14.439880371093778,26.254516601562557],[-13.7738037109375,26.61889648437503],[-13.139892578125,27.64007568359378],[-12.618774414062472,28.03833007812503],[-11.68890380859375,28.14868164062503],[-10.90087890625,28.83227539062503],[-10.399597167968722,29.09869384765625],[-9.564819335937443,29.93371582031247],[-9.814697265624972,31.177673339843807],[-9.434814453124943,32.03808593749997],[-9.300720214843778,32.56469726562506],[-8.657409667968722,33.24029541015622],[-7.6541748046875,33.69708251953131],[-6.912475585937472,34.11047363281253],[-6.244323730468722,35.14587402343753],[-5.929992675781222,35.76007080078131],[-5.19378662109375,35.75531005859381],[-4.591003417968693,35.3306884765625],[-3.64007568359375,35.39990234375],[-2.604309082031193,35.17907714843753],[-2.169921874999943,35.16851806640631],[-1.208618164062443,35.71490478515625],[-0.127380371093722,35.888671875],[0.503906250000057,36.30133056640625],[1.466918945312557,36.60571289062497],[3.161682128906307,36.78387451171875],[4.815673828125,36.86511230468747],[5.320129394531307,36.71649169921878],[6.261901855468807,37.1107177734375],[7.330505371093722,37.1185302734375],[7.737121582031307,36.88568115234378],[8.421081542968778,36.94647216796872],[9.510070800781278,37.35009765625],[10.210083007812528,37.2301025390625],[10.180725097656307,36.72412109375003],[11.028930664062557,37.09210205078125],[11.10009765625,36.90008544921878],[10.60009765625,36.41009521484381],[10.59332275390625,35.947509765625],[10.93951416015625,35.6990966796875],[10.807922363281278,34.83349609374997],[10.149719238281278,34.33068847656253],[10.339721679687557,33.78588867187497],[10.856872558593778,33.76867675781253],[11.108520507812528,33.29327392578128],[11.488891601562557,33.13708496093756],[12.663330078125057,32.79290771484381],[13.083312988281278,32.87890625000003],[13.918701171875,32.71209716796878],[15.2457275390625,32.26507568359372],[15.713928222656278,31.37628173828125],[16.6116943359375,31.18231201171878],[18.0211181640625,30.763488769531307],[19.08648681640628,30.2664794921875],[19.57409667968753,30.52587890625],[20.05328369140622,30.98590087890622],[19.8203125,31.75189208984372],[20.13409423828128,32.23828125],[20.8544921875,32.70690917968747],[21.543090820312557,32.84332275390628],[22.895874023437557,32.63848876953128],[23.23687744140628,32.19152832031256],[23.609130859375057,32.18731689453128],[23.92749023437497,32.01672363281247],[24.92108154296878,31.89947509765628],[25.16491699218753,31.56927490234372],[26.49530029296878,31.585693359375],[27.45770263671872,31.321289062500057],[28.45050048828125,31.02587890625],[28.91351318359375,30.870117187500057],[29.683471679687585,31.18688964843753],[30.095092773437585,31.47351074218747],[30.97692871093753,31.55590820312497],[31.688110351562585,31.4296875],[31.96051025390628,30.933715820312557],[32.192504882812585,31.26031494140625],[32.993896484375085,31.02410888671878],[33.773498535156335,30.967529296875],[34.265502929687585,31.219482421875],[34.55651855468753,31.54888916015625],[34.488098144531335,31.60552978515625],[34.75268554687503,32.07287597656253],[34.955505371093835,32.82751464843753],[35.09851074218753,33.0806884765625],[35.126098632812585,33.09088134765625],[35.482299804687585,33.905517578125],[35.97967529296878,34.61010742187503],[35.99847412109378,34.6448974609375],[35.905090332031335,35.41009521484372],[36.14990234375003,35.82147216796878],[35.78210449218753,36.27508544921872],[36.16088867187503,36.65069580078128],[35.551086425781335,36.56549072265625],[34.71447753906253,36.79547119140628],[34.026916503906335,36.22009277343753],[32.50927734375003,36.10748291015628],[31.69970703125003,36.64428710937503],[30.621704101562585,36.67791748046872],[30.391113281250085,36.26312255859378],[29.700073242187585,36.14428710937503],[28.73291015625003,36.6768798828125],[27.64129638671875,36.65887451171875],[27.04888916015625,37.65350341796881],[26.31829833984378,38.20812988281253],[26.80468750000003,38.98590087890622],[26.170898437500057,39.46368408203122],[27.28009033203128,40.42010498046881],[28.82012939453125,40.46008300781247],[29.240112304687585,41.2200927734375],[31.145874023437585,41.08770751953122],[32.34808349609378,41.736328125],[33.51330566406253,42.01910400390628],[35.16772460937503,42.04028320312503],[36.913085937500085,41.33551025390628],[38.347717285156335,40.94873046875006],[39.51269531250003,41.10290527343753],[40.37347412109378,41.01367187500006],[41.554077148437585,41.53570556640628],[41.703308105468835,41.96307373046872],[41.45349121093753,42.64508056640625],[40.87548828125003,43.013671875],[40.32147216796878,43.12872314453128],[39.95507812500003,43.43511962890628],[38.68011474609378,44.28009033203128],[37.53912353515628,44.65728759765631],[36.67547607421878,45.24468994140625],[37.40332031250003,45.40447998046878],[38.233093261718835,46.24090576171875],[37.67370605468753,46.63671875000003],[39.14770507812503,47.04467773437503],[39.12127685546878,47.26348876953131],[38.22369384765628,47.10229492187503],[37.42510986328128,47.02227783203128],[36.75988769531253,46.69873046874997],[35.823730468750085,46.64587402343753],[34.962280273437585,46.2733154296875],[35.02087402343753,45.65130615234381],[35.510070800781335,45.41009521484378],[36.530090332031335,45.47009277343753],[36.334716796875085,45.11328125],[35.24011230468753,44.94012451171878],[33.882507324218835,44.36151123046875],[33.32647705078128,44.56488037109381],[33.546875,45.03491210937503],[32.454284667968835,45.32751464843753],[32.630920410156335,45.51928710937503],[33.58807373046878,45.85168457031247],[33.29870605468753,46.0806884765625],[31.744079589843835,46.33349609375],[31.67529296875003,46.706298828125],[30.74890136718753,46.58312988281256],[30.377685546875085,46.03247070312503],[29.603271484375085,45.29327392578128],[29.62652587890628,45.03552246093747],[29.1417236328125,44.8203125],[28.837890625,44.91387939453125],[28.55810546875003,43.70751953125006],[28.03912353515628,43.29327392578125],[27.673889160156307,42.57788085937503],[27.996704101562557,42.00750732421881],[28.115478515625,41.6229248046875],[28.988525390625057,41.2999267578125],[28.8065185546875,41.05487060546881],[27.61907958984375,40.9998779296875],[27.1925048828125,40.69067382812506],[26.358093261718807,40.15209960937503],[26.04327392578128,40.61767578125003],[26.056884765625,40.82409667968747],[25.44769287109378,40.85247802734378],[24.9259033203125,40.94708251953128],[23.714904785156307,40.68707275390625],[24.40808105468753,40.12512207031253],[23.90008544921878,39.96209716796875],[23.34307861328122,39.96112060546872],[22.8140869140625,40.47607421875003],[22.626281738281307,40.25653076171878],[22.84967041015625,39.6593017578125],[23.35009765625003,39.19012451171878],[22.97308349609375,38.97088623046878],[23.53009033203122,38.51007080078128],[24.02508544921878,38.22009277343747],[24.040100097656307,37.65509033203128],[23.11511230468753,37.92010498046875],[23.410095214843807,37.41009521484378],[22.77508544921875,37.30511474609378],[23.15429687500003,36.42248535156253],[22.49011230468747,36.41009521484381],[21.67010498046878,36.84509277343747],[21.29510498046878,37.64508056640628],[21.12011718750003,38.31030273437506],[20.73010253906247,38.77008056640622],[20.21771240234375,39.34027099609381],[20.15008544921875,39.62512207031256],[19.98010253906253,39.69512939453131],[19.960083007812557,39.91510009765625],[19.4061279296875,40.25091552734378],[19.31909179687503,40.72729492187506],[19.40368652343753,41.40948486328125],[19.540100097656307,41.7200927734375],[19.37188720703125,41.87768554687503],[19.1624755859375,41.955078125],[18.882080078125,42.28149414062506],[18.4500732421875,42.4801025390625],[17.50988769531253,42.85009765624997],[16.93011474609375,43.21008300781256],[16.015502929687557,43.50732421875003],[15.17449951171875,44.24328613281253],[15.37628173828125,44.31787109375006],[14.920288085937528,44.73852539062503],[14.901672363281278,45.07611083984378],[14.258728027343807,45.23388671874997],[13.9522705078125,44.80212402343753],[13.6571044921875,45.13708496093756],[13.67950439453125,45.48413085937497],[13.715087890625,45.50030517578128],[13.93768310546875,45.59112548828131],[13.1417236328125,45.7366943359375],[12.328674316406278,45.38189697265622],[12.383911132812557,44.88549804687506],[12.261474609374972,44.60052490234378],[12.589294433593778,44.09149169921872],[13.52691650390625,43.58770751953128],[14.0299072265625,42.76110839843747],[15.142700195312557,41.955078125],[15.926330566406307,41.9613037109375],[16.16992187499997,41.74029541015622],[15.8892822265625,41.54107666015622],[16.78509521484378,41.17968750000003],[17.519287109375,40.87707519531253],[18.376708984375057,40.35571289062503],[18.480285644531307,40.16888427734378],[18.29351806640628,39.81091308593747],[17.73852539062497,40.27770996093753],[16.86968994140628,40.44232177734378],[16.44873046875003,39.79547119140622],[17.17150878906253,39.42468261718747],[17.052917480468807,38.90289306640628],[16.63507080078128,38.84368896484381],[16.10107421875,37.98590087890625],[15.684082031250028,37.90887451171878],[15.688110351562557,38.21472167968753],[15.892089843750057,38.75091552734372],[16.10931396484378,38.9644775390625],[15.718872070312528,39.54412841796878],[15.413696289062528,40.04827880859381],[14.998474121093778,40.17309570312503],[14.703308105468778,40.60467529296875],[14.060729980468778,40.78649902343753],[13.62811279296875,41.18829345703131],[12.888122558593807,41.25311279296878],[12.106689453125057,41.70452880859372],[11.191894531250028,42.35552978515625],[10.5120849609375,42.93151855468756],[10.200073242187528,43.92010498046872],[9.7025146484375,44.03631591796878],[8.888916015625,44.36627197265625],[8.428710937500028,44.2313232421875],[7.850891113281278,43.76727294921875],[7.435302734375057,43.69390869140622],[6.529296875000057,43.12890625000003],[4.556884765625028,43.39971923828125],[3.100524902343778,43.07531738281253],[2.986083984375028,42.47308349609381],[3.039489746093778,41.89208984375003],[2.091918945312528,41.22607421874997],[0.810485839843778,41.01470947265628],[0.721313476562528,40.67828369140622],[0.106689453125057,40.12408447265631],[-0.278686523437443,39.31011962890628],[0.111328125000028,38.738525390625],[-0.46710205078125,38.29248046874997],[-0.683410644531278,37.64227294921872],[-1.438293457031222,37.44311523437506],[-2.14642333984375,36.67407226562506],[-3.415710449218693,36.65887451171875],[-4.368896484374943,36.67791748046872],[-4.995178222656193,36.32470703125],[-5.377075195312472,35.94689941406256],[-5.866394042968722,36.0299072265625],[-6.236694335937472,36.36767578124997],[-6.520202636718693,36.94287109375],[-7.453674316406222,37.09790039062497],[-7.8555908203125,36.83831787109372],[-8.382812499999943,36.97888183593747],[-8.898803710937472,36.86889648437503],[-8.746093749999972,37.65148925781253],[-8.840026855468693,38.26629638671878],[-9.287475585937443,38.35852050781253],[-9.526489257812472,38.73748779296875],[-9.4468994140625,39.39208984375],[-9.048278808593778,39.75512695312497],[-8.977294921875,40.15930175781247],[-8.768676757812443,40.76068115234372],[-8.790771484375,41.184326171875],[-8.990783691406193,41.54351806640628],[-9.034790039062472,41.88067626953122],[-8.984375,42.5928955078125],[-9.392883300781222,43.02667236328128],[-7.978210449218722,43.74847412109375],[-6.754516601562443,43.56787109375003],[-5.41180419921875,43.57427978515628],[-4.3477783203125,43.40350341796872],[-3.51751708984375,43.45587158203122],[-1.901306152343722,43.42291259765628],[-1.384216308593722,44.02270507812506],[-1.19378662109375,46.014892578125],[-2.225708007812443,47.06451416015628],[-2.963195800781193,47.5703125],[-4.491577148437472,47.95507812500003],[-4.592285156249972,48.68408203125006],[-3.295776367187472,48.90167236328128],[-1.616516113281193,48.64447021484378],[-1.933410644531193,49.77648925781253],[-0.989379882812443,49.34747314453122],[1.33868408203125,50.1273193359375],[1.63909912109375,50.94671630859375],[2.513488769531307,51.14849853515625],[3.315124511718807,51.34588623046881],[3.830322265625057,51.6204833984375],[4.70611572265625,53.0919189453125],[6.074279785156278,53.51049804687503],[6.9052734375,53.48229980468756],[7.100524902343778,53.69390869140628],[7.936279296874972,53.74829101562497],[8.1217041015625,53.52789306640631],[8.80072021484375,54.0208740234375],[8.572082519531307,54.39569091796875],[8.526306152343807,54.96289062499997],[8.120300292968778,55.51770019531253],[8.090087890625057,56.54010009765625],[8.256713867187472,56.81011962890628],[8.543518066406278,57.110107421875],[9.42449951171875,57.172119140625],[9.775695800781307,57.44787597656256],[10.580078125,57.7301025390625],[10.546081542968807,57.21588134765625],[10.250122070312528,56.89007568359372],[10.370117187500028,56.610107421875],[10.912292480468807,56.45867919921875],[10.66790771484375,56.08148193359375],[10.370117187500028,56.19012451171875],[9.650085449218778,55.4700927734375],[9.921875,54.98309326171881],[9.939697265625028,54.59667968749997],[10.950073242187557,54.36370849609372],[10.93951416015625,54.00872802734381],[11.956298828124972,54.19647216796878],[12.518493652343722,54.47052001953122],[13.647521972656307,54.07550048828122],[14.119689941406307,53.75708007812497],[14.802917480468807,54.05072021484375],[16.363525390625,54.51330566406253],[17.622924804687557,54.85168457031256],[18.62091064453128,54.68267822265628],[18.696289062500057,54.43872070312503],[19.66070556640628,54.42608642578125],[19.88848876953122,54.86608886718756],[21.26849365234378,55.19049072265628],[21.055908203125,56.0311279296875],[21.09051513671875,56.78387451171875],[21.581909179687557,57.41192626953122],[22.52447509765625,57.75347900390625],[23.3184814453125,57.00628662109378],[24.1207275390625,57.02569580078122],[24.31292724609378,57.79351806640625],[24.42907714843753,58.38348388671875],[24.061279296875057,58.25750732421878],[23.426696777343807,58.61267089843753],[23.339904785156307,59.18731689453125],[24.60430908203122,59.46588134765625],[25.86431884765625,59.61108398437503],[26.949279785156307,59.44592285156247],[27.98107910156247,59.47552490234375],[29.11767578125,60.028076171875],[28.070129394531307,60.50347900390625],[26.25531005859372,60.42388916015628],[24.49670410156253,60.05731201171881],[22.86968994140625,59.84649658203125],[22.2908935546875,60.39190673828125],[21.322326660156307,60.72027587890628],[21.54492187499997,61.705322265625],[21.059326171875,62.60748291015625],[21.53607177734375,63.18988037109375],[22.442687988281307,63.81787109374997],[24.73052978515628,64.90228271484372],[25.3980712890625,65.11151123046872],[25.29412841796875,65.53448486328122],[23.90350341796878,66.00689697265628],[22.183288574218807,65.72387695312497],[21.213500976562557,65.02612304687503],[21.36968994140628,64.41369628906256],[19.7789306640625,63.60968017578122],[17.847900390625057,62.74951171875003],[17.11968994140625,61.34130859375003],[17.831481933593807,60.63671875],[18.78771972656253,60.08190917968753],[17.86932373046878,58.95391845703131],[16.829284667968807,58.71990966796872],[16.44769287109378,57.04107666015625],[15.879882812500057,56.10430908203128],[14.666687011718778,56.20092773437503],[14.100708007812557,55.40789794921875],[12.942871093750057,55.36187744140628],[12.6251220703125,56.30712890625],[11.7880859375,57.44189453125],[11.027282714843778,58.85607910156247],[10.356689453125057,59.46990966796875],[8.382080078125028,58.31329345703125],[7.04888916015625,58.07891845703131],[5.6658935546875,58.58807373046878],[5.308288574218778,59.66333007812503],[4.99212646484375,61.97113037109378],[5.912902832031278,62.61450195312506],[8.55352783203125,63.45410156250003],[10.5277099609375,64.48608398437506],[12.358276367187472,65.87969970703122],[14.761291503906278,67.81072998046875],[16.4359130859375,68.56329345703128],[19.184082031250057,69.81750488281256],[21.378479003906307,70.25531005859378],[23.023681640625057,70.20208740234378],[24.546691894531307,71.030517578125],[26.370117187500057,70.98632812500006],[28.16552734375,71.18548583984375],[31.29351806640628,70.45391845703122],[30.00549316406253,70.18627929687503],[31.10107421875003,69.55810546875006],[32.13269042968753,69.90588378906253],[33.775512695312585,69.301513671875],[36.514099121093835,69.0634765625],[40.29248046875003,67.93249511718747],[41.059875488281335,67.45727539062497],[41.12609863281253,66.7916870117188],[40.01593017578128,66.26629638671878],[38.38287353515628,65.99951171875],[33.91870117187503,66.75970458984378],[33.184509277343835,66.63250732421878],[34.81488037109378,65.90008544921878],[34.94390869140628,64.41448974609372],[36.231323242187585,64.10949707031247],[37.012878417968835,63.84991455078122],[37.142089843750085,64.33471679687503],[36.517700195312585,64.78027343750003],[37.17608642578128,65.143310546875],[39.593505859375085,64.52087402343753],[40.43572998046878,64.76452636718753],[39.762695312500085,65.4968872070313],[42.093078613281335,66.47631835937497],[43.01611328125003,66.41870117187506],[43.949890136718835,66.06909179687506],[44.532287597656335,66.75628662109378],[43.698486328125085,67.35247802734375],[44.187927246093835,67.9505004882813],[43.45288085937503,68.57092285156253],[46.25012207031253,68.25012207031253],[46.821289062500085,67.68988037109372],[45.555297851562585,67.56652832031253],[45.562072753906335,67.01007080078128],[46.349121093750085,66.66772460937497],[47.894287109375085,66.884521484375],[48.13867187500003,67.52252197265625],[50.227722167968835,67.99871826171878],[53.717529296875085,68.85748291015625],[54.471679687500085,68.80828857421875],[53.48590087890628,68.20129394531253],[54.726318359375085,68.09710693359375],[55.44268798828128,68.438720703125],[57.317077636718835,68.46630859375003],[58.802124023437585,68.88092041015622],[59.94152832031253,68.27850341796875],[61.077880859375085,68.94067382812503],[60.030090332031335,69.52008056640622],[60.550109863281335,69.85009765625003],[63.50408935546878,69.54748535156253],[64.88812255859378,69.23492431640622],[68.51208496093753,68.09228515625003],[69.18072509765628,68.61572265625],[68.16448974609378,69.14428710937503],[68.13531494140628,69.35650634765622],[66.93011474609384,69.45471191406253],[67.25988769531259,69.92871093749997],[66.72491455078128,70.70892333984372],[66.69470214843753,71.02911376953128],[68.54010009765634,71.93450927734375],[69.19628906250003,72.84350585937503],[69.94012451171878,73.04010009765625],[72.58752441406253,72.77630615234372],[72.79608154296878,72.22009277343756],[71.84808349609384,71.40911865234372],[72.47009277343759,71.09027099609378],[72.79187011718759,70.39111328125003],[72.56469726562509,69.02087402343753],[73.66790771484384,68.40789794921872],[73.23870849609378,67.74047851562503],[71.28009033203134,66.32012939453125],[72.42309570312503,66.17272949218753],[72.82067871093759,66.53271484375],[73.92108154296878,66.7894897460938],[74.18652343750009,67.2843017578125],[75.05212402343753,67.76049804687503],[74.46929931640628,68.32910156250006],[74.93591308593759,68.98931884765628],[73.84228515625003,69.07147216796872],[73.60192871093759,69.627685546875],[74.39990234375003,70.63189697265625],[73.10107421875003,71.44708251953125],[74.89093017578128,72.12127685546878],[74.65930175781253,72.83227539062497],[75.15808105468753,72.8551025390625],[75.68347167968753,72.30047607421878],[75.28912353515628,71.335693359375],[76.35913085937503,71.15289306640625],[75.90307617187503,71.87408447265628],[77.57672119140634,72.26727294921878],[79.65209960937509,72.32012939453128],[81.50012207031253,71.75012207031256],[80.61071777343753,72.58288574218747],[80.51110839843759,73.64831542968756],[82.25012207031259,73.85009765625003],[84.65527343750009,73.805908203125],[86.82232666015634,73.93688964843753],[86.00970458984384,74.45971679687497],[87.16687011718759,75.11651611328122],[88.31567382812509,75.1439208984375],[90.26007080078128,75.64007568359372],[92.90069580078128,75.77331542968747],[93.23431396484378,76.04730224609372],[95.86010742187509,76.1400756835938],[96.67828369140628,75.91552734375],[98.92248535156253,76.44689941406247],[100.75970458984384,76.43029785156247],[101.03527832031253,76.86187744140625],[101.99090576171884,77.2874755859375],[104.35168457031253,77.69787597656253],[106.06671142578134,77.3739013671875],[104.70507812500003,77.12750244140628],[106.97027587890628,76.97430419921875]],[[49.11029052734378,41.28228759765625],[49.618896484375085,40.57287597656253],[50.08489990234378,40.52630615234375],[50.39288330078128,40.25653076171878],[49.56927490234378,40.17608642578122],[49.39532470703128,39.39947509765628],[49.223327636718835,39.04931640624997],[48.85650634765628,38.81549072265625],[48.88330078125003,38.32031250000006],[49.19970703125003,37.5828857421875],[50.14788818359378,37.37469482421875],[50.842285156250085,36.87292480468756],[52.264099121093835,36.70050048828131],[53.825927734375085,36.965087890625],[53.921691894531335,37.19891357421875],[53.73547363281253,37.90612792968756],[53.88092041015628,38.95208740234378],[53.101074218750085,39.29071044921875],[53.35791015625003,39.97528076171878],[52.69409179687503,40.03369140624997],[52.915283203125085,40.87652587890628],[53.858276367187585,40.631103515625],[54.736877441406335,40.95111083984381],[54.008300781250085,41.55133056640628],[53.72167968750003,42.12329101562497],[52.91668701171878,41.86810302734375],[52.81469726562503,41.135498046875],[52.50250244140628,41.7833251953125],[52.44628906250003,42.02728271484375],[52.69207763671878,42.44390869140631],[52.50152587890628,42.79229736328122],[51.34252929687503,43.13311767578131],[50.891296386718835,44.03112792968747],[50.339111328125085,44.28411865234381],[50.305725097656335,44.60992431640625],[51.278503417968835,44.51489257812503],[51.31689453125003,45.24609374999997],[52.16748046875003,45.40850830078122],[53.040893554687585,45.25909423828125],[53.22088623046878,46.23468017578122],[53.04272460937503,46.85308837890628],[52.042114257812585,46.80468749999997],[51.192077636718835,47.04870605468753],[50.034118652343835,46.609130859375],[49.10131835937503,46.39947509765622],[48.645507812500085,45.80627441406256],[47.675903320312585,45.64147949218756],[46.68212890625003,44.60931396484381],[47.59088134765628,43.66027832031253],[47.492492675781335,42.9866943359375],[48.584472656250085,41.80889892578125],[49.11029052734378,41.28228759765625]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-93.84000301794401,77.5199972602345],[-94.29560828324517,77.49134267852878],[-96.16965410031,77.55511139597698],[-96.43630449093612,77.83462921824372],[-94.4225772773863,77.82000478790508],[-93.72065629756597,77.63433136668033],[-93.84000301794401,77.5199972602345]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-110.18693803591307,77.69701487905039],[-112.05119116905848,77.40922882761694],[-113.53427893761916,77.73220652944124],[-112.72458675825395,78.05105011668203],[-111.26444332563086,78.15295604116164],[-109.85445187054711,77.99632477488493],[-110.18693803591307,77.69701487905039]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[24.72412,77.85385],[22.49032,77.44493],[20.72601,77.67704],[21.41611,77.93504],[20.8119,78.25463],[22.88426,78.45494],[23.28134,78.07954],[24.72412,77.85385]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-109.6631457182026,78.60197256134569],[-110.88131425661896,78.40691986765992],[-112.54209143761518,78.40790171987351],[-112.5258908760917,78.55055451121515],[-111.50001034223341,78.84999359813057],[-110.96366065147603,78.8044408230653],[-109.6631457182026,78.60197256134569]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-95.83029496944926,78.05694122996334],[-97.30984290239803,77.8505972358218],[-98.12428931353409,78.08285696075768],[-98.55286780474657,78.45810537384503],[-98.63198442258545,78.87193024363839],[-97.33723141151253,78.83198436147669],[-96.7543987699087,78.76581268992709],[-95.5592779202945,78.41831452098029],[-95.83029496944926,78.05694122996334]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-100.06019182005224,78.32475434031582],[-99.67093909381353,77.9075446642075],[-101.30394019245293,78.0189848904449],[-102.94980872273305,78.3432286648603],[-105.17613277873156,78.38033234324584],[-104.21042945027718,78.67742015249178],[-105.41958045125855,78.91833567983653],[-105.49228919149326,79.30159393992912],[-103.52928239623785,79.16534902619165],[-100.82515804726873,78.8004617377787],[-100.06019182005224,78.32475434031582]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[105.07547,78.30689],[99.43814,77.921],[101.2649,79.23399],[102.08635,79.34641],[102.837815,79.28129],[105.37243,78.7133400000001],[105.07547,78.30689]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[18.25183,79.70175],[21.54383,78.95611],[19.02737,78.5626],[18.47172,77.82669],[17.59441,77.63796],[17.1182,76.80941],[15.91315,76.77045],[13.76259,77.38035],[14.669560000000104,77.73565],[13.170600000000121,78.02493],[11.22231,78.8693],[10.4445300000001,79.65239],[13.17077,80.01046],[13.71852,79.66039],[15.14282,79.67431],[15.52255,80.01608],[16.99085,80.05086],[18.25183,79.70175]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[25.44762535981198,80.4073403998946],[27.4075057309135,80.05640574820055],[25.92465050629818,79.51783397085455],[23.024465773213706,79.4000117052291],[20.075188429451885,79.56682322866726],[19.897266473071,79.84236196564751],[18.462263624757895,79.85988027619442],[17.368015170977543,80.3188961860271],[20.455992059010697,80.59815562613224],[21.90794477711549,80.35767934846206],[22.919252557067438,80.6571442735935],[25.44762535981198,80.4073403998946]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[51.136186557831394,80.54728017854103],[49.79368452332082,80.41542776154822],[48.8944112485776,80.33956675894379],[48.754936557821765,80.17546824820093],[47.58611901224421,80.01018117951534],[46.50282596210971,80.24724681265437],[47.07245527526297,80.55942414012947],[44.84695804218123,80.5898098823171],[46.79913862487123,80.77191762971373],[48.318477410684665,80.78400991486996],[48.52280602396675,80.51456899690024],[49.097189568890855,80.75398590770834],[50.039767693894674,80.91888540315182],[51.52293297710375,80.69972565380192],[51.136186557831394,80.54728017854103]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[99.93976,78.88094],[97.75794,78.7562],[94.97259,79.04474500000012],[93.31288,79.42650000000012],[92.5454,80.14379],[91.18107000000012,80.34146],[93.77766,81.0246],[95.940895,81.2504],[97.88385,80.7469750000001],[100.186655,79.780135],[99.93976,78.88094]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-87.02,79.66],[-85.81435,79.3369],[-87.18756,79.0393],[-89.03535,78.28723],[-90.80436,78.21533],[-92.87669,78.34333],[-93.95116,78.75099],[-93.93573999999987,79.11373],[-93.14524,79.38010000000011],[-94.974,79.37248],[-96.07614,79.7050200000001],[-96.70972,80.15777000000011],[-96.01644,80.60233],[-95.32345,80.9072900000001],[-94.29843,80.97727],[-94.73542,81.20646],[-92.40984,81.2573900000001],[-91.13289,80.72345],[-89.45,80.50932203389829],[-87.81,80.3200000000001],[-87.02,79.66]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-68.5,83.10632151676583],[-65.82735,83.02801000000014],[-63.68,82.9],[-61.85,82.62860000000015],[-61.89388,82.36165],[-64.334,81.92775],[-66.75342,81.72527],[-67.65755,81.50141],[-65.48031,81.50657],[-67.84,80.9],[-69.4697,80.61683000000014],[-71.18,79.8],[-73.2428,79.63415],[-73.88,79.43016220480209],[-76.90773,79.32309],[-75.52924,79.19766],[-76.22046,79.01907],[-75.39344999999989,78.52581],[-76.34353999999988,78.18296],[-77.88851,77.89991],[-78.36269,77.50859],[-79.75951,77.20968],[-79.61965,76.98336],[-77.91089,77.022045],[-77.88911,76.777955],[-80.56125,76.17812],[-83.17439,76.45403],[-86.11184,76.29901],[-87.6,76.42],[-89.49068,76.47239],[-89.6161,76.95213],[-87.76739,77.1783300000001],[-88.26,77.9],[-87.65,77.9702222222223],[-84.97634,77.53873],[-86.34,78.18],[-87.96192,78.37181],[-87.15198,78.75867],[-85.37868,78.9969],[-85.09495,79.34543],[-86.50734,79.73624],[-86.93179,80.25145],[-84.19844,80.20836],[-83.40869565217383,80.10000000000011],[-81.84823,80.46442],[-84.1,80.58],[-87.59895,80.51627],[-89.36663,80.85569],[-90.2,81.26],[-91.36786,81.5531],[-91.58702,81.89429],[-90.1,82.085],[-88.93227,82.11751],[-86.97024,82.27961],[-85.5,82.65227345805704],[-84.260005,82.6],[-83.18,82.32],[-82.42,82.86],[-81.1,83.02],[-79.30664,83.13056],[-76.25,83.1720588235294],[-75.71878,83.06404],[-72.83153,83.23324],[-70.665765,83.16978075838293],[-68.5,83.10632151676583]]]}},{"type":"Feature","properties":{"scalerank":1,"featureclass":"Country"},"geometry":{"type":"Polygon","coordinates":[[[-27.10046,83.51966],[-20.84539,82.72669],[-22.69182,82.34165],[-26.51753,82.29765000000012],[-31.9,82.2000000000001],[-31.39646,82.02154],[-27.85666,82.1317800000001],[-24.84448,81.78697000000011],[-22.90327999999988,82.0931700000001],[-22.07175,81.73449000000011],[-23.169609999999892,81.15271],[-20.62363,81.52462],[-15.768179999999887,81.91245],[-12.77018,81.71885],[-12.20855,81.29154],[-16.28533,80.58004],[-16.85,80.35],[-20.04624,80.17708],[-17.73035,80.12912],[-18.9,79.4],[-19.70499,78.75128],[-19.67353,77.63859],[-18.47285,76.98565],[-20.03503,76.94434],[-21.67944,76.62795],[-19.83407,76.09808],[-19.59896,75.24838],[-20.66818,75.15585],[-19.37281,74.29561],[-21.59422,74.2238200000001],[-20.43454,73.81713],[-20.76234,73.46436],[-22.17221,73.30955],[-23.56593,73.30663],[-22.31311,72.62928],[-22.29954,72.18409],[-24.27834,72.59788],[-24.79296,72.3302000000001],[-23.44296,72.08016],[-22.13281,71.46898000000013],[-21.75355999999988,70.66369],[-23.53603,70.471],[-24.30702,70.85649],[-25.54341,71.43094],[-25.20135,70.75226],[-26.36276,70.22646],[-23.72742,70.18401],[-22.34902,70.12946],[-25.02927,69.2588],[-27.74737,68.47046],[-30.67371,68.12503000000012],[-31.77665,68.12078000000011],[-32.81105,67.73547],[-34.20196,66.67974],[-36.35284,65.9789],[-37.04378,65.93768],[-38.37505,65.69213],[-39.81222,65.45848],[-40.66899,64.83997],[-40.68281,64.13902],[-41.1887,63.48246],[-42.81938,62.68233],[-42.41666,61.9009300000001],[-42.86619,61.07404],[-43.3784,60.09772],[-44.7875,60.03676],[-46.26364,60.85328],[-48.26294,60.85843],[-49.23308,61.40681],[-49.90039,62.38336],[-51.63325,63.62691],[-52.14014,64.27842000000012],[-52.27659,65.1767],[-53.66166,66.09957],[-53.30161,66.8365],[-53.96910999999989,67.18899],[-52.9804,68.35759],[-51.47535999999988,68.72958000000011],[-51.08041,69.14781],[-50.87122,69.9291],[-52.013585,69.57492],[-52.55792,69.42616],[-53.45629,69.283625],[-54.68336,69.61003],[-54.75001,70.28932],[-54.35884,70.821315],[-53.431315,70.835755],[-51.39014,70.56978000000012],[-53.10937,71.20485],[-54.00422,71.54719],[-55,71.4065369672725],[-55.83468,71.65444],[-54.71819,72.58625],[-55.326339999999874,72.95861],[-56.12003,73.6497700000001],[-57.32363,74.71026],[-58.59679,75.09861],[-58.58515999999989,75.51727000000011],[-61.26861,76.10238],[-63.391649999999885,76.1752],[-66.06427,76.13486],[-68.50438,76.06141],[-69.66485,76.37975],[-71.40257,77.0085700000001],[-68.77671,77.32312],[-66.76397,77.37595],[-71.04293,77.63595],[-73.297,78.04419],[-73.15937999999989,78.43271],[-69.37345,78.91388],[-65.7107,79.39436],[-65.3239,79.75814],[-68.02298,80.11721],[-67.15129,80.51582],[-63.68925,81.2139600000001],[-62.23444,81.3211],[-62.65116,81.77042],[-60.28249,82.0336300000001],[-57.20744,82.19074],[-54.13442,82.19962],[-53.04328,81.88833],[-50.39061,82.43883],[-48.00386,82.06481],[-46.59984,81.9859450000001],[-44.523,81.6607],[-46.9007,82.19979],[-46.76379,82.62796],[-43.40644,83.22516],[-39.89753,83.18018],[-38.62214,83.54905],[-35.08787,83.64513],[-27.10046,83.51966]]]}}]} diff --git a/pp/pp/cells/north-america.geojson b/pp/pp/cells/north-america.geojson deleted file mode 100644 index a2f07f9..0000000 --- a/pp/pp/cells/north-america.geojson +++ /dev/null @@ -1 +0,0 @@ -{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":2,"sovereignt":"Mexico","sov_a3":"MEX","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Mexico","adm0_a3":"MEX","geou_dif":0,"geounit":"Mexico","gu_a3":"MEX","su_dif":0,"subunit":"Mexico","su_a3":"MEX","brk_diff":0,"name":"Mexico","name_long":"Mexico","brk_a3":"MEX","brk_name":"Mexico","brk_group":null,"abbrev":"Mex.","postal":"MX","formal_en":"United Mexican States","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Mexico","name_alt":null,"mapcolor7":6,"mapcolor8":1,"mapcolor9":7,"mapcolor13":3,"pop_est":111211789,"gdp_md_est":1563000,"pop_year":-99,"lastcensus":2010,"gdp_year":-99,"economy":"4. Emerging region: MIKT","income_grp":"3. Upper middle income","wikipedia":-99,"fips_10":null,"iso_a2":"MX","iso_a3":"MEX","iso_n3":"484","un_a3":"484","wb_a2":"MX","wb_a3":"MEX","woe_id":-99,"adm0_a3_is":"MEX","adm0_a3_us":"MEX","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"North America","region_un":"Americas","subregion":"Central America","region_wb":"Latin America & Caribbean","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"MEX.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-97.14000830767071,25.869997463478395],[-97.52807247596655,24.992144069920297],[-97.70294552284223,24.272343044526735],[-97.77604183631905,22.932579860927657],[-97.87236670611111,22.44421173755336],[-97.69904395220419,21.898689480064263],[-97.38895952023677,21.411018988525825],[-97.18933346229329,20.635433254473128],[-96.52557552772032,19.890930894444068],[-96.29212724484177,19.320371405509547],[-95.90088497595995,18.82802419684873],[-94.83906348344271,18.562717393462208],[-94.4257295397562,18.144370835843347],[-93.5486512926824,18.423836981677937],[-92.7861138577835,18.52483856859226],[-92.0373481920904,18.704569200103432],[-91.40790340855926,18.87608327888023],[-90.77186987991087,19.28412038825678],[-90.53358985061305,19.8674181177513],[-90.45147599970124,20.707521877520435],[-90.27861833368489,20.99985545499555],[-89.60132117385149,21.26172577563449],[-88.54386633986284,21.49367544197662],[-87.65841651075772,21.458845526611977],[-87.05189022494807,21.543543199138295],[-86.81198238803296,21.331514797444754],[-86.84590796583262,20.849864610268355],[-87.38329118523586,20.25540477139873],[-87.62105445021075,19.64655304613592],[-87.43675045444176,19.47240346931227],[-87.58656043165593,19.04013011319074],[-87.83719112827151,18.25981598558343],[-88.09066402866318,18.51664785407405],[-88.30003109409364,18.49998220466],[-88.4901228502793,18.48683055264172],[-88.84834387892658,17.883198147040332],[-89.02985734735176,18.00151133877256],[-89.15090938999549,17.955467637600407],[-89.14308041050333,17.808318996649405],[-90.0679335192309,17.81932607672752],[-91.00151994501596,17.817594916245696],[-91.00226925328417,17.25465770107428],[-91.45392127151511,17.252177232324186],[-91.0816700915006,16.91847667079952],[-90.71182186558764,16.687483018454767],[-90.60084672724093,16.47077789963879],[-90.438866950222,16.41010976812811],[-90.46447262242265,16.069562079324726],[-91.74796017125595,16.066564846251765],[-92.2292486234063,15.251446641495873],[-92.08721594925203,15.064584662328512],[-92.20322953974727,14.83010285080411],[-92.22775000686983,14.538828640190957],[-93.35946387406176,15.615429592343672],[-93.87516883011851,15.940164292865914],[-94.69165646033014,16.200975246642884],[-95.25022701697304,16.128318182840644],[-96.05338212765331,15.752087917539596],[-96.55743404822829,15.65351512294279],[-97.26359249549665,15.917064927631316],[-98.01302995480961,16.107311713113912],[-98.94767574745651,16.566043402568763],[-99.69739742714705,16.70616404872817],[-100.82949886758131,17.17107107184205],[-101.66608862995446,17.649026394109626],[-101.91852800170022,17.916090196193977],[-102.47813208698891,17.975750637275098],[-103.50098954955808,18.29229462327885],[-103.91752743204682,18.74857168220001],[-104.9920096504755,19.316133938061682],[-105.49303849976144,19.946767279535436],[-105.73139604370766,20.434101874264115],[-105.39777299683135,20.531718654863425],[-105.50066077352443,20.81689504646613],[-105.27075232625793,21.07628489835514],[-105.26581722697402,21.42210358325235],[-105.6031609769754,21.871145941652568],[-105.69341386597313,22.269080308516152],[-106.02871639689897,22.773752346278627],[-106.90998043498837,23.767774359628902],[-107.91544877809139,24.54891531015295],[-108.40190487347098,25.17231395110593],[-109.26019873740665,25.58060944264406],[-109.44408932171734,25.824883938087677],[-109.29164384645627,26.442934068298428],[-109.80145768923182,26.676175645447927],[-110.3917317370857,27.16211497650454],[-110.64101884646163,27.859876003525528],[-111.17891883018785,27.941240546169066],[-111.75960689985163,28.46795258230395],[-112.2282346260904,28.95440867768349],[-112.27182369672869,29.266844387320074],[-112.80959448937398,30.021113593052345],[-113.16381059451868,30.78688080496943],[-113.14866939985717,31.17096588797892],[-113.87188106978186,31.567608344035193],[-114.2057366606035,31.52404511161313],[-114.77645117883503,31.799532172161147],[-114.93669979537212,31.3934846054276],[-114.77123185917351,30.913617255165267],[-114.67389929895177,30.162681179315992],[-114.33097449426292,29.75043244070741],[-113.58887508833544,29.061611436473015],[-113.42405310754054,28.82617361095123],[-113.27196936730553,28.7547826197399],[-113.14003943566439,28.411289374295958],[-112.9622983467965,28.42519033458251],[-112.76158708377488,27.780216783147523],[-112.45791052941166,27.52581370697476],[-112.2449519519368,27.17172679291076],[-111.6164890206192,26.662817287700477],[-111.28467464887302,25.732589830014433],[-110.98781938357239,25.294606228124564],[-110.71000688357134,24.82600434010186],[-110.65504899782887,24.298594672131117],[-110.17285620811343,24.265547593680424],[-109.77184709352855,23.811182562754198],[-109.4091043770557,23.36467234953625],[-109.43339230023292,23.1855876734287],[-109.85421932660171,22.818271592698068],[-110.03139197471444,22.823077500901206],[-110.29507097048366,23.43097321216669],[-110.94950130902805,24.00096426034599],[-111.67056840701268,24.484423122652515],[-112.18203589562147,24.738412787367167],[-112.14898881717085,25.47012523040405],[-112.3007108223797,26.012004299416613],[-112.77729671919155,26.32195954030317],[-113.46467078332194,26.768185533143424],[-113.59672990604383,26.639459540304472],[-113.84893673384424,26.90006378835244],[-114.46574662968003,27.142090358991368],[-115.055142178185,27.72272675222291],[-114.98225257043741,27.798200181585116],[-114.57036556685495,27.74148529714489],[-114.19932878299925,28.115002549750553],[-114.16201839888463,28.566111965442303],[-114.93184221073663,29.279479275015486],[-115.518653937627,29.556361599235398],[-115.88736528202958,30.180793768834178],[-116.25835038945293,30.83646434175358],[-116.72152625208498,31.635743720012044],[-117.12775999999985,32.53534],[-115.99135,32.61239000000012],[-114.72139,32.72083],[-114.815,32.52528],[-113.30498,32.03914],[-111.02361,31.33472],[-109.035,31.341940000000136],[-108.24194,31.34222],[-108.24,31.75485371816637],[-106.50759,31.75452],[-106.1429,31.39995],[-105.63159,31.08383],[-105.03737,30.64402],[-104.70575,30.12173],[-104.4569699999999,29.57196],[-103.94,29.27],[-103.11,28.97],[-102.48,29.76],[-101.6624,29.7793],[-100.9576,29.380710000000132],[-100.45584,28.696120000000118],[-100.11,28.110000000000127],[-99.52,27.54],[-99.3,26.84],[-99.02,26.37],[-98.24,26.06],[-97.53,25.84],[-97.14000830767071,25.869997463478395]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":2,"sovereignt":"Canada","sov_a3":"CAN","adm0_dif":0,"level":2,"type":"Sovereign country","admin":"Canada","adm0_a3":"CAN","geou_dif":0,"geounit":"Canada","gu_a3":"CAN","su_dif":0,"subunit":"Canada","su_a3":"CAN","brk_diff":0,"name":"Canada","name_long":"Canada","brk_a3":"CAN","brk_name":"Canada","brk_group":null,"abbrev":"Can.","postal":"CA","formal_en":"Canada","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"Canada","name_alt":null,"mapcolor7":6,"mapcolor8":6,"mapcolor9":2,"mapcolor13":2,"pop_est":33487208,"gdp_md_est":1300000,"pop_year":-99,"lastcensus":2011,"gdp_year":-99,"economy":"1. Developed region: G7","income_grp":"1. High income: OECD","wikipedia":-99,"fips_10":null,"iso_a2":"CA","iso_a3":"CAN","iso_n3":"124","un_a3":"124","wb_a2":"CA","wb_a3":"CAN","woe_id":-99,"adm0_a3_is":"CAN","adm0_a3_us":"CAN","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"North America","region_un":"Americas","subregion":"Northern America","region_wb":"North America","name_len":6,"long_len":6,"abbrev_len":4,"tiny":-99,"homepart":1,"filename":"CAN.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-63.6645,46.55001],[-62.9393,46.41587],[-62.01208,46.44314],[-62.50391,46.03339],[-62.87433,45.96818],[-64.1428,46.39265],[-64.39261,46.72747],[-64.01486,47.03601],[-63.6645,46.55001]]],[[[-61.806305,49.10506],[-62.29318,49.08717],[-63.58926,49.40069],[-64.51912,49.87304],[-64.17322,49.95718],[-62.85829,49.70641],[-61.835585,49.28855],[-61.806305,49.10506]]],[[[-123.51000158755114,48.51001089130344],[-124.0128907883995,48.370846259141416],[-125.65501277733837,48.8250045843385],[-125.95499446679275,49.179995835967645],[-126.85000443587187,49.53000031188043],[-127.0299934495444,49.81499583597008],[-128.05933630436624,49.9949590114266],[-128.44458410710217,50.539137681676124],[-128.35841365625544,50.770648098343685],[-127.3085810960299,50.55257355407195],[-126.69500097721232,50.400903225295394],[-125.75500667382319,50.29501821552938],[-125.4150015875588,49.95000051533261],[-124.92076818911934,49.475274970083404],[-123.92250870832102,49.06248362893581],[-123.51000158755114,48.51001089130344]]],[[[-56.13403581401712,50.6870097926793],[-56.795881720595276,49.81230866149096],[-56.1431050278843,50.150117499382844],[-55.471492275602934,49.93581533466846],[-55.82240108908093,49.58712860777911],[-54.935142584845664,49.31301097268684],[-54.47377539734378,49.55669118915918],[-53.476549445191324,49.24913890237405],[-53.78601375997124,48.51678050393363],[-53.086133999226256,48.687803656603535],[-52.958648240762244,48.157164211614486],[-52.64809872090419,47.5355484075755],[-53.069158291218336,46.65549876564495],[-53.52145626485304,46.61829173439483],[-54.17893551290254,46.80706574155701],[-53.961868659060485,47.62520701760192],[-54.24048214376214,47.75227936460763],[-55.4007730780115,46.884993801453135],[-55.99748084168584,46.9197203639533],[-55.29121904155278,47.389562486351],[-56.25079871278052,47.63254507098739],[-57.3252292547771,47.572807115258],[-59.26601518414677,47.603347886742505],[-59.419494188053704,47.899453843774864],[-58.796586473207405,48.25152537697949],[-59.231624518456535,48.52318838153781],[-58.39180497906523,49.12558055276418],[-57.35868974468604,50.718274034215845],[-56.73865007183201,51.28743825947853],[-55.870976935435294,51.632094224649194],[-55.406974249886616,51.58827261006573],[-55.60021826844209,51.31707469339793],[-56.13403581401712,50.6870097926793]]],[[[-133.1800040417117,54.16997549093531],[-132.71000788443132,54.040009315423525],[-131.74998958400326,54.12000438090922],[-132.049480347351,52.984621487024526],[-131.1790425218266,52.180432847698285],[-131.57782954982292,52.18237071390925],[-132.18042842677855,52.639707139692405],[-132.54999243231387,53.100014960332146],[-133.05461117875552,53.41146881775537],[-133.2396644827927,53.8510802272624],[-133.1800040417117,54.16997549093531]]],[[[-79.26582,62.158675],[-79.65752,61.63308],[-80.09956,61.7181],[-80.36215,62.01649],[-80.315395,62.085565],[-79.92939,62.3856],[-79.52002,62.36371],[-79.26582,62.158675]]],[[[-81.89825,62.7108],[-83.06857,62.15922],[-83.77462,62.18231],[-83.99367,62.4528],[-83.25048,62.91409],[-81.87699,62.90458],[-81.89825,62.7108]]],[[[-85.16130794954985,65.65728465439281],[-84.97576371940596,65.217518215589],[-84.4640120104195,65.37177236598018],[-83.88262630891975,65.10961782496355],[-82.78757687043877,64.76669302027469],[-81.64201371939254,64.45513580998696],[-81.55344031444425,63.979609280037145],[-80.81736121287886,64.05748566350101],[-80.10345130076661,63.725981350348604],[-80.99101986359568,63.41124603947497],[-82.54717810741701,63.65172231714524],[-83.10879757356506,64.10187571883972],[-84.10041663281388,63.56971181909802],[-85.52340471061902,63.05237905542409],[-85.86676876498237,63.637252916103556],[-87.22198320183674,63.541238104905226],[-86.35275977247127,64.03583323837071],[-86.22488644076513,64.82291697860826],[-85.88384782585487,65.73877838811705],[-85.16130794954985,65.65728465439281]]],[[[-75.86588,67.14886],[-76.98687,67.09873],[-77.2364,67.58809],[-76.81166,68.14856],[-75.89521,68.28721],[-75.1145,68.01036],[-75.10333,67.58202],[-75.21597,67.44425],[-75.86588,67.14886]]],[[[-95.64768120380052,69.10769035832178],[-96.2695212038006,68.75704035832175],[-97.61740120380057,69.0600303583218],[-98.43180120380052,68.9507003583218],[-99.79740120380053,69.4000303583218],[-98.91740120380055,69.7100303583218],[-98.2182612038005,70.14354035832176],[-97.15740120380056,69.86003035832181],[-96.55740120380054,69.68003035832176],[-96.25740120380053,69.49003035832177],[-95.64768120380052,69.10769035832178]]],[[[-90.5471,69.49766],[-90.55151,68.47499],[-89.21515,69.25873],[-88.01966,68.61508],[-88.31749,67.87338],[-87.35017,67.19872],[-86.30607,67.92146],[-85.57664,68.78456],[-85.52197,69.88211],[-84.10081,69.80539],[-82.62258,69.65826],[-81.28043,69.16202],[-81.2202,68.66567],[-81.96436,68.13253],[-81.25928,67.59716],[-81.38653,67.11078],[-83.34456,66.41154],[-84.73542,66.2573],[-85.76943,66.55833],[-86.0676,66.05625],[-87.03143,65.21297],[-87.32324,64.77563],[-88.48296,64.09897],[-89.91444,64.03273],[-90.70398,63.61017],[-90.77004,62.96021],[-91.93342,62.83508],[-93.15698,62.02469],[-94.24153,60.89865],[-94.62931,60.11021],[-94.6846,58.94882],[-93.21502,58.78212],[-92.76462,57.84571],[-92.29703,57.08709],[-90.89769,57.28468],[-89.03953,56.85172],[-88.03978,56.47162],[-87.32421,55.99914],[-86.07121,55.72383],[-85.01181,55.3026],[-83.36055,55.24489],[-82.27285,55.14832],[-82.4362,54.28227],[-82.12502,53.27703],[-81.40075,52.15788],[-79.91289,51.20842],[-79.14301,51.53393],[-78.60191,52.56208],[-79.12421,54.14145],[-79.82958,54.66772],[-78.22874,55.13645],[-77.0956,55.83741],[-76.54137,56.53423],[-76.62319,57.20263],[-77.30226,58.05209],[-78.51688,58.80458],[-77.33676,59.85261],[-77.77272,60.75788],[-78.10687,62.31964],[-77.41067,62.55053],[-75.69621,62.2784],[-74.6682,62.18111],[-73.83988,62.4438],[-72.90853,62.10507],[-71.67708,61.52535],[-71.37369,61.13717],[-69.59042,61.06141],[-69.62033,60.22125],[-69.2879,58.95736],[-68.37455,58.80106],[-67.64976,58.21206],[-66.20178,58.76731],[-65.24517,59.87071],[-64.58352,60.33558],[-63.80475,59.4426],[-62.50236,58.16708],[-61.39655,56.96745],[-61.79866,56.33945],[-60.46853,55.77548],[-59.56962,55.20407],[-57.97508,54.94549],[-57.3332,54.6265],[-56.93689,53.78032],[-56.15811,53.64749],[-55.75632,53.27036],[-55.68338,52.14664],[-56.40916,51.7707],[-57.12691,51.41972],[-58.77482,51.0643],[-60.03309,50.24277],[-61.72366,50.08046],[-63.86251,50.29099],[-65.36331,50.2982],[-66.39905,50.22897],[-67.23631,49.51156],[-68.51114,49.06836],[-69.95362,47.74488],[-71.10458,46.82171],[-70.25522,46.98606],[-68.65,48.3],[-66.55243,49.1331],[-65.05626,49.23278],[-64.17099,48.74248],[-65.11545,48.07085],[-64.79854,46.99297],[-64.47219,46.23849],[-63.17329,45.73902],[-61.52072,45.88377],[-60.51815,47.00793],[-60.4486,46.28264],[-59.80287,45.9204],[-61.03988,45.26525],[-63.25471,44.67014],[-64.24656,44.26553],[-65.36406,43.54523],[-66.1234,43.61867],[-66.16173,44.46512],[-64.42549,45.29204],[-66.02605,45.25931],[-67.13741,45.13753],[-67.79134,45.70281],[-67.79046,47.06636],[-68.23444,47.35486],[-68.905,47.185],[-69.237216,47.447781],[-69.99997,46.69307],[-70.305,45.915],[-70.66,45.46],[-71.08482,45.30524],[-71.405,45.255],[-71.50506,45.0082],[-73.34783,45.00738],[-74.867,45.00048],[-75.31821,44.81645],[-76.375,44.09631],[-76.5,44.01845889375872],[-76.82003414580558,43.628784288093755],[-77.7378850979577,43.629055589363304],[-78.72027991404238,43.625089423184875],[-79.17167355011188,43.46633942318422],[-79.01,43.27],[-78.92,42.965],[-78.9393621487437,42.86361135514804],[-80.24744767934794,42.36619985612259],[-81.27774654816716,42.20902598730686],[-82.43927771679162,41.675105088867156],[-82.69008928092018,41.675105088867156],[-83.02981014680694,41.83279572200584],[-83.14199968131256,41.975681057292825],[-83.12,42.08],[-82.9,42.43],[-82.43,42.98],[-82.1376423815039,43.571087551439916],[-82.33776312543108,44.44],[-82.55092464875818,45.347516587905375],[-83.59285071484308,45.81689362241237],[-83.46955074739463,45.99468638771259],[-83.61613094759059,46.11692698829907],[-83.89076534700575,46.11692698829907],[-84.09185126416148,46.275418606138174],[-84.14211951367338,46.51222585711574],[-84.3367,46.40877],[-84.6049,46.4396],[-84.54374874544587,46.538684190449146],[-84.77923824739992,46.637101955749046],[-84.87607988151485,46.90008331968238],[-85.65236324740343,47.22021881773051],[-86.46199083122826,47.55333801939204],[-87.43979262330024,47.94],[-88.37811418328673,48.302917588893735],[-89.27291744663668,48.019808254582664],[-89.6,48.01],[-90.83,48.27],[-91.64,48.14],[-92.61,48.45],[-93.63087,48.60926],[-94.32914,48.67074],[-94.64,48.84],[-94.81758,49.38905],[-95.15609,49.38425],[-95.15906950917204,49],[-97.22872000000481,49.0007],[-100.65,49],[-104.04826,48.99986],[-107.05,49],[-110.05,49],[-113,49],[-116.04818,49],[-117.03121,49],[-120,49],[-122.84,49],[-122.97421,49.0025377777778],[-124.91024,49.98456],[-125.62461,50.41656],[-127.43561,50.83061],[-127.99276,51.71583],[-127.85032,52.32961],[-129.12979,52.75538],[-129.30523,53.56159],[-130.51497,54.28757],[-130.53611,54.80278],[-129.98,55.285],[-130.00778,55.91583],[-131.70781,56.55212],[-132.73042,57.69289],[-133.35556,58.41028],[-134.27111,58.86111],[-134.945,59.27056],[-135.47583,59.78778],[-136.47972,59.46389],[-137.4525,58.905],[-138.34089,59.56211],[-139.039,60],[-140.013,60.27682],[-140.99778,60.30639],[-140.9925,66.00003],[-140.986,69.712],[-139.12052,69.47102],[-137.54636,68.99002],[-136.50358,68.89804],[-135.62576,69.31512],[-134.41464,69.62743],[-132.92925,69.50534],[-131.43136,69.94451],[-129.79471,70.19369],[-129.10773,69.77927],[-128.36156,70.01286],[-128.13817,70.48384],[-127.44712,70.37721],[-125.75632,69.48058],[-124.42483,70.1584],[-124.28968,69.39969],[-123.06108,69.56372],[-122.6835,69.85553],[-121.47226,69.79778],[-119.94288,69.37786],[-117.60268,69.01128],[-116.22643,68.84151],[-115.2469,68.90591],[-113.89794,68.3989],[-115.30489,67.90261],[-113.49727,67.68815],[-110.798,67.80612],[-109.94619,67.98104],[-108.8802,67.38144],[-107.79239,67.88736],[-108.81299,68.31164],[-108.16721,68.65392],[-106.95,68.7],[-106.15,68.8],[-105.34282,68.56122],[-104.33791,68.018],[-103.22115,68.09775],[-101.45433,67.64689],[-99.90195,67.80566],[-98.4432,67.78165],[-98.5586,68.40394],[-97.66948,68.57864],[-96.11991,68.23939],[-96.12588,67.29338],[-95.48943,68.0907],[-94.685,68.06383],[-94.23282,69.06903],[-95.30408,69.68571],[-96.47131,70.08976],[-96.39115,71.19482],[-95.2088,71.92053],[-93.88997,71.76015],[-92.87818,71.31869],[-91.51964,70.19129],[-92.40692,69.69997],[-90.5471,69.49766]]],[[[-114.1671699999999,73.12145],[-114.66634,72.65277],[-112.44101999999988,72.95540000000011],[-111.05039,72.4504],[-109.92034999999989,72.96113],[-109.00654,72.63335],[-108.18835,71.65089],[-107.68599,72.06548],[-108.39639,73.08953000000011],[-107.51645,73.23598],[-106.52259,73.07601],[-105.40246,72.67259],[-104.77484,71.6984],[-104.46475999999984,70.99297],[-102.78537,70.49776],[-100.9807799999999,70.02432],[-101.08929,69.58447000000012],[-102.73116,69.50402],[-102.09329,69.11962000000011],[-102.43024,68.75282],[-104.24,68.91],[-105.96,69.18000000000015],[-107.12254,69.11922],[-109,68.78],[-111.53414887520013,68.63005915681794],[-113.3132,68.53554],[-113.85495999999983,69.00744000000012],[-115.22,69.28],[-116.10794,69.16821],[-117.34,69.96000000000012],[-116.67472999999988,70.06655],[-115.13112,70.2373],[-113.72141,70.19237],[-112.4161,70.36638],[-114.35,70.6],[-116.48684,70.52045],[-117.9048,70.54056000000014],[-118.43238,70.9092],[-116.11311,71.30918],[-117.65568,71.2952],[-119.40199,71.55859],[-118.56267,72.30785],[-117.86642,72.70594],[-115.18909,73.31459000000012],[-114.1671699999999,73.12145]]],[[[-104.5,73.42],[-105.38,72.76],[-106.94,73.46],[-106.6,73.6],[-105.26,73.64],[-104.5,73.42]]],[[[-76.34,73.10268498995302],[-76.25140380859375,72.82638549804688],[-77.31443786621091,72.85554504394527],[-78.39167022705081,72.87665557861328],[-79.48625183105466,72.74220275878909],[-79.77583312988284,72.80290222167974],[-80.87609863281253,73.3331832885742],[-80.83388519287105,73.69318389892578],[-80.35305786132812,73.75971984863278],[-78.06443786621094,73.65193176269534],[-76.34,73.10268498995302]]],[[[-86.56217851433414,73.15744700793846],[-85.77437130404454,72.53412588163383],[-84.85011247428824,73.34027822538712],[-82.31559017610098,73.75095083281059],[-80.60008765330764,72.71654368762421],[-80.7489416165244,72.06190664335077],[-78.77063859731078,72.35217316353416],[-77.82462398955958,72.74961660429105],[-75.60584469267573,72.24367849393741],[-74.22861609566499,71.7671442735579],[-74.09914079455771,71.33084015571765],[-72.24222571479766,71.5569245469945],[-71.20001542833519,70.92001251899723],[-68.7860542466849,70.52502370877426],[-67.91497046575694,70.12194753689761],[-66.96903337265417,69.18608734809189],[-68.80512285020055,68.72019847276442],[-66.44986609563387,68.06716339789202],[-64.86231441919522,67.84753856065163],[-63.42493445499676,66.92847321234066],[-61.85198137068058,66.86212067327784],[-62.1631768459423,66.16025136988961],[-63.918444383384184,64.99866852483284],[-65.14886023625363,65.42603261988668],[-66.72121904159854,66.3880410834322],[-68.01501603867396,66.26272573512439],[-68.14128740097917,65.68978913030438],[-67.08964616562339,65.108455105237],[-65.73208045109976,64.64840566675863],[-65.32016760930128,64.38273712834606],[-64.66940629744968,63.39292674422748],[-65.01380388045891,62.67418508569599],[-66.27504472519047,62.945098781986076],[-68.78318620469273,63.74567007105181],[-67.36968075221304,62.883965562584876],[-66.3282972886672,62.280074774822054],[-66.16556820338016,61.93089712182589],[-68.87736650254465,62.33014923771282],[-71.02343705919384,62.91070811629584],[-72.235378587519,63.39783600529517],[-71.8862784491713,63.67998932560885],[-73.37830624051838,64.19396312118383],[-74.8344189114226,64.67907562932379],[-74.81850257027673,64.38909332951798],[-77.70997982452005,64.22954234481679],[-78.55594885935417,64.57290639918014],[-77.89728105336192,65.30919220647479],[-76.0182742987972,65.32696889918316],[-73.95979529488272,65.45476471624089],[-74.29388342964964,65.8117713487294],[-73.94491248238265,66.31057811142672],[-72.65116716173941,67.28457550726387],[-72.92605994331609,67.72692576768239],[-73.31161780464575,68.06943716091291],[-74.84330725777681,68.55462718370129],[-76.86910091826674,68.89473562283027],[-76.22864905465735,69.14776927354742],[-77.28736996123712,69.76954010688328],[-78.1686339993266,69.82648753526891],[-78.95724219431673,70.16688019477542],[-79.49245500356366,69.87180776638891],[-81.30547095409176,69.74318512641435],[-84.94470618359847,69.9666340196444],[-87.06000342481789,70.26000112576537],[-88.6817132230015,70.41074127876081],[-89.51341956252304,70.76203766548099],[-88.46772111688075,71.21818553332133],[-89.8881512112875,71.22255219184996],[-90.20516028518202,72.2350743679608],[-89.43657670770494,73.12946421985237],[-88.40824154331281,73.53788890247121],[-85.82615108920092,73.80381582304521],[-86.56217851433414,73.15744700793846]]],[[[-100.35642,73.84389],[-99.16387,73.63339],[-97.38,73.76],[-97.12,73.47],[-98.05359,72.99052],[-96.54,72.56],[-96.72,71.66],[-98.35966,71.27285],[-99.32286,71.35639],[-100.01482,71.73827],[-102.5,72.51],[-102.48,72.83],[-100.43836,72.70588],[-101.54,73.36],[-100.35642,73.84389]]],[[[-93.19629553910022,72.77199249947336],[-94.26904659704726,72.02459625923598],[-95.40985551632266,72.06188080513459],[-96.03374508338246,72.94027680123182],[-96.01826799191099,73.4374299180958],[-95.49579342322403,73.86241689726418],[-94.50365759965234,74.1349067247392],[-92.42001217321177,74.10002513294219],[-90.50979285354259,73.85673248971203],[-92.0039652168299,72.9662442084585],[-93.19629553910022,72.77199249947336]]],[[[-120.46,71.38360179308759],[-123.09219,70.90164],[-123.62,71.34],[-125.92894873747335,71.86868846301141],[-125.5,72.29226081179502],[-124.80729,73.02256],[-123.9399999999999,73.68000000000015],[-124.91775,74.29275000000013],[-121.53788,74.44893],[-120.10978,74.24135],[-117.55563999999987,74.18577],[-116.58442,73.89607],[-115.51081,73.47519],[-116.76793999999988,73.22292],[-119.22,72.52],[-120.46,71.82],[-120.46,71.38360179308759]]],[[[-93.61275590694049,74.97999726022445],[-94.15690873897384,74.59234650338686],[-95.60868058956561,74.66686391875177],[-96.82093217648458,74.92762319609658],[-96.2885874092298,75.37782827422335],[-94.85081987178913,75.6472175157609],[-93.97774654821794,75.29648956979597],[-93.61275590694049,74.97999726022445]]],[[[-98.5,76.72],[-97.735585,76.25656],[-97.704415,75.74344],[-98.16,75],[-99.80874,74.89744],[-100.88366,75.05736],[-100.86292,75.64075],[-102.50209,75.5638],[-102.56552,76.3366],[-101.48973,76.30537],[-99.98349,76.64634],[-98.57699,76.58859],[-98.5,76.72]]],[[[-108.21141,76.20168],[-107.81943,75.84552],[-106.92893,76.01282],[-105.881,75.9694],[-105.70498,75.47951],[-106.31347,75.00527],[-109.7,74.85],[-112.22307,74.41696],[-113.74381,74.39427],[-113.87135,74.72029],[-111.79421,75.1625],[-116.31221,75.04343],[-117.7104,75.2222],[-116.34602,76.19903],[-115.40487,76.47887],[-112.59056,76.14134],[-110.81422,75.54919],[-109.0671,75.47321],[-110.49726,76.42982],[-109.5811,76.79417],[-108.54859,76.67832],[-108.21141,76.20168]]],[[[-94.68408586299947,77.09787832305838],[-93.57392106807313,76.77629588490609],[-91.60502315953661,76.77851797149461],[-90.74184587274922,76.44959747995681],[-90.96966142450799,76.07401317005946],[-89.82223792189927,75.84777374948563],[-89.18708289259979,75.61016551380763],[-87.83827633334963,75.56618886992723],[-86.37919226758868,75.48242137318218],[-84.78962521029061,75.69920400664651],[-82.75344458691006,75.78431509063125],[-81.12853084992437,75.71398346628203],[-80.05751095245915,75.33684886341588],[-79.83393286814832,74.92312734648719],[-80.45777075877584,74.65730377877779],[-81.94884253612554,74.44245901152433],[-83.22889360221143,74.56402781849096],[-86.0974523587333,74.41003205026115],[-88.15035030796022,74.39230703398499],[-89.76472205275837,74.51555532500115],[-92.42244096552943,74.837757880341],[-92.7682854886428,75.38681997344216],[-92.88990597204173,75.88265534128266],[-93.893824022176,76.31924367950054],[-95.96245744503582,76.44138092722247],[-97.12137895382949,76.75107778594761],[-96.74512285031236,77.16138865834515],[-94.68408586299947,77.09787832305838]]],[[[-116.19858659550734,77.64528677032621],[-116.33581336145838,76.87696157501055],[-117.10605058476878,76.53003184681913],[-118.04041215703813,76.4811717800871],[-119.89931758688569,76.05321340606199],[-121.4999950771265,75.9000186225328],[-122.85492448615896,76.11654287383568],[-122.8549252936032,76.11654287383568],[-121.15753536032825,76.86450755482835],[-119.10393897182104,77.51221995717464],[-117.57013078496597,77.4983189968881],[-116.19858659550734,77.64528677032621]]],[[[-93.84000301794399,77.5199972602345],[-94.29560828324526,77.4913426785287],[-96.16965410031008,77.5551113959769],[-96.43630449093612,77.83462921824362],[-94.42257727738638,77.82000478790499],[-93.72065629756588,77.63433136668033],[-93.84000301794399,77.5199972602345]]],[[[-110.18693803591297,77.6970148790503],[-112.05119116905848,77.40922882761686],[-113.53427893761906,77.73220652944116],[-112.72458675825384,78.05105011668195],[-111.26444332563085,78.15295604116156],[-109.8544518705471,77.99632477488484],[-110.18693803591297,77.6970148790503]]],[[[-109.66314571820259,78.60197256134569],[-110.88131425661886,78.40691986766001],[-112.54209143761517,78.4079017198735],[-112.5258908760916,78.55055451121522],[-111.5000103422334,78.84999359813057],[-110.96366065147602,78.80444082306522],[-109.66314571820259,78.60197256134569]]],[[[-95.83029496944934,78.05694122996326],[-97.30984290239799,77.85059723582178],[-98.12428931353396,78.08285696075758],[-98.55286780474664,78.4581053738451],[-98.63198442258552,78.87193024363839],[-97.33723141151262,78.83198436147677],[-96.75439876990879,78.765812689927],[-95.55927792029458,78.41831452098029],[-95.83029496944934,78.05694122996326]]],[[[-100.06019182005214,78.3247543403159],[-99.67093909381362,77.9075446642074],[-101.30394019245301,78.01898489044481],[-102.94980872273305,78.34322866486022],[-105.17613277873154,78.38033234324574],[-104.21042945027716,78.6774201524918],[-105.41958045125854,78.91833567983645],[-105.49228919149316,79.30159393992919],[-103.52928239623793,79.16534902619165],[-100.82515804726881,78.80046173777869],[-100.06019182005214,78.3247543403159]]],[[[-87.02,79.66],[-85.81435,79.3369],[-87.18756,79.0393],[-89.03535,78.28723],[-90.80436,78.21533],[-92.87669,78.34333],[-93.95116,78.75099],[-93.93574,79.11373],[-93.14524,79.3801],[-94.974,79.37248],[-96.07614,79.70502],[-96.70972,80.15777],[-96.01644,80.60233],[-95.32345,80.90729],[-94.29843,80.97727],[-94.73542,81.20646],[-92.40984,81.25739],[-91.13289,80.72345],[-89.45,80.50932203389829],[-87.81,80.32],[-87.02,79.66]]],[[[-68.5,83.10632151676575],[-65.82735,83.02801],[-63.68,82.9],[-61.85,82.6286],[-61.89388,82.36165],[-64.334,81.92775],[-66.75342,81.72527],[-67.65755,81.50141],[-65.48031,81.50657],[-67.84,80.9],[-69.4697,80.61683],[-71.18,79.8],[-73.2428,79.63415],[-73.88,79.43016220480207],[-76.90773,79.32309],[-75.52924,79.19766],[-76.22046,79.01907],[-75.39345,78.52581],[-76.34354,78.18296],[-77.88851,77.89991],[-78.36269,77.50859],[-79.75951,77.20968],[-79.61965,76.98336],[-77.91089,77.022045],[-77.88911,76.777955],[-80.56125,76.17812],[-83.17439,76.45403],[-86.11184,76.29901],[-87.6,76.42],[-89.49068,76.47239],[-89.6161,76.95213],[-87.76739,77.17833],[-88.26,77.9],[-87.65,77.97022222222222],[-84.97634,77.53873],[-86.34,78.18],[-87.96192,78.37181],[-87.15198,78.75867],[-85.37868,78.9969],[-85.09495,79.34543],[-86.50734,79.73624],[-86.93179,80.25145],[-84.19844,80.20836],[-83.40869565217383,80.1],[-81.84823,80.46442],[-84.1,80.58],[-87.59895,80.51627],[-89.36663,80.85569],[-90.2,81.26],[-91.36786,81.5531],[-91.58702,81.89429],[-90.1,82.085],[-88.93227,82.11751],[-86.97024,82.27961],[-85.5,82.65227345805704],[-84.260005,82.6],[-83.18,82.32],[-82.42,82.86],[-81.1,83.02],[-79.30664,83.13056],[-76.25,83.1720588235294],[-75.71878,83.06404],[-72.83153,83.23324],[-70.665765,83.16978075838284],[-68.5,83.10632151676575]]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":2,"sovereignt":"United States of America","sov_a3":"US1","adm0_dif":1,"level":2,"type":"Country","admin":"United States of America","adm0_a3":"USA","geou_dif":0,"geounit":"United States of America","gu_a3":"USA","su_dif":0,"subunit":"United States of America","su_a3":"USA","brk_diff":0,"name":"United States","name_long":"United States","brk_a3":"USA","brk_name":"United States","brk_group":null,"abbrev":"U.S.A.","postal":"US","formal_en":"United States of America","formal_fr":null,"note_adm0":null,"note_brk":null,"name_sort":"United States of America","name_alt":null,"mapcolor7":4,"mapcolor8":5,"mapcolor9":1,"mapcolor13":1,"pop_est":313973000,"gdp_md_est":15094000,"pop_year":0,"lastcensus":2010,"gdp_year":0,"economy":"1. Developed region: G7","income_grp":"1. High income: OECD","wikipedia":0,"fips_10":null,"iso_a2":"US","iso_a3":"USA","iso_n3":"840","un_a3":"840","wb_a2":"US","wb_a3":"USA","woe_id":-99,"adm0_a3_is":"USA","adm0_a3_us":"USA","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"North America","region_un":"Americas","subregion":"Northern America","region_wb":"North America","name_len":13,"long_len":13,"abbrev_len":6,"tiny":-99,"homepart":1,"filename":"USA.geojson"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-155.54211,19.08348],[-155.68817,18.91619],[-155.93665,19.05939],[-155.90806,19.33888],[-156.07347,19.70294],[-156.02368,19.81422],[-155.85008,19.97729],[-155.91907,20.17395],[-155.86108,20.26721],[-155.78505,20.2487],[-155.40214,20.07975],[-155.22452,19.99302],[-155.06226,19.8591],[-154.80741,19.50871],[-154.83147,19.45328],[-155.22217,19.23972],[-155.54211,19.08348]]],[[[-156.07926,20.64397],[-156.41445,20.57241],[-156.58673,20.783],[-156.70167,20.8643],[-156.71055,20.92676],[-156.61258,21.01249],[-156.25711,20.91745],[-155.99566,20.76404],[-156.07926,20.64397]]],[[[-156.75824,21.17684],[-156.78933,21.06873],[-157.32521,21.09777],[-157.25027,21.21958],[-156.75824,21.17684]]],[[[-157.65283,21.32217],[-157.70703,21.26442],[-157.7786,21.27729],[-158.12667,21.31244],[-158.2538,21.53919],[-158.29265,21.57912],[-158.0252,21.71696],[-157.94161,21.65272],[-157.65283,21.32217]]],[[[-159.34512,21.982],[-159.46372,21.88299],[-159.80051,22.06533],[-159.74877,22.1382],[-159.5962,22.23618],[-159.36569,22.21494],[-159.34512,21.982]]],[[[-94.81758,49.38905],[-94.63999999999987,48.84000000000012],[-94.32914,48.67074000000011],[-93.63087,48.60926],[-92.61,48.45],[-91.64,48.14],[-90.82999999999986,48.27],[-89.6,48.010000000000105],[-89.27291744663668,48.01980825458284],[-88.37811418328653,48.30291758889382],[-87.43979262330024,47.94],[-86.46199083122815,47.55333801939204],[-85.65236324740323,47.22021881773051],[-84.87607988151485,46.90008331968238],[-84.77923824739983,46.63710195574913],[-84.54374874544567,46.53868419044923],[-84.6049,46.4396],[-84.3367,46.40877000000011],[-84.1421195136733,46.51222585711574],[-84.09185126416148,46.27541860613826],[-83.89076534700567,46.116926988299156],[-83.6161309475905,46.116926988299156],[-83.46955074739463,45.99468638771259],[-83.59285071484308,45.81689362241255],[-82.55092464875818,45.34751658790545],[-82.33776312543108,44.44],[-82.13764238150397,43.57108755144],[-82.43,42.9800000000001],[-82.89999999999989,42.43000000000015],[-83.11999999999989,42.08],[-83.14199968131256,41.975681057293],[-83.02981014680694,41.83279572200601],[-82.69008928092018,41.675105088867326],[-82.43927771679162,41.675105088867326],[-81.27774654816707,42.20902598730686],[-80.24744767934784,42.36619985612267],[-78.9393621487437,42.86361135514812],[-78.92,42.965],[-79.00999999999988,43.27],[-79.17167355011188,43.46633942318431],[-78.72027991404238,43.62508942318496],[-77.73788509795762,43.62905558936339],[-76.82003414580558,43.628784288093755],[-76.5,44.018458893758606],[-76.375,44.09631],[-75.31821,44.816450000000174],[-74.867,45.000480000000124],[-73.34783,45.00738],[-71.50505999999987,45.0082000000001],[-71.405,45.25500000000014],[-71.08482,45.30524000000017],[-70.6599999999998,45.46],[-70.305,45.915],[-69.99997,46.69307],[-69.237216,47.447781],[-68.905,47.185],[-68.23444,47.35486],[-67.79046,47.06636],[-67.79134,45.70281000000014],[-67.13741,45.13753],[-66.96466,44.80970000000016],[-68.03252,44.3252],[-69.05999999999989,43.98],[-70.11617,43.684050000000155],[-70.645475633411,43.09023834896405],[-70.81489,42.8653],[-70.825,42.335],[-70.495,41.805],[-70.08,41.78],[-70.185,42.145],[-69.88497,41.92283000000012],[-69.96503,41.63717000000017],[-70.64,41.475],[-71.12039,41.49445000000017],[-71.85999999999984,41.32],[-72.295,41.27],[-72.87643,41.22065],[-73.71,40.93110235165449],[-72.24126,41.11948000000015],[-71.94499999999982,40.93],[-73.345,40.63],[-73.982,40.628],[-73.952325,40.75075],[-74.25671,40.47351],[-73.96244,40.42763],[-74.17838,39.70926],[-74.90604,38.93954],[-74.98041,39.1964],[-75.20002,39.248450000000105],[-75.52805,39.4985],[-75.32,38.96],[-75.0718347647898,38.78203223017928],[-75.05673,38.40412000000012],[-75.37747,38.01551],[-75.94023,37.21689],[-76.03127,37.2566],[-75.72204999999978,37.93705000000011],[-76.23287,38.319215],[-76.35,39.15],[-76.542725,38.71761500000011],[-76.32933,38.08326],[-76.98999793161354,38.23999176691339],[-76.30162,37.917945],[-76.25874,36.96640000000011],[-75.9718,36.89726],[-75.86803999999984,36.55125],[-75.72749,35.55074000000013],[-76.36318,34.80854000000013],[-77.39763499999988,34.51201],[-78.05496,33.92547],[-78.55434999999983,33.86133000000012],[-79.06067,33.49395],[-79.20357,33.15839],[-80.301325,32.509355],[-80.86498,32.0333],[-81.33629,31.44049],[-81.49042,30.72999000000013],[-81.31371,30.035520000000105],[-80.98,29.180000000000117],[-80.53558499999988,28.47213],[-80.5299999999998,28.040000000000106],[-80.05653928497756,26.880000000000138],[-80.088015,26.205765],[-80.13155999999987,25.816775],[-80.38103,25.20616],[-80.67999999999988,25.08],[-81.17213,25.201260000000133],[-81.33,25.64],[-81.70999999999981,25.87],[-82.24,26.730000000000132],[-82.70515,27.49504],[-82.85526,27.88624],[-82.65,28.550000000000153],[-82.92999999999988,29.100000000000136],[-83.70959,29.93656],[-84.1,30.090000000000117],[-85.10882,29.63615],[-85.28784,29.68612000000013],[-85.7731,30.152610000000124],[-86.39999999999988,30.40000000000012],[-87.53036,30.27433],[-88.41782,30.3849],[-89.18048999999984,30.31598],[-89.59383117841978,30.15999400483685],[-89.413735,29.89419],[-89.43,29.48864],[-89.21767,29.29108],[-89.40823,29.15961],[-89.77928,29.307140000000143],[-90.15463,29.11743],[-90.880225,29.148535000000123],[-91.62678499999987,29.67700000000013],[-92.49906,29.5523],[-93.22637,29.78375],[-93.84842,29.71363],[-94.69,29.480000000000132],[-95.60026,28.73863],[-96.59404,28.30748],[-97.13999999999982,27.83],[-97.37,27.38],[-97.37999999999987,26.69],[-97.33,26.21000000000012],[-97.13999999999982,25.87],[-97.52999999999989,25.84],[-98.24,26.060000000000116],[-99.01999999999988,26.37],[-99.3,26.84],[-99.51999999999987,27.54],[-100.11,28.110000000000127],[-100.45584,28.696120000000118],[-100.9576,29.380710000000132],[-101.6624,29.779300000000116],[-102.48,29.76],[-103.11,28.97],[-103.94,29.27],[-104.45696999999984,29.57196],[-104.70575,30.12173],[-105.03737,30.64402],[-105.63159,31.08383000000012],[-106.1429,31.39995],[-106.50758999999982,31.75452],[-108.24,31.7548537181664],[-108.24194,31.34222],[-109.035,31.34194000000016],[-111.02361,31.33472],[-113.30498,32.03914],[-114.815,32.52528],[-114.72138999999986,32.72083],[-115.9913499999999,32.61239000000014],[-117.12775999999978,32.53534],[-117.29593769127388,33.04622461520389],[-117.944,33.621236431201396],[-118.41060227589749,33.740909223124504],[-118.51989482279971,34.02778157757575],[-119.081,34.078],[-119.43884064201669,34.3484771782843],[-120.36778,34.44711],[-120.62286,34.60855],[-120.74433,35.15686000000011],[-121.71456999999988,36.16153],[-122.54747,37.551760000000115],[-122.51201,37.78339000000013],[-122.95319,38.11371000000011],[-123.7272,38.95166000000012],[-123.86517,39.76699000000013],[-124.39807,40.3132],[-124.17886,41.142020000000116],[-124.2137,41.99964000000014],[-124.53284,42.7659900000001],[-124.14214,43.70838],[-124.020535,44.615895],[-123.89893,45.52341],[-124.079635,46.86475],[-124.39567,47.72017000000011],[-124.68721008300783,48.18443298339855],[-124.56610107421876,48.3797149658204],[-123.12,48.04],[-122.58736,47.096],[-122.34,47.36],[-122.5,48.18],[-122.84,49.000000000000114],[-120,49.000000000000114],[-117.03121,49.000000000000114],[-116.04818,49.000000000000114],[-113,49.000000000000114],[-110.04999999999983,49.000000000000114],[-107.05,49.000000000000114],[-104.04826,48.99986],[-100.65,49.000000000000114],[-97.22872000000471,49.00070000000011],[-95.15906950917196,49.000000000000114],[-95.15609,49.38425],[-94.81758,49.38905]]],[[[-153.0063140533369,57.11584219016589],[-154.0050902984581,56.73467682558106],[-154.5164027577701,56.9927489284467],[-154.67099280497115,57.46119578717249],[-153.76277950744148,57.81657461204377],[-153.2287294179211,57.968968410872435],[-152.56479061583514,57.901427313866975],[-152.1411472239063,57.59105866152199],[-153.0063140533369,57.11584219016589]]],[[[-165.57916419173358,59.90998688418755],[-166.19277014876727,59.754440822988975],[-166.848337368822,59.94140615502096],[-167.45527706609008,60.21306915957938],[-166.46779212142462,60.38416982689778],[-165.67442969466367,60.293606879306246],[-165.57916419173358,59.90998688418755]]],[[[-171.7316568675394,63.78251536727592],[-171.1144335602452,63.592191067144995],[-170.4911124339407,63.69497549097352],[-169.68250545965358,63.431115627691156],[-168.6894394603007,63.2975062120006],[-168.7719408844546,63.18859813094545],[-169.52943986720504,62.9769314642779],[-170.29055620021597,63.194437567794466],[-170.67138566799088,63.37582184513897],[-171.55306311753867,63.317789211675084],[-171.7911106028912,63.405845852300494],[-171.7316568675394,63.78251536727592]]],[[[-155.06779029032424,71.1477763943237],[-154.34416520894123,70.6964085964702],[-153.90000627339262,70.8899885118357],[-152.2100060699353,70.82999217394485],[-152.27000240782615,70.60000621202985],[-150.73999243874454,70.43001658800571],[-149.72000301816752,70.53001048449045],[-147.61336157935708,70.2140349392418],[-145.6899898002253,70.12000967068676],[-144.92001095907642,69.9899917670405],[-143.5894461804252,70.15251414659832],[-142.07251034871342,69.85193817817265],[-140.98598752156073,69.71199839952638],[-140.9859883290049,69.71199839952638],[-140.9924987520294,66.00002859156868],[-140.99776974812312,60.30639679629861],[-140.0129978161531,60.27683787702759],[-139.03900042031586,60.000007229240026],[-138.34089,59.56211000000016],[-137.4525,58.905000000000115],[-136.4797200000001,59.46389],[-135.47583,59.78778],[-134.945,59.27056000000013],[-134.27111,58.86111],[-133.35554888220722,58.410285142645165],[-132.73042,57.69289000000011],[-131.70780999999988,56.55212],[-130.00778,55.91583],[-129.9799942633583,55.28499787049722],[-130.53611018946725,54.8027534043494],[-131.08581823797215,55.17890615500204],[-131.9672114671423,55.49777558045906],[-132.25001074285947,56.36999624289746],[-133.53918108435641,57.17888743756214],[-134.07806292029605,58.1230675319669],[-135.03821103227907,58.18771474876393],[-136.62806230995466,58.21220937767046],[-137.80000627968604,58.49999542910379],[-139.867787041413,59.53776154238915],[-140.82527381713305,59.727517401765084],[-142.57444353556446,60.08444651960499],[-143.9588809948799,59.9991804063234],[-145.92555681682785,60.45860972761429],[-147.11437394914668,60.88465607364463],[-148.22430620012767,60.672989406977166],[-148.01806555885076,59.97832896589363],[-148.5708225168609,59.914172675203304],[-149.72785783587585,59.70565827090556],[-150.60824337461645,59.36821116803949],[-151.71639278868332,59.15582103131999],[-151.85943315326716,59.744984035879604],[-151.4097190012472,60.72580272077939],[-150.34694149473253,61.03358755150986],[-150.62111080625698,61.284424953854455],[-151.89583919981686,60.72719798445129],[-152.5783298410956,60.06165721296429],[-154.01917212625762,59.35027944603428],[-153.28751135965317,58.8647276882198],[-154.2324924387585,58.14637360293054],[-155.30749142151024,57.72779450136633],[-156.3083347239231,57.42277435976365],[-156.55609737854633,56.979984849670636],[-158.11721655986776,56.46360809999419],[-158.43332129619716,55.99415355083855],[-159.60332739971744,55.56668610292012],[-160.2897196116342,55.643580634170576],[-161.2230476552578,55.364734605523495],[-162.23776607974108,55.02418691672011],[-163.06944658104638,54.68973704692717],[-164.7855692210272,54.40417308208217],[-164.94222632552004,54.57222483989534],[-163.84833960676568,55.03943146424612],[-162.87000139061593,55.348043117893205],[-161.80417497459604,55.89498647727043],[-160.56360470278116,56.00805451112504],[-160.0705598622845,56.41805532492876],[-158.68444291891944,57.01667511659787],[-158.46109737855394,57.21692129172888],[-157.7227703521839,57.57000051536306],[-157.55027442119356,58.32832632103023],[-157.041674974577,58.91888458926172],[-158.19473120830548,58.61580231386984],[-158.5172179840231,58.78778148053732],[-159.05860612692874,58.424186102931685],[-159.71166704001735,58.93139028587634],[-159.9812888255002,58.57254914004164],[-160.35527116599653,59.07112335879364],[-161.35500342511506,58.670837714260756],[-161.96889360252635,58.67166453717738],[-162.05498653872468,59.26692536074745],[-161.87417070213536,59.6336213242906],[-162.5180590484921,59.98972361921391],[-163.81834143782015,59.79805573184339],[-164.66221757714646,60.26748444278265],[-165.34638770247483,60.50749563256241],[-165.35083187565186,61.07389516869751],[-166.12137915755596,61.500019029376226],[-165.73445187077053,62.074996853271806],[-164.91917863671785,62.63307648380793],[-164.56250790103934,63.14637848576305],[-163.75333248599702,63.21944896102377],[-163.0672244944579,63.05945872664802],[-162.26055538638172,63.54193573674117],[-161.5344498362486,63.455816962326764],[-160.77250668032113,63.766108100023274],[-160.95833513084256,64.22279857040277],[-161.5180684072122,64.40278758407531],[-160.77777767641476,64.78860382756642],[-161.39192623598763,64.77723501246234],[-162.45305009666885,64.55944468856822],[-162.7577860178941,64.33860545516882],[-163.5463942128843,64.5591604681905],[-164.96082984114517,64.44694509546885],[-166.42528825586447,64.68667206487072],[-166.84500423893905,65.08889557561453],[-168.11056006576717,65.66999705673675],[-166.70527116602196,66.0883177761394],[-164.4747096425755,66.5766600612975],[-163.65251176659564,66.5766600612975],[-163.78860165103617,66.07720734319668],[-161.67777442121016,66.11611969671242],[-162.48971452538,66.73556509059512],[-163.71971696679108,67.1163945583701],[-164.4309913808565,67.6163382025778],[-165.39028683170676,68.04277212185025],[-166.76444068099602,68.35887685817968],[-166.20470740462662,68.88303091091618],[-164.4308105133435,68.91553538682774],[-163.16861365461452,69.3711148139129],[-162.93056616926202,69.85806183539927],[-161.90889726463553,70.33332998318764],[-160.9347965159337,70.44768992784958],[-159.03917578838715,70.89164215766894],[-158.11972286683397,70.82472117785105],[-156.58082455139805,71.35776357694175],[-155.06779029032424,71.1477763943237]]]]}},{"type":"Feature","properties":{"scalerank":1,"featurecla":"Admin-0 country","labelrank":3,"sovereignt":"Denmark","sov_a3":"DN1","adm0_dif":1,"level":2,"type":"Country","admin":"Greenland","adm0_a3":"GRL","geou_dif":0,"geounit":"Greenland","gu_a3":"GRL","su_dif":0,"subunit":"Greenland","su_a3":"GRL","brk_diff":0,"name":"Greenland","name_long":"Greenland","brk_a3":"GRL","brk_name":"Greenland","brk_group":null,"abbrev":"Grlnd.","postal":"GL","formal_en":"Greenland","formal_fr":null,"note_adm0":"Den.","note_brk":null,"name_sort":"Greenland","name_alt":null,"mapcolor7":4,"mapcolor8":1,"mapcolor9":3,"mapcolor13":12,"pop_est":57600,"gdp_md_est":1100,"pop_year":-99,"lastcensus":2010,"gdp_year":-99,"economy":"2. Developed region: nonG7","income_grp":"2. High income: nonOECD","wikipedia":-99,"fips_10":null,"iso_a2":"GL","iso_a3":"GRL","iso_n3":"304","un_a3":"304","wb_a2":"GL","wb_a3":"GRL","woe_id":-99,"adm0_a3_is":"GRL","adm0_a3_us":"GRL","adm0_a3_un":-99,"adm0_a3_wb":-99,"continent":"North America","region_un":"Americas","subregion":"Northern America","region_wb":"Europe & Central Asia","name_len":9,"long_len":9,"abbrev_len":6,"tiny":-99,"homepart":-99,"filename":"GRL.geojson"},"geometry":{"type":"Polygon","coordinates":[[[-46.76379,82.62796],[-43.40644,83.22516],[-39.89753,83.18018],[-38.62214,83.54905],[-35.08787,83.64513],[-27.10046,83.51966],[-20.84539,82.72669],[-22.69182,82.34165],[-26.51753,82.29765],[-31.9,82.2],[-31.39646,82.02154],[-27.85666,82.13178],[-24.84448,81.78697],[-22.90328,82.09317],[-22.07175,81.73449],[-23.16961,81.15271],[-20.62363,81.52462],[-15.76818,81.91245],[-12.77018,81.71885],[-12.20855,81.29154],[-16.28533,80.58004],[-16.85,80.35],[-20.04624,80.17708],[-17.73035,80.12912],[-18.9,79.4],[-19.70499,78.75128],[-19.67353,77.63859],[-18.47285,76.98565],[-20.03503,76.94434],[-21.67944,76.62795],[-19.83407,76.09808],[-19.59896,75.24838],[-20.66818,75.15585],[-19.37281,74.29561],[-21.59422,74.22382],[-20.43454,73.81713],[-20.76234,73.46436],[-22.17221,73.30955],[-23.56593,73.30663],[-22.31311,72.62928],[-22.29954,72.18409],[-24.27834,72.59788],[-24.79296,72.3302],[-23.44296,72.08016],[-22.13281,71.46898],[-21.75356,70.66369],[-23.53603,70.471],[-24.30702,70.85649],[-25.54341,71.43094],[-25.20135,70.75226],[-26.36276,70.22646],[-23.72742,70.18401],[-22.34902,70.12946],[-25.02927,69.2588],[-27.74737,68.47046],[-30.67371,68.12503],[-31.77665,68.12078],[-32.81105,67.73547],[-34.20196,66.67974],[-36.35284,65.9789],[-37.04378,65.93768],[-38.37505,65.69213],[-39.81222,65.45848],[-40.66899,64.83997],[-40.68281,64.13902],[-41.1887,63.48246],[-42.81938,62.68233],[-42.41666,61.90093],[-42.86619,61.07404],[-43.3784,60.09772],[-44.7875,60.03676],[-46.26364,60.85328],[-48.26294,60.85843],[-49.23308,61.40681],[-49.90039,62.38336],[-51.63325,63.62691],[-52.14014,64.27842],[-52.27659,65.1767],[-53.66166,66.09957],[-53.30161,66.8365],[-53.96911,67.18899],[-52.9804,68.35759],[-51.47536,68.72958],[-51.08041,69.14781],[-50.87122,69.9291],[-52.013585,69.574925],[-52.55792,69.42616],[-53.45629,69.283625],[-54.68336,69.61003],[-54.75001,70.28932],[-54.35884,70.821315],[-53.431315,70.835755],[-51.39014,70.56978],[-53.10937,71.20485],[-54.00422,71.54719],[-55,71.40653696727257],[-55.83468,71.65444],[-54.71819,72.58625],[-55.32634,72.95861],[-56.12003,73.64977],[-57.32363,74.71026],[-58.59679,75.09861],[-58.58516,75.51727],[-61.26861,76.10238],[-63.39165,76.1752],[-66.06427,76.13486],[-68.50438,76.06141],[-69.66485,76.37975],[-71.40257,77.00857],[-68.77671,77.32312],[-66.76397,77.37595],[-71.04293,77.63595],[-73.297,78.04419],[-73.15938,78.43271],[-69.37345,78.91388],[-65.7107,79.39436],[-65.3239,79.75814],[-68.02298,80.11721],[-67.15129,80.51582],[-63.68925,81.21396],[-62.23444,81.3211],[-62.65116,81.77042],[-60.28249,82.03363],[-57.20744,82.19074],[-54.13442,82.19962],[-53.04328,81.88833],[-50.39061,82.43883],[-48.00386,82.06481],[-46.59984,81.985945],[-44.523,81.6607],[-46.9007,82.19979],[-46.76379,82.62796]]]}}]} \ No newline at end of file diff --git a/pp/pp/config.py b/pp/pp/config.py index b124c3a..ba75e94 100644 --- a/pp/pp/config.py +++ b/pp/pp/config.py @@ -1,9 +1,11 @@ import os rabbitmq_host = os.getenv("RABBITMQ_HOST", "localhost") -queue_name = os.getenv("QUEUE_NAME", "prediction") +prediction_queue = os.getenv("PREDICTION_QUEUE", "brightness.prediction") +cycle_queue = os.getenv("CYCLE_QUEUE", "brightness.cycle") api_protocol = os.getenv("API_PROTOCOL", "http") -api_port = int(os.getenv("API_PORT", 50051)) api_host = os.getenv("API_HOST", "localhost") -api_version = os.getenv("API_VERSION", "v1") +api_port = int(os.getenv("API_PORT", 50051)) + +resolution = int(os.getenv("RESOLUTION", 0)) diff --git a/pp/pp/main.py b/pp/pp/main.py index bc66ab3..c13b29c 100644 --- a/pp/pp/main.py +++ b/pp/pp/main.py @@ -1,11 +1,12 @@ import logging import pika +from pika.adapters.blocking_connection import BlockingChannel from pika.exceptions import AMQPConnectionError -from .cells.continent_manager import H3ContinentManager -from .config import rabbitmq_host, queue_name, api_port, api_host -from .publisher.cell_prediction_publisher import CellPredictionPublisher +from .config import rabbitmq_host, prediction_queue, cycle_queue, api_port, api_host +from .cells.cell_covering import CellCovering +from .cells.cell_publisher import CellPublisher logging.basicConfig(level=logging.INFO, format="%(asctime)s [%(levelname)s] %(message)s") log = logging.getLogger(__name__) @@ -14,23 +15,30 @@ def main(): try: connection = pika.BlockingConnection(pika.ConnectionParameters(rabbitmq_host)) + pika_channel = connection.channel() - pika_channel.queue_declare(queue=queue_name) + pika_channel.queue_declare(queue=prediction_queue) + pika_channel.queue_declare(queue=cycle_queue) + + cell_publisher = CellPublisher(api_host=api_host, + api_port=api_port, + channel=pika_channel, + prediction_queue=prediction_queue, + cycle_queue=cycle_queue) except AMQPConnectionError as _: import sys - log.error(f"could not form amqp connection; has rabbitmq started?") + log.error(f"could not form amqp connection; is rabbitmq running?") log.warning("exiting") sys.exit(1) + except Exception as e: + log.error(f"could not start amqp connection: {e}") else: - continent_manager = H3ContinentManager(continent="north-america") - cell_publisher = CellPredictionPublisher(continent_manager=continent_manager, api_host=api_host, - api_port=api_port, - channel=pika_channel, queue_name=queue_name) try: - cell_publisher.publish() + log.info("running publisher") + cell_publisher.run() except Exception as e: - log.error(f"unable to publish cell predictions {e}") + log.error(f"unable to publish cell predictions: {e}") pika_channel.close() diff --git a/pp/pp/models/models.py b/pp/pp/models/models.py index b4b4183..f58dee7 100644 --- a/pp/pp/models/models.py +++ b/pp/pp/models/models.py @@ -1,4 +1,5 @@ from pydantic import BaseModel +from datetime import datetime class BrightnessObservation(BaseModel): @@ -6,5 +7,10 @@ class BrightnessObservation(BaseModel): lat: float lon: float h3_id: str - utc_iso: str mpsas: float + timestamp_utc: datetime + +class CellCycle(BaseModel): + start_time_utc: datetime + end_time_utc: datetime + duration_s: int diff --git a/pp/pp/publisher/__init__.py b/pp/pp/publisher/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/pp/pp/publisher/cell_prediction_publisher.py b/pp/pp/publisher/cell_prediction_publisher.py deleted file mode 100644 index 99fa0dd..0000000 --- a/pp/pp/publisher/cell_prediction_publisher.py +++ /dev/null @@ -1,57 +0,0 @@ -import logging -import json -from collections import defaultdict - -import grpc -from h3 import h3_to_geo -from pika.adapters.blocking_connection import BlockingChannel - -from ..cells.continent_manager import H3ContinentManager -from ..stubs.brightness_service_pb2_grpc import BrightnessServiceStub -from ..stubs import brightness_service_pb2 -from ..models.models import BrightnessObservation - -log = logging.getLogger(__name__) - - -class CellPredictionPublisher: - cell_counts = defaultdict(int) - - def __init__(self, continent_manager: H3ContinentManager, api_host: str, api_port: int, channel: BlockingChannel, - queue_name: str): - self._continent_manager = continent_manager - self._queue_name = queue_name - self._channel = channel - - grpc_channel = grpc.insecure_channel(f"{api_host}:{api_port}") - stub = BrightnessServiceStub(grpc_channel) - self._stub = stub - - def publish_prediction_at_cell(self, cell): - lat, lon = h3_to_geo(cell) - request = brightness_service_pb2.Coordinates(lat=lat, lon=lon) - try: - response = self._stub.GetBrightnessObservation(request) - except grpc.RpcError as e: - log.error(f"rpc error on brightness requests {e}") - else: - log.info(f"brightness observation response for {cell} is {response}") - brightness_observation = BrightnessObservation( - uuid=response.uuid, - lat=lat, - lon=lon, - h3_id=self._continent_manager.get_cell_id(lat, lon), - utc_iso=response.utc_iso, - mpsas=response.mpsas, - ) - self._channel.basic_publish(exchange="", routing_key=self._queue_name, - body=json.dumps(brightness_observation.model_dump())) - - def publish(self): - """get brightness observations for a set of cells, forwarding responses to rabbitmq""" - cells = self._continent_manager.get_cell_covering() - while True: - for cell in cells: - CellPredictionPublisher.cell_counts[cell] += 1 - self.publish_prediction_at_cell(cell) - log.debug(f"{len(CellPredictionPublisher.cell_counts)} distinct cells have had observations published") diff --git a/pp/tests/test_publisher.py b/pp/tests/test_publisher.py index 4d0e746..c32beae 100644 --- a/pp/tests/test_publisher.py +++ b/pp/tests/test_publisher.py @@ -3,8 +3,8 @@ import pytest -from pp.publisher.cell_prediction_publisher import CellPredictionPublisher -from pp.cells.continent_manager import H3ContinentManager +from pp.cells.cell_publisher import CellPublisher +from pp.cells.cell_covering import CellCovering @pytest.fixture @@ -21,7 +21,7 @@ def mock_grpc_client(mocker): mock_client_stub.GetBrightnessObservation.return_value = mock_brightness_observation - mocker.patch("pp.publisher.cell_prediction_publisher.BrightnessServiceStub", return_value=mock_client_stub) + mocker.patch("pp.cells.cell_publisher.BrightnessServiceStub", return_value=mock_client_stub) return mock_client_stub @@ -34,11 +34,23 @@ def mock_pika_channel(mocker): return channel_mock -def test_publisher_publishes_on_channel(mock_grpc_client, mock_pika_channel): - continent_manager = H3ContinentManager(continent="north-america") - cell_publisher = CellPredictionPublisher(continent_manager=continent_manager, api_host="localhost", - api_port=50051, - channel=mock_pika_channel, queue_name="prediction") - - cell_publisher.publish_prediction_at_cell("89283082813ffff") +@pytest.fixture +def publisher(mock_grpc_client, mock_pika_channel): + return CellPublisher(api_host="localhost", + api_port=50051, + channel=mock_pika_channel, + prediction_queue="prediction", + cycle_queue="cycle") + +def test_publisher_publishes_prediction_on_channel(publisher, mock_pika_channel): + cell = "89283082813ffff" + publisher.predict_cell_brightness(cell) mock_pika_channel.basic_publish.assert_called_once() + +@pytest.mark.skip +def test_number_of_distinct_cells_published(publisher, mock_pika_channel): + pass + +@pytest.mark.skip +def test_cell_covering(publisher, mock_pika_channel): + pass