From 61cc70af95c9b75415ab8a6d1be2af091f724db3 Mon Sep 17 00:00:00 2001 From: "Benjamin P. Stewart" Date: Mon, 22 Jul 2024 14:36:29 -0400 Subject: [PATCH 1/4] Started Metadata processing --- notebooks/H3_Generate_AWS_OLD.ipynb | 1003 +++++++++++++++++ notebooks/METADATA/METADATA_TEST.ipynb | 112 ++ ...vcmslcfg_v2_c202402081600.average.dat.json | 54 + src/country_zonal.py | 6 +- 4 files changed, 1172 insertions(+), 3 deletions(-) create mode 100644 notebooks/H3_Generate_AWS_OLD.ipynb create mode 100644 notebooks/METADATA/METADATA_TEST.ipynb create mode 100644 notebooks/METADATA/VNL_npp_2023_global_vcmslcfg_v2_c202402081600.average.dat.json diff --git a/notebooks/H3_Generate_AWS_OLD.ipynb b/notebooks/H3_Generate_AWS_OLD.ipynb new file mode 100644 index 0000000..ec83acb --- /dev/null +++ b/notebooks/H3_Generate_AWS_OLD.ipynb @@ -0,0 +1,1003 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Generate H3 geospatial data on AWS bucket" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/wb411133/.conda/envs/ee/lib/python3.9/site-packages/geopandas/_compat.py:106: UserWarning: The Shapely GEOS version (3.9.1-CAPI-1.14.2) is incompatible with the GEOS version PyGEOS was compiled with (3.10.4-CAPI-1.16.2). Conversions between both will be slow.\n", + " warnings.warn(\n" + ] + } + ], + "source": [ + "import sys, os, importlib, math, multiprocessing, boto3\n", + "import rasterio, geojson\n", + "\n", + "import pandas as pd\n", + "import geopandas as gpd\n", + "import numpy as np\n", + "\n", + "from h3 import h3\n", + "from tqdm import tqdm\n", + "from shapely.geometry import Polygon\n", + "\n", + "sys.path.insert(0, \"/home/wb411133/Code/gostrocks/src\")\n", + "import GOSTRocks.rasterMisc as rMisc\n", + "import GOSTRocks.ntlMisc as ntl\n", + "import GOSTRocks.mapMisc as mapMisc\n", + "from GOSTRocks.misc import tPrint\n", + "\n", + "sys.path.append(\"../src\")\n", + "import h3_helper\n", + "import country_zonal\n", + "\n", + "%load_ext autoreload\n", + "%autoreload 2" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# Define S3 parameters\n", + "bucket = 'wbg-geography01' \n", + "prefix = 'Space2Stats/h3_spatial_data'\n", + "region = 'us-east-1'\n", + "s3client = boto3.client('s3', region_name=region)\n", + "out_folder = \"/home/wb411133/projects/Space2Stats/\"" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ISO_A3ISO_A2WB_A3HASC_0GAUL_0WB_REGIONWB_STATUSSOVEREIGNNAM_0geometryID
0AFGAFAFGAF1SARMember StateAFGAfghanistanPOLYGON ((70.04663 37.54360, 70.04676 37.54356...0
1ALBALALBAL3ECAMember StateALBAlbaniaMULTIPOLYGON (((20.46186 41.55588, 20.46177 41...1
2ANDADADOAD7OtherMember StateANDAndorraPOLYGON ((1.46171 42.50602, 1.46176 42.50605, ...2
3AREAEAREAE255MENAMember StateAREUnited Arab EmiratesMULTIPOLYGON (((53.83064 24.06414, 53.82975 24...3
4ARGARARGAR12LCRMember StateARGArgentinaMULTIPOLYGON (((-58.43833 -34.00238, -58.44420...4
\n", + "
" + ], + "text/plain": [ + " ISO_A3 ISO_A2 WB_A3 HASC_0 GAUL_0 WB_REGION WB_STATUS SOVEREIGN \\\n", + "0 AFG AF AFG AF 1 SAR Member State AFG \n", + "1 ALB AL ALB AL 3 ECA Member State ALB \n", + "2 AND AD ADO AD 7 Other Member State AND \n", + "3 ARE AE ARE AE 255 MENA Member State ARE \n", + "4 ARG AR ARG AR 12 LCR Member State ARG \n", + "\n", + " NAM_0 geometry ID \n", + "0 Afghanistan POLYGON ((70.04663 37.54360, 70.04676 37.54356... 0 \n", + "1 Albania MULTIPOLYGON (((20.46186 41.55588, 20.46177 41... 1 \n", + "2 Andorra POLYGON ((1.46171 42.50602, 1.46176 42.50605, ... 2 \n", + "3 United Arab Emirates MULTIPOLYGON (((53.83064 24.06414, 53.82975 24... 3 \n", + "4 Argentina MULTIPOLYGON (((-58.43833 -34.00238, -58.44420... 4 " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "admin_bounds = \"/home/public/Data/GLOBAL/ADMIN/ADMIN2/HighRes_20230328/shp/WB_GAD_ADM0.shp\"\n", + "inA = gpd.read_file(admin_bounds)\n", + "inA['ID'] = inA.index\n", + "inA.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Space2Stats/h3_spatial_data/SAR/AFG\n", + "Space2Stats/h3_spatial_data/ECA/ALB\n", + "Space2Stats/h3_spatial_data/Other/AND\n", + "Space2Stats/h3_spatial_data/MENA/ARE\n", + "Space2Stats/h3_spatial_data/LCR/ARG\n", + "Space2Stats/h3_spatial_data/ECA/ARM\n", + "Space2Stats/h3_spatial_data/LCR/ATG\n", + "Space2Stats/h3_spatial_data/Other/AUS\n", + "Space2Stats/h3_spatial_data/Other/AUS\n", + "Space2Stats/h3_spatial_data/Other/CXR\n", + "Space2Stats/h3_spatial_data/Other/CCK\n", + "Space2Stats/h3_spatial_data/Other/HMD\n", + "Space2Stats/h3_spatial_data/Other/NFK\n", + "Space2Stats/h3_spatial_data/Other/AUT\n", + "Space2Stats/h3_spatial_data/ECA/AZE\n", + "Space2Stats/h3_spatial_data/AFR/BDI\n", + "Space2Stats/h3_spatial_data/Other/BEL\n", + "Space2Stats/h3_spatial_data/AFR/BEN\n", + "Space2Stats/h3_spatial_data/AFR/BFA\n", + "Space2Stats/h3_spatial_data/SAR/BGD\n", + "Space2Stats/h3_spatial_data/ECA/BGR\n", + "Space2Stats/h3_spatial_data/MENA/BHR\n", + "Space2Stats/h3_spatial_data/LCR/BHS\n", + "Space2Stats/h3_spatial_data/ECA/BIH\n", + "Space2Stats/h3_spatial_data/ECA/BLR\n", + "Space2Stats/h3_spatial_data/LCR/BLZ\n", + "Space2Stats/h3_spatial_data/LCR/BOL\n", + "Space2Stats/h3_spatial_data/LCR/BRA\n", + "Space2Stats/h3_spatial_data/LCR/BRB\n", + "Space2Stats/h3_spatial_data/Other/BRN\n", + "Space2Stats/h3_spatial_data/SAR/BTN\n", + "Space2Stats/h3_spatial_data/AFR/BWA\n", + "Space2Stats/h3_spatial_data/AFR/CAF\n", + "Space2Stats/h3_spatial_data/Other/CAN\n", + "Space2Stats/h3_spatial_data/Other/CHE\n", + "Space2Stats/h3_spatial_data/LCR/CHL\n", + "Space2Stats/h3_spatial_data/EAP/MAC\n", + "Space2Stats/h3_spatial_data/EAP/HKG\n", + "Space2Stats/h3_spatial_data/EAP/CHN\n", + "Space2Stats/h3_spatial_data/EAP/TWN\n", + "Space2Stats/h3_spatial_data/AFR/CIV\n", + "Space2Stats/h3_spatial_data/AFR/CMR\n", + "Space2Stats/h3_spatial_data/AFR/COD\n", + "Space2Stats/h3_spatial_data/AFR/COG\n", + "Space2Stats/h3_spatial_data/AFR/COM\n", + "Space2Stats/h3_spatial_data/AFR/CPV\n", + "Space2Stats/h3_spatial_data/LCR/CRI\n", + "Space2Stats/h3_spatial_data/Other/CUB\n", + "Space2Stats/h3_spatial_data/ECA/CYP\n", + "Space2Stats/h3_spatial_data/ECA/CZE\n", + "Space2Stats/h3_spatial_data/Other/DEU\n", + "Space2Stats/h3_spatial_data/LCR/DMA\n", + "Space2Stats/h3_spatial_data/Other/DNK\n", + "Space2Stats/h3_spatial_data/Other/FRO\n", + "Space2Stats/h3_spatial_data/Other/GRL\n", + "Space2Stats/h3_spatial_data/LCR/DOM\n", + "Space2Stats/h3_spatial_data/MENA/DZA\n", + "Space2Stats/h3_spatial_data/LCR/ECU\n", + "Space2Stats/h3_spatial_data/MENA/EGY\n", + "Space2Stats/h3_spatial_data/AFR/ERI\n", + "Space2Stats/h3_spatial_data/Other/ESP\n", + "Space2Stats/h3_spatial_data/Other/ESP\n", + "Space2Stats/h3_spatial_data/ECA/EST\n", + "Space2Stats/h3_spatial_data/Other/ALA\n", + "Space2Stats/h3_spatial_data/Other/FIN\n", + "Space2Stats/h3_spatial_data/EAP/FJI\n", + "Space2Stats/h3_spatial_data/Other/FRA\n", + "Space2Stats/h3_spatial_data/Other/FRA\n", + "Space2Stats/h3_spatial_data/Other/GUF\n", + "Space2Stats/h3_spatial_data/Other/PYF\n", + "Space2Stats/h3_spatial_data/Other/ATF\n", + "Space2Stats/h3_spatial_data/Other/GLP\n", + "Space2Stats/h3_spatial_data/Other/MTQ\n", + "Space2Stats/h3_spatial_data/Other/MYT\n", + "Space2Stats/h3_spatial_data/Other/NCL\n", + "Space2Stats/h3_spatial_data/Other/REU\n", + "Space2Stats/h3_spatial_data/Other/SPM\n", + "Space2Stats/h3_spatial_data/Other/WLF\n", + "Space2Stats/h3_spatial_data/Other/BLM\n", + "Space2Stats/h3_spatial_data/Other/MAF\n", + "Space2Stats/h3_spatial_data/EAP/FSM\n", + "Space2Stats/h3_spatial_data/AFR/GAB\n", + "Space2Stats/h3_spatial_data/Other/AIA\n", + "Space2Stats/h3_spatial_data/Other/BMU\n", + "Space2Stats/h3_spatial_data/Other/IOT\n", + "Space2Stats/h3_spatial_data/Other/VGB\n", + "Space2Stats/h3_spatial_data/Other/CYM\n", + "Space2Stats/h3_spatial_data/Other/GIB\n", + "Space2Stats/h3_spatial_data/Other/GGY\n", + "Space2Stats/h3_spatial_data/Other/IMN\n", + "Space2Stats/h3_spatial_data/Other/JEY\n", + "Space2Stats/h3_spatial_data/Other/MSR\n", + "Space2Stats/h3_spatial_data/Other/PCN\n", + "Space2Stats/h3_spatial_data/Other/SHN\n", + "Space2Stats/h3_spatial_data/Other/TCA\n", + "Space2Stats/h3_spatial_data/Other/GBR\n", + "Space2Stats/h3_spatial_data/Other/GBR\n", + "Space2Stats/h3_spatial_data/ECA/GEO\n", + "Space2Stats/h3_spatial_data/AFR/GIN\n", + "Space2Stats/h3_spatial_data/AFR/GMB\n", + "Space2Stats/h3_spatial_data/AFR/GNB\n", + "Space2Stats/h3_spatial_data/AFR/GNQ\n", + "Space2Stats/h3_spatial_data/Other/GRC\n", + "Space2Stats/h3_spatial_data/LCR/GRD\n", + "Space2Stats/h3_spatial_data/LCR/GTM\n", + "Space2Stats/h3_spatial_data/LCR/GUY\n", + "Space2Stats/h3_spatial_data/LCR/HND\n", + "Space2Stats/h3_spatial_data/ECA/HRV\n", + "Space2Stats/h3_spatial_data/ECA/HUN\n", + "Space2Stats/h3_spatial_data/EAP/IDN\n", + "Space2Stats/h3_spatial_data/SAR/IND\n", + "Space2Stats/h3_spatial_data/SAR/IND\n", + "Space2Stats/h3_spatial_data/Other/IRL\n", + "Space2Stats/h3_spatial_data/MENA/IRN\n", + "Space2Stats/h3_spatial_data/Other/ISL\n", + "Space2Stats/h3_spatial_data/Other/ISR\n", + "Space2Stats/h3_spatial_data/Other/ITA\n", + "Space2Stats/h3_spatial_data/LCR/JAM\n", + "Space2Stats/h3_spatial_data/MENA/JOR\n", + "Space2Stats/h3_spatial_data/Other/JPN\n", + "Space2Stats/h3_spatial_data/ECA/KAZ\n", + "Space2Stats/h3_spatial_data/ECA/KGZ\n", + "Space2Stats/h3_spatial_data/EAP/KIR\n", + "Space2Stats/h3_spatial_data/LCR/KNA\n", + "Space2Stats/h3_spatial_data/EAP/KOR\n", + "Space2Stats/h3_spatial_data/ECA/KSV\n", + "Space2Stats/h3_spatial_data/MENA/KWT\n", + "Space2Stats/h3_spatial_data/EAP/LAO\n", + "Space2Stats/h3_spatial_data/AFR/LBR\n", + "Space2Stats/h3_spatial_data/MENA/LBY\n", + "Space2Stats/h3_spatial_data/LCR/LCA\n", + "Space2Stats/h3_spatial_data/Other/LIE\n", + "Space2Stats/h3_spatial_data/SAR/LKA\n", + "Space2Stats/h3_spatial_data/AFR/LSO\n", + "Space2Stats/h3_spatial_data/ECA/LTU\n", + "Space2Stats/h3_spatial_data/Other/LUX\n", + "Space2Stats/h3_spatial_data/ECA/LVA\n", + "Space2Stats/h3_spatial_data/MENA/MAR\n", + "Space2Stats/h3_spatial_data/Other/MCO\n", + "Space2Stats/h3_spatial_data/AFR/MDG\n", + "Space2Stats/h3_spatial_data/SAR/MDV\n", + "Space2Stats/h3_spatial_data/EAP/MHL\n", + "Space2Stats/h3_spatial_data/ECA/MKD\n", + "Space2Stats/h3_spatial_data/AFR/MLI\n", + "Space2Stats/h3_spatial_data/MENA/MLT\n", + "Space2Stats/h3_spatial_data/EAP/MMR\n", + "Space2Stats/h3_spatial_data/ECA/MNE\n", + "Space2Stats/h3_spatial_data/EAP/MNG\n", + "Space2Stats/h3_spatial_data/AFR/MRT\n", + "Space2Stats/h3_spatial_data/AFR/MUS\n", + "Space2Stats/h3_spatial_data/AFR/MWI\n", + "Space2Stats/h3_spatial_data/EAP/MYS\n", + "Space2Stats/h3_spatial_data/AFR/NAM\n", + "Space2Stats/h3_spatial_data/AFR/NGA\n", + "Space2Stats/h3_spatial_data/LCR/NIC\n", + "Space2Stats/h3_spatial_data/Other/ABW\n", + "Space2Stats/h3_spatial_data/Other/NLD\n", + "Space2Stats/h3_spatial_data/Other/BES\n", + "Space2Stats/h3_spatial_data/Other/CUW\n", + "Space2Stats/h3_spatial_data/Other/BES\n", + "Space2Stats/h3_spatial_data/Other/BES\n", + "Space2Stats/h3_spatial_data/Other/SXM\n", + "Space2Stats/h3_spatial_data/Other/BVT\n", + "Space2Stats/h3_spatial_data/Other/NOR\n", + "Space2Stats/h3_spatial_data/Other/SJM\n", + "Space2Stats/h3_spatial_data/SAR/NPL\n", + "Space2Stats/h3_spatial_data/EAP/NRU\n", + "Space2Stats/h3_spatial_data/Other/COK\n", + "Space2Stats/h3_spatial_data/Other/NZL\n", + "Space2Stats/h3_spatial_data/Other/NIU\n", + "Space2Stats/h3_spatial_data/Other/TKL\n", + "Space2Stats/h3_spatial_data/MENA/OMN\n", + "Space2Stats/h3_spatial_data/SAR/PAK\n", + "Space2Stats/h3_spatial_data/SAR/PAK\n", + "Space2Stats/h3_spatial_data/LCR/PAN\n", + "Space2Stats/h3_spatial_data/LCR/PER\n", + "Space2Stats/h3_spatial_data/EAP/PHL\n", + "Space2Stats/h3_spatial_data/EAP/PLW\n", + "Space2Stats/h3_spatial_data/EAP/PNG\n", + "Space2Stats/h3_spatial_data/ECA/POL\n", + "Space2Stats/h3_spatial_data/Other/PRK\n", + "Space2Stats/h3_spatial_data/Other/PRT\n", + "Space2Stats/h3_spatial_data/Other/PRT\n", + "Space2Stats/h3_spatial_data/Other/PRT\n", + "Space2Stats/h3_spatial_data/LCR/PRY\n", + "Space2Stats/h3_spatial_data/MENA/PSE\n", + "Space2Stats/h3_spatial_data/MENA/QAT\n", + "Space2Stats/h3_spatial_data/ECA/ROU\n", + "Space2Stats/h3_spatial_data/ECA/RUS\n", + "Space2Stats/h3_spatial_data/AFR/RWA\n", + "Space2Stats/h3_spatial_data/MENA/SAU\n", + "Space2Stats/h3_spatial_data/AFR/SDN\n", + "Space2Stats/h3_spatial_data/AFR/SEN\n", + "Space2Stats/h3_spatial_data/Other/SGP\n", + "Space2Stats/h3_spatial_data/EAP/SLB\n", + "Space2Stats/h3_spatial_data/LCR/SLV\n", + "Space2Stats/h3_spatial_data/Other/SMR\n", + "Space2Stats/h3_spatial_data/AFR/SOM\n", + "Space2Stats/h3_spatial_data/ECA/SRB\n", + "Space2Stats/h3_spatial_data/AFR/STP\n", + "Space2Stats/h3_spatial_data/LCR/SUR\n", + "Space2Stats/h3_spatial_data/ECA/SVK\n", + "Space2Stats/h3_spatial_data/ECA/SVN\n", + "Space2Stats/h3_spatial_data/Other/SWE\n", + "Space2Stats/h3_spatial_data/AFR/SWZ\n", + "Space2Stats/h3_spatial_data/AFR/SYC\n", + "Space2Stats/h3_spatial_data/MENA/SYR\n", + "Space2Stats/h3_spatial_data/AFR/TCD\n", + "Space2Stats/h3_spatial_data/AFR/TGO\n", + "Space2Stats/h3_spatial_data/EAP/THA\n", + "Space2Stats/h3_spatial_data/ECA/TJK\n", + "Space2Stats/h3_spatial_data/ECA/TKM\n", + "Space2Stats/h3_spatial_data/EAP/TLS\n", + "Space2Stats/h3_spatial_data/EAP/TON\n", + "Space2Stats/h3_spatial_data/LCR/TTO\n", + "Space2Stats/h3_spatial_data/MENA/TUN\n", + "Space2Stats/h3_spatial_data/ECA/TUR\n", + "Space2Stats/h3_spatial_data/EAP/TUV\n", + "Space2Stats/h3_spatial_data/AFR/TZA\n", + "Space2Stats/h3_spatial_data/AFR/UGA\n", + "Space2Stats/h3_spatial_data/ECA/UKR\n", + "Space2Stats/h3_spatial_data/LCR/URY\n", + "Space2Stats/h3_spatial_data/Other/ASM\n", + "Space2Stats/h3_spatial_data/Other/UMI\n", + "Space2Stats/h3_spatial_data/Other/GUM\n", + "Space2Stats/h3_spatial_data/Other/UMI\n", + "Space2Stats/h3_spatial_data/Other/UMI\n", + "Space2Stats/h3_spatial_data/Other/UMI\n", + "Space2Stats/h3_spatial_data/Other/UMI\n", + "Space2Stats/h3_spatial_data/Other/UMI\n", + "Space2Stats/h3_spatial_data/Other/MNP\n", + "Space2Stats/h3_spatial_data/Other/UMI\n", + "Space2Stats/h3_spatial_data/Other/PRI\n", + "Space2Stats/h3_spatial_data/Other/VIR\n", + "Space2Stats/h3_spatial_data/Other/USA\n", + "Space2Stats/h3_spatial_data/Other/UMI\n", + "Space2Stats/h3_spatial_data/ECA/UZB\n", + "Space2Stats/h3_spatial_data/Other/VAT\n", + "Space2Stats/h3_spatial_data/LCR/VCT\n", + "Space2Stats/h3_spatial_data/LCR/VEN\n", + "Space2Stats/h3_spatial_data/EAP/VNM\n", + "Space2Stats/h3_spatial_data/EAP/VUT\n", + "Space2Stats/h3_spatial_data/EAP/WSM\n", + "Space2Stats/h3_spatial_data/MENA/YEM\n", + "Space2Stats/h3_spatial_data/AFR/ZAF\n", + "Space2Stats/h3_spatial_data/AFR/ZMB\n", + "Space2Stats/h3_spatial_data/AFR/ZWE\n", + "Space2Stats/h3_spatial_data/AFR/AGO\n", + "Space2Stats/h3_spatial_data/ECA/MDA\n", + "Space2Stats/h3_spatial_data/AFR/MOZ\n", + "Space2Stats/h3_spatial_data/EAP/KHM\n", + "Space2Stats/h3_spatial_data/AFR/SLE\n", + "Space2Stats/h3_spatial_data/MENA/LBN\n", + "Space2Stats/h3_spatial_data/LCR/COL\n", + "Space2Stats/h3_spatial_data/AFR/GHA\n", + "Space2Stats/h3_spatial_data/AFR/ETH\n", + "Space2Stats/h3_spatial_data/LCR/HTI\n", + "Space2Stats/h3_spatial_data/MENA/IRQ\n", + "Space2Stats/h3_spatial_data/AFR/NER\n", + "Space2Stats/h3_spatial_data/MENA/DJI\n", + "Space2Stats/h3_spatial_data/AFR/KEN\n", + "Space2Stats/h3_spatial_data/AFR/SSD\n", + "Space2Stats/h3_spatial_data/LCR/MEX\n" + ] + } + ], + "source": [ + "all_args = []\n", + "h3_level = 6\n", + "\n", + "for idx, row in inA.iterrows():\n", + " cur_prefix = os.path.join(prefix, row['WB_REGION'], row['ISO_A3'])\n", + " '''\n", + " out_file = f's3://{bucket}/{cur_prefix}/h3_level_{h3_level}.geojson'\n", + " try:\n", + " xx = gpd.read_file(out_file)\n", + " except:\n", + " print(out_file)\n", + " '''\n", + " print(cur_prefix)\n", + " all_args.append([row, h3_level])\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "def generate_grid(row, lvl):\n", + " cur_prefix = os.path.join(prefix, row['WB_REGION'], row['ISO_A3'])\n", + " out_file = f's3://{bucket}/{cur_prefix}/h3_level_{lvl}.geojson'\n", + " tPrint(f\"Starting {cur_prefix}\") \n", + " cur_gpd = gpd.GeoDataFrame(pd.DataFrame(row).transpose(), geometry='geometry', crs=inA.crs)\n", + " zonalC = country_zonal.country_h3_zonal(row['ISO_A3'], cur_gpd, \"ID\", lvl, out_folder)\n", + " try:\n", + " h3_grid = zonalC.generate_h3_grid()\n", + " h3_grid.to_file(out_file, driver=\"GeoJSON\")\n", + " tPrint(f\"Completed {cur_prefix}\")\n", + " return(h3_grid)\n", + " except:\n", + " tPrint(f\"Error processing lvl {lvl} for {row['ISO_A3']}\")\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "14:19:51\tStarting Space2Stats/h3_spatial_data/ECA/ALB14:19:51\tStarting Space2Stats/h3_spatial_data/Other/AND\n", + "\n", + "14:19:51\tStarting Space2Stats/h3_spatial_data/SAR/AFG\n", + "14:19:51\tStarting Space2Stats/h3_spatial_data/MENA/ARE\n", + "14:19:51\tStarting Space2Stats/h3_spatial_data/Other/AUS14:19:51\tStarting Space2Stats/h3_spatial_data/LCR/ATG\n", + "\n", + "14:19:51\tStarting Space2Stats/h3_spatial_data/ECA/ARM\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generating h3 grid level 5: 100%|██████████| 4/4 [00:00<00:00, 2587.88it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "14:19:51\tStarting Space2Stats/h3_spatial_data/LCR/ARG\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Generating h3 grid level 5: 100%|██████████| 58/58 [00:00<00:00, 823.74it/s]\n", + "Generating h3 grid level 5: 0%| | 0/19 [00:00 Date: Tue, 1 Oct 2024 11:58:32 -0400 Subject: [PATCH 2/4] testing db ingest --- .../Compile_Zonal_Results.ipynb | 1700 +++-------------- .../zonal_pop_NTL_VIIRS_EOG.py | 18 +- notebooks/Untitled.ipynb | 446 ----- 3 files changed, 271 insertions(+), 1893 deletions(-) delete mode 100644 notebooks/Untitled.ipynb diff --git a/notebooks/IMPLEMENTATIONS/ZON_MNACE_Compile_NTL/Compile_Zonal_Results.ipynb b/notebooks/IMPLEMENTATIONS/ZON_MNACE_Compile_NTL/Compile_Zonal_Results.ipynb index 004e0e1..4f05329 100644 --- a/notebooks/IMPLEMENTATIONS/ZON_MNACE_Compile_NTL/Compile_Zonal_Results.ipynb +++ b/notebooks/IMPLEMENTATIONS/ZON_MNACE_Compile_NTL/Compile_Zonal_Results.ipynb @@ -2,10 +2,19 @@ "cells": [ { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "id": "9d9c049e", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/wb411133/.conda/envs/ee/lib/python3.9/site-packages/geopandas/_compat.py:106: UserWarning: The Shapely GEOS version (3.9.1-CAPI-1.14.2) is incompatible with the GEOS version PyGEOS was compiled with (3.10.4-CAPI-1.16.2). Conversions between both will be slow.\n", + " warnings.warn(\n" + ] + } + ], "source": [ "import sys, os, importlib, math, multiprocessing, boto3, pickle\n", "import rasterio, geojson\n", @@ -33,7 +42,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 15, "id": "03a4f56c", "metadata": {}, "outputs": [], @@ -41,7 +50,7 @@ "# Define the AWS variables\n", "# Define S3 parameters\n", "bucket = 'wbg-geography01' \n", - "prefix = 'Space2Stats/h3_stats_data/ADM_GLOBAL/VIIRS_ANNUAL_EOG'\n", + "prefix = 'Space2Stats/h3_stats_data/ADM_GLOBAL/VIIRS_Monthly_LEN'\n", "region = 'us-east-1'\n", "s3client = boto3.client('s3', region_name=region)\n", "\n", @@ -55,7 +64,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "e043b30a", "metadata": {}, "outputs": [], @@ -67,7 +76,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 16, "id": "5621f4d9", "metadata": {}, "outputs": [ @@ -85,6 +94,7 @@ "more_results = True\n", "loops = 0\n", "verbose=True\n", + "good_res = []\n", "while more_results:\n", " if verbose:\n", " print(f\"Completed loop: {loops}\")\n", @@ -113,25 +123,178 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 17, "id": "dfcdcc10", - "metadata": {}, + "metadata": { + "scrolled": true + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "12:15:51\tVNL_npp_2023_global_vcmslcfg_v2_c202402081600\n", - "12:15:53\tVNL_v21_npp_2013_global_vcmcfg_c202205302300\n", - "12:15:55\tVNL_v21_npp_2014_global_vcmslcfg_c202205302300\n", - "12:15:56\tVNL_v21_npp_2015_global_vcmslcfg_c202205302300\n", - "12:15:57\tVNL_v21_npp_2016_global_vcmslcfg_c202205302300\n", - "12:15:59\tVNL_v21_npp_2017_global_vcmslcfg_c202205302300\n", - "12:16:00\tVNL_v21_npp_2018_global_vcmslcfg_c202205302300\n", - "12:16:01\tVNL_v21_npp_2019_global_vcmslcfg_c202205302300\n", - "12:16:03\tVNL_v21_npp_2020_global_vcmslcfg_c202205302300\n", - "12:16:04\tVNL_v21_npp_2021_global_vcmslcfg_c202205302300\n", - "12:16:06\tVNL_v22_npp-j01_2022_global_vcmslcfg_c202303062300\n" + "16:26:55\tDNB_j01_20230601-20230630_global_ecm-slcorr_v10_ops\n", + "16:26:57\tDNB_j01_20230701-20230731_global_ecm-slcorr_v10_ops\n", + "16:26:57\tDNB_j01_20230901-20230930_global_ecm-slcorr_v10_ops\n", + "16:26:59\tDNB_j01_20231001-20231031_global_ecm-slcorr_v10_ops\n", + "16:26:59\tDNB_j01_20231101-20231130_global_ecm-slcorr_v10_ops\n", + "16:26:59\tDNB_j01_20231201-20231231_global_ecm-slcorr_v10_ops\n", + "16:27:01\tDNB_j01_20240101-20240131_global_ecm-slcorr_v10_ops\n", + "16:27:02\tDNB_j01_20240201-20240229_global_ecm-slcorr_v10_ops\n", + "16:27:02\tDNB_j01_20240301-20240331_global_ecm-slcorr_v10_ops\n", + "16:27:04\tDNB_j01_20240401-20240430_global_ecm-slcorr_v10_ops\n", + "16:27:04\tDNB_j01_20240501-20240531_global_ecm-slcorr_v10_ops\n", + "16:27:06\tDNB_npp_20120119-20120131_global_vcm-slcorr_v10_rp2\n", + "16:27:07\tDNB_npp_20120201-20120229_global_vcm-slcorr_v10_rp2\n", + "16:27:07\tDNB_npp_20120301-20120331_global_vcm-slcorr_v10_rp2\n", + "16:27:09\tDNB_npp_20120401-20120430_global_vcm-slcorr_v10_rp2\n", + "16:27:09\tDNB_npp_20120501-20120531_global_vcm-slcorr_v10_rp2\n", + "16:27:09\tDNB_npp_20120601-20120630_global_vcm-slcorr_v10_rp2\n", + "16:27:11\tDNB_npp_20120701-20120731_global_vcm-slcorr_v10_rp2\n", + "16:27:12\tDNB_npp_20120801-20120831_global_vcm-slcorr_v10_rp2\n", + "16:27:12\tDNB_npp_20120901-20120930_global_vcm-slcorr_v10_rp2\n", + "16:27:14\tDNB_npp_20121001-20121031_global_vcm-slcorr_v10_rp2\n", + "16:27:14\tDNB_npp_20121101-20121130_global_vcm-slcorr_v10_rp2\n", + "16:27:14\tDNB_npp_20121201-20121231_global_vcm-slcorr_v10_rp2\n", + "16:27:16\tDNB_npp_20130101-20130131_global_vcm-slcorr_v10_rp2\n", + "16:27:16\tDNB_npp_20130201-20130228_global_vcm-slcorr_v10_rp2\n", + "16:27:17\tDNB_npp_20130301-20130331_global_vcm-slcorr_v10_rp2\n", + "16:27:19\tDNB_npp_20130401-20130430_global_vcm-slcorr_v10_rp2\n", + "16:27:19\tDNB_npp_20130501-20130531_global_vcm-slcorr_v10_rp2\n", + "16:27:19\tDNB_npp_20130601-20130630_global_vcm-slcorr_v10_rp2\n", + "16:27:21\tDNB_npp_20130701-20221231_global_vcm-slcorr_v10_rp2\n", + "16:27:22\tDNB_npp_20130801-20130831_global_vcm-slcorr_v10_rp2\n", + "16:27:22\tDNB_npp_20130901-20130930_global_vcm-slcorr_v10_rp2\n", + "16:27:24\tDNB_npp_20131001-20131031_global_vcm-slcorr_v10_rp2\n", + "16:27:24\tDNB_npp_20131101-20131130_global_vcm-slcorr_v10_rp2\n", + "16:27:24\tDNB_npp_20131201-20131231_global_vcm-slcorr_v10_rp2\n", + "16:27:26\tDNB_npp_20140101-20140131_global_vcm-slcorr_v10_rp2\n", + "16:27:26\tDNB_npp_20140201-20140228_global_vcm-slcorr_v10_rp2\n", + "16:27:28\tDNB_npp_20140401-20140430_global_vcm-slcorr_v10_rp2\n", + "16:27:29\tDNB_npp_20140501-20140531_global_vcm-slcorr_v10_rp2\n", + "16:27:29\tDNB_npp_20140601-20140630_global_vcm-slcorr_v10_rp2\n", + "16:27:31\tDNB_npp_20140701-20140731_global_vcm-slcorr_v10_rp2\n", + "16:27:31\tDNB_npp_20140801-20140831_global_vcm-slcorr_v10_rp2\n", + "16:27:31\tDNB_npp_20140901-20140930_global_vcm-slcorr_v10_rp2\n", + "16:27:33\tDNB_npp_20141001-20141031_global_vcm-slcorr_v10_rp2\n", + "16:27:34\tDNB_npp_20141101-20141130_global_vcm-slcorr_v10_rp2\n", + "16:27:34\tDNB_npp_20141201-20141231_global_vcm-slcorr_v10_rp2\n", + "16:27:36\tDNB_npp_20150101-20150131_global_vcm-slcorr_v10_rp2\n", + "16:27:36\tDNB_npp_20150201-20150228_global_vcm-slcorr_v10_rp2\n", + "16:27:36\tDNB_npp_20150301-20150331_global_vcm-slcorr_v10_rp2\n", + "16:27:38\tDNB_npp_20150401-20150430_global_vcm-slcorr_v10_rp2\n", + "16:27:38\tDNB_npp_20150501-20150531_global_vcm-slcorr_v10_rp2\n", + "16:27:39\tDNB_npp_20150601-20150630_global_vcm-slcorr_v10_rp2\n", + "16:27:40\tDNB_npp_20150701-20150731_global_vcm-slcorr_v10_rp2\n", + "16:27:41\tDNB_npp_20150801-20150831_global_vcm-slcorr_v10_rp2\n", + "16:27:41\tDNB_npp_20150901-20150930_global_vcm-slcorr_v10_rp2\n", + "16:27:43\tDNB_npp_20151001-20151031_global_vcm-slcorr_v10_rp2\n", + "16:27:43\tDNB_npp_20151101-20151130_global_vcm-slcorr_v10_rp2\n", + "16:27:44\tDNB_npp_20151201-20151231_global_vcm-slcorr_v10_rp2\n", + "16:27:46\tDNB_npp_20160101-20160131_global_vcm-slcorr_v10_rp2\n", + "16:27:46\tDNB_npp_20160201-20160229_global_vcm-slcorr_v10_rp2\n", + "16:27:46\tDNB_npp_20160301-20160331_global_vcm-slcorr_v10_rp2\n", + "16:27:48\tDNB_npp_20160401-20160430_global_vcm-slcorr_v10_rp2\n", + "16:27:48\tDNB_npp_20160501-20160531_global_vcm-slcorr_v10_rp2\n", + "16:27:48\tDNB_npp_20160601-20160630_global_vcm-slcorr_v10_rp2\n", + "16:27:51\tDNB_npp_20160701-20160731_global_vcm-slcorr_v10_rp2\n", + "16:27:51\tDNB_npp_20160801-20160831_global_vcm-slcorr_v10_rp2\n", + "16:27:51\tDNB_npp_20160901-20160930_global_vcm-slcorr_v10_rp2\n", + "16:27:53\tDNB_npp_20161001-20161031_global_vcm-slcorr_v10_rp2\n", + "16:27:53\tDNB_npp_20161101-20161130_global_vcm-slcorr_v10_rp2\n", + "16:27:54\tDNB_npp_20161201-20161231_global_vcm-slcorr_v10_rp2\n", + "16:27:55\tDNB_npp_20170101-20170131_global_vcm-slcorr_v10_rp2\n", + "16:27:56\tDNB_npp_20170201-20170228_global_vcm-slcorr_v10_rp2\n", + "16:27:56\tDNB_npp_20170301-20170331_global_vcm-slcorr_v10_rp2\n", + "16:27:58\tDNB_npp_20170401-20170430_global_vcm-slcorr_v10_ops\n", + "16:27:58\tDNB_npp_20170501-20170531_global_vcm-slcorr_v10_ops\n", + "16:27:59\tDNB_npp_20170601-20170630_global_vcm-slcorr_v10_ops\n", + "16:28:00\tDNB_npp_20170701-20170731_global_vcm-slcorr_v10_ops\n", + "16:28:01\tDNB_npp_20170801-20170831_global_vcm-slcorr_v10_ops\n", + "16:28:01\tDNB_npp_20170901-20170930_global_vcm-slcorr_v10_ops\n", + "16:28:03\tDNB_npp_20171001-20171031_global_vcm-slcorr_v10_ops\n", + "16:28:03\tDNB_npp_20171101-20171130_global_vcm-slcorr_v10_ops\n", + "16:28:03\tDNB_npp_20171201-20171231_global_vcm-slcorr_v10_ops\n", + "16:28:05\tDNB_npp_20180101-20180131_global_ecm-slcorr_v10_ops\n", + "16:28:06\tDNB_npp_20180201-20180228_global_ecm-slcorr_v10_ops\n", + "16:28:06\tDNB_npp_20180301-20180331_global_ecm-slcorr_v10_ops\n", + "16:28:07\tDNB_npp_20180401-20180430_global_ecm-slcorr_v10_ops\n", + "16:28:08\tDNB_npp_20180501-20180531_global_ecm-slcorr_v10_ops\n", + "16:28:08\tDNB_npp_20180601-20180630_global_ecm-slcorr_v10_ops\n", + "16:28:10\tDNB_npp_20180701-20180731_global_ecm-slcorr_v10_ops\n", + "16:28:10\tDNB_npp_20180801-20180831_global_ecm-slcorr_v10_ops\n", + "16:28:10\tDNB_npp_20180901-20180930_global_ecm-slcorr_v10_ops\n", + "16:28:12\tDNB_npp_20181001-20181031_global_ecm-slcorr_v10_ops\n", + "16:28:13\tDNB_npp_20181101-20181130_global_ecm-slcorr_v10_ops\n", + "16:28:13\tDNB_npp_20181201-20181231_global_ecm-slcorr_v10_ops\n", + "16:28:15\tDNB_npp_20190101-20190131_global_ecm-slcorr_v10_ops\n", + "16:28:15\tDNB_npp_20190201-20190228_global_ecm-slcorr_v10_ops\n", + "16:28:15\tDNB_npp_20190301-20190331_global_ecm-slcorr_v10_ops\n", + "16:28:17\tDNB_npp_20190401-20190430_global_ecm-slcorr_v10_ops\n", + "16:28:18\tDNB_npp_20190501-20190531_global_ecm-slcorr_v10_ops\n", + "16:28:18\tDNB_npp_20190601-20190630_global_ecm-slcorr_v10_ops\n", + "16:28:20\tDNB_npp_20190701-20190731_global_ecm-slcorr_v10_ops\n", + "16:28:20\tDNB_npp_20190801-20190831_global_ecm-slcorr_v10_ops\n", + "16:28:20\tDNB_npp_20190901-20190930_global_ecm-slcorr_v10_ops\n", + "16:28:22\tDNB_npp_20191001-20191031_global_ecm-slcorr_v10_ops\n", + "16:28:23\tDNB_npp_20191101-20191130_global_ecm-slcorr_v10_ops\n", + "16:28:23\tDNB_npp_20191201-20191231_global_ecm-slcorr_v10_ops\n", + "16:28:25\tDNB_npp_20200101-20200131_global_ecm-slcorr_v10_ops\n", + "16:28:25\tDNB_npp_20200201-20200229_global_ecm-slcorr_v10_ops\n", + "16:28:25\tDNB_npp_20200301-20200331_global_ecm-slcorr_v10_ops\n", + "16:28:27\tDNB_npp_20200401-20200430_global_ecm-slcorr_v10_ops\n", + "16:28:28\tDNB_npp_20200501-20200531_global_ecm-slcorr_v10_ops\n", + "16:28:28\tDNB_npp_20200601-20200630_global_ecm-slcorr_v10_ops\n", + "16:28:30\tDNB_npp_20200701-20200731_global_ecm-slcorr_v10_ops\n", + "16:28:30\tDNB_npp_20200801-20200831_global_ecm-slcorr_v10_ops\n", + "16:28:30\tDNB_npp_20200901-20200930_global_ecm-slcorr_v10_ops\n", + "16:28:32\tDNB_npp_20201001-20201031_global_ecm-slcorr_v10_ops\n", + "16:28:33\tDNB_npp_20201101-20201130_global_ecm-slcorr_v10_ops\n", + "16:28:33\tDNB_npp_20201201-20201231_global_ecm-slcorr_v10_ops\n", + "16:28:35\tDNB_npp_20210101-20210131_global_ecm-slcorr_v10_ops\n", + "16:28:35\tDNB_npp_20210201-20210228_global_ecm-slcorr_v10_ops\n", + "16:28:35\tDNB_npp_20210301-20210331_global_ecm-slcorr_v10_ops\n", + "16:28:37\tDNB_npp_20210401-20210430_global_ecm-slcorr_v10_ops\n", + "16:28:38\tDNB_npp_20210501-20210531_global_ecm-slcorr_v10_ops\n", + "16:28:38\tDNB_npp_20210601-20210630_global_ecm-slcorr_v10_ops\n", + "16:28:40\tDNB_npp_20210701-20210731_global_ecm-slcorr_v10_ops\n", + "16:28:40\tDNB_npp_20210901-20210930_global_ecm-slcorr_v10_ops\n", + "16:28:42\tDNB_npp_20211001-20211031_global_ecm-slcorr_v10_ops\n", + "16:28:42\tDNB_npp_20211101-20211130_global_ecm-slcorr_v10_ops\n", + "16:28:43\tDNB_npp_20211201-20211231_global_ecm-slcorr_v10_ops\n", + "16:28:45\tDNB_npp_20220101-20220131_global_ecm-slcorr_v10_ops\n", + "16:28:45\tDNB_npp_20220201-20220228_global_ecm-slcorr_v10_ops\n", + "16:28:45\tDNB_npp_20220301-20220331_global_ecm-slcorr_v10_ops\n", + "16:28:47\tDNB_npp_20220401-20220430_global_ecm-slcorr_v10_ops\n", + "16:28:47\tDNB_npp_20220501-20220531_global_ecm-slcorr_v10_ops\n", + "16:28:49\tDNB_npp_20220701-20220731_global_ecm-slcorr_v10_ops\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "16:28:49\tDNB_npp_20220901-20220930_global_ecm-slcorr_v10_ops\n", + "16:28:51\tDNB_npp_20221001-20221031_global_ecm-slcorr_v10_ops\n", + "16:28:52\tDNB_npp_20221101-20221130_global_ecm-slcorr_v10_ops\n", + "16:28:52\tDNB_npp_20221201-20221231_global_ecm-slcorr_v10_ops\n", + "16:28:54\tDNB_npp_20230101-20230131_global_ecm-slcorr_v10_ops\n", + "16:28:54\tDNB_npp_20230201-20230228_global_ecm-slcorr_v10_ops\n", + "16:28:54\tDNB_npp_20230301-20230331_global_ecm-slcorr_v10_ops\n", + "16:28:56\tDNB_npp_20230401-20230430_global_ecm-slcorr_v10_ops\n", + "16:28:56\tDNB_npp_20230501-20230531_global_ecm-slcorr_v10_ops\n", + "16:28:57\tDNB_npp_20230601-20230630_global_ecm-slcorr_v10_ops\n", + "16:28:59\tDNB_npp_20230701-20230731_global_ecm-slcorr_v10_ops\n", + "16:28:59\tDNB_npp_20230801-20230831_global_ecm-slcorr_v10_ops\n", + "16:29:00\tDNB_npp_20230901-20230930_global_ecm-slcorr_v10_ops\n", + "16:29:02\tDNB_npp_20231001-20231031_global_ecm-slcorr_v10_ops\n", + "16:29:02\tDNB_npp_20231101-20231130_global_ecm-slcorr_v10_ops\n", + "16:29:02\tDNB_npp_20231201-20231231_global_ecm-slcorr_v10_ops\n", + "16:29:04\tDNB_npp_20240101-20240131_global_ecm-slcorr_v10_ops\n", + "16:29:04\tDNB_npp_20240201-20240229_global_ecm-slcorr_v10_ops\n", + "16:29:05\tDNB_npp_20240301-20240331_global_ecm-slcorr_v10_ops\n", + "16:29:07\tDNB_npp_20240401-20240430_global_ecm-slcorr_v10_ops\n", + "16:29:07\tDNB_npp_20240501-20240531_global_ecm-slcorr_v10_ops\n" ] } ], @@ -155,10 +318,70 @@ }, { "cell_type": "code", - "execution_count": 51, - "id": "506e663a", + "execution_count": 38, + "id": "aa4a12c5", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "national_res_files = [os.path.join(out_folder, x) for x in os.listdir(out_folder) if \"National\" in x]\n", + "national_summary = inA.copy()\n", + "good_months = ['01','04','07','10']\n", + "try:\n", + " del(final)\n", + "except:\n", + " pass\n", + "for nfile in national_res_files:\n", + " date = os.path.basename(nfile).split(\"_\")[4][:8]\n", + " try:\n", + " month = date[4:6]\n", + " date = int(date)\n", + " if month in good_months:\n", + " curD = pd.read_csv(nfile, index_col=0)\n", + " try:\n", + " final[f'SoL_{date}'] = curD['SUM_of_Lights']\n", + " except:\n", + " curD = curD.drop(['ADM2_Count'], axis=1)\n", + " curD.columns = ['AAA_WB_ADM0_NA',f'SoL_{date}']\n", + " final = curD \n", + " except:\n", + " pass" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "74b9b910", "metadata": {}, "outputs": [], + "source": [ + "final = final.reindex(sorted(final.columns), axis=1)\n", + "final.to_csv(\"Quarterly_NTL_zonal_sums.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "506e663a", + "metadata": {}, + "outputs": [ + { + "ename": "ValueError", + "evalue": "invalid literal for int() with base 10: '20230601-20230630'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0myear\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0myear\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 7\u001b[0m \u001b[0;32mexcept\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mValueError\u001b[0m: invalid literal for int() with base 10: 'global'", + "\nDuring handling of the above exception, another exception occurred:\n", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0;32mexcept\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0myear\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbasename\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnfile\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msplit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"_\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m4\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 9\u001b[0;31m \u001b[0myear\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0myear\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 10\u001b[0m \u001b[0mcurD\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_csv\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnfile\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mindex_col\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mnfile\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0mnational_res_files\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mValueError\u001b[0m: invalid literal for int() with base 10: '20230601-20230630'" + ] + } + ], "source": [ "national_res_files = [os.path.join(out_folder, x) for x in os.listdir(out_folder) if \"National\" in x]\n", "national_summary = inA.copy()\n", @@ -180,7 +403,17 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": null, + "id": "6cd5a5f9", + "metadata": {}, + "outputs": [], + "source": [ + "final.head()" + ] + }, + { + "cell_type": "code", + "execution_count": null, "id": "4ee424a1", "metadata": {}, "outputs": [], @@ -190,1427 +423,10 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": null, "id": "b1fb067d", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[ geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((63.31910 29.45670, 63.30590 29.45889... Afghanistan Badakhshan \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Baharak SAR 0 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((19.83331 40.05114, 19.82395 40... Albania Berat \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Berat ECA 329 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((1.28911 20.72614, 1.27914 20.7... Algeria Adrar \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Adrar MENA 703 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-170.66429 -14.25196, -170.660... American Samoa (U.S.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 American Samoa (U.S.) American Samoa (U.S.) EAP 2244 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((1.54841 42.44017, 1.51755 42.43542, ... Andorra \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Andorra La Vella Administrative unit not available Other 2332 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((11.70815 -16.66793, 11.69950 -... Angola Bengo \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Ambriz AFR 2339 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-63.11109 18.18224, -63.11539 ... Anguilla (U.K.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Name Unknown Administrative unit not available Other 2498 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-62.35168 16.93105, -62.35063 ... Antigua and Barbuda \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Barbuda Barbuda Other 2508 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((31.41462 22.00000, 31.41444 22... Arab Republic of Egypt \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION \\\n", - " 0 Al Bahr/al Ahmar (redsea) Administrative unit not available MENA \n", - " \n", - " id \n", - " 0 37221 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-68.48239 -54.87877, -68.48433... Argentina Buenos Aires \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 25 De Mayo LCR 2516 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((44.19079 40.03421, 44.17244 40... Armenia Aragatsotn \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Achtarak ECA 3029 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((-69.87650 12.40609, -69.88358 12.408... Aruba (Neth.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Aruba (Neth.) Aruba (Neth.) Other 3069 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((92.32269 26.90190, 92.28508 26... Arunachal Pradesh \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA \\\n", - " 0 Administrative unit not available Administrative unit not available \n", - " \n", - " WB_REGION id \n", - " 0 Other 3070 ,\n", - " geometry \\\n", - " 0 MULTIPOLYGON (((123.55486 -12.53258, 123.55286... \n", - " \n", - " WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 Ashmore and Cartier Islands (Aus.) Ashmore and Cartier Islands (Aus.) \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Ashmore and Cartier Islands (Aus.) Other 3075 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((116.73547 -35.03804, 116.72890... Australia \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Australian Capital Territory Unincorporated ACT Other 3076 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((13.50199 46.56774, 13.50142 46.56809... Austria Burgenland \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Bruck an der Leitha Other 3711 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((45.61592 38.94985, 45.61143 38... Azerbaijan \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Nagorno-karabakh Askeran(Khodjali) ECA 3811 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-28.07220 38.44659, -28.06347 ... Azores Islands (Por.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Ilha Da Graciosa (acores) Santa Cruz Other 37247 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((50.62816 26.08588, 50.62445 26... Bahrain \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Central Region Administrative unit not available Other 3891 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((-176.47815 0.19429, -176.48479 0.194... Baker Island (U.S.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Baker Island (U.S.) Baker Island (U.S.) Other 3903 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((89.23779 21.69212, 89.24133 21... Bangladesh Barisal \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Barguna SAR 3904 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((-59.61151 13.07642, -59.60814 13.083... Barbados \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Christ Church Administrative unit not available Other 3969 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((24.37607 51.83963, 24.36767 51.80832... Belarus Brest \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Baranovichi ECA 3980 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((4.43853 49.94388, 4.40208 49.9... Belgium \n", - " \n", - " WB_ADM1_NA \\\n", - " 0 Region de Bruxelles-Capitale / Brussels Hoofds... \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Area without administration at 2nd level Other 4099 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-88.37003 16.51357, -88.37044 ... Belize Belize \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available LCR 4110 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((1.90098 6.27989, 1.87063 6.27850, 1.... Benin Alibori \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Banikoara AFR 4116 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-64.69841 32.34417, -64.68300 ... Bermuda (U.K.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Bermuda (U.K.) Administrative unit not available Other 4193 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((89.52936 26.81309, 89.51780 26.81379... Bhutan Bumthang \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Aura SAR 4194 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((-68.43931 -20.63365, -68.43936 -20.6... Bolivia Pando \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 General Federico Roman LCR 4395 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-68.29577 12.15702, -68.29196 ... Bonaire (Neth.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Bonaire (Neth.) Bonaire (Neth.) Other 37266 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((17.38977 43.23323, 17.37912 43.23553... Bosnia and Herzegovina \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Federacija Bosne I Hercegovine Gornjedrinski ECA 4508 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((24.46772 -25.74411, 24.45577 -25.743... Botswana Central \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available AFR 4589 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((3.38518 -54.46238, 3.37658 -54.46135... Bouvet Island (Nor.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Bouvet Island (Nor.) Bouvet Island (Nor.) Other 4599 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-56.29886 -30.52265, -56.30792... Brazil Acre \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Acrelandia LCR 4600 ,\n", - " geometry \\\n", - " 0 MULTIPOLYGON (((71.40122 -6.67402, 71.40744 -6... \n", - " \n", - " WB_ADM0_NA \\\n", - " 0 British Indian Ocean Territory (U.K.) \n", - " \n", - " WB_ADM1_NA \\\n", - " 0 British Indian Ocean Territory (U.K.) \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 British Indian Ocean Territory (U.K.) Other 10110 ,\n", - " geometry \\\n", - " 0 MULTIPOLYGON (((-64.60963 18.32143, -64.61019 ... \n", - " \n", - " WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 British Virgin Islands (U.K.) Anegada \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available Other 10111 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((114.81459 4.24727, 114.82748 4... Brunei Darussalam \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Belait Bukit Sawat Other 10116 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((23.36903 41.38387, 23.36103 41.37412... Bulgaria Blagoevgrad \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Bansko ECA 10154 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((-2.79058 10.16509, -2.78699 10.14081... Burkina Faso \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Boucle Du Mouhoun Banwa AFR 10416 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((29.38902 -4.16806, 29.37833 -4.13361... Burundi Bubanza \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Bubanza AFR 10461 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((102.88807 9.93095, 102.88804 9... Cambodia \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Banteay Meanchey Malai EAP 10595 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((9.64080 3.63505, 9.64186 3.630... Cameroon Adamaoua \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Djerem AFR 10782 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-131.05998 52.12312, -131.0601... Canada Alberta \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Division No. 1 Other 10840 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-24.69128 14.89708, -24.69034 ... Cape Verde Boa Vista \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Boa Vista AFR 11132 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-81.37711 19.38368, -81.38611 ... Cayman Islands (U.K.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Grand Cayman Administrative unit not available Other 11154 ,\n", - " geometry \\\n", - " 0 POLYGON ((16.51234 3.12051, 16.51740 3.10946, ... \n", - " \n", - " WB_ADM0_NA WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Central African Republic Bamingui-bangora Bamingui AFR 11157 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((15.59732 7.76746, 15.59111 7.77618, ... Chad Biltine \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Abou-charib-i AFR 11227 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-75.13518 -51.39128, -75.12983... Chile \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Antofagasta (ii) Antofagasta Other 11574 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((101.63028 22.30131, 101.62995 ... China Anhui Sheng \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Name Unknown EAP 11625 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((105.65967 -10.57585, 105.65405 -10.5... Christmas Island (Aus.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Christmas Island (Aus.) Christmas Island (Aus.) Other 11970 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((-109.20522 10.28207, -109.21824 10.2... Clipperton Island (Fr.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Clipperton Island (Fr.) Clipperton Island (Fr.) Other 11971 ,\n", - " geometry \\\n", - " 0 MULTIPOLYGON (((96.92421 -12.17633, 96.92371 -... \n", - " \n", - " WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 Cocos (Keeling) Islands (Aus.) Cocos (Keeling) Islands (Aus.) \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Cocos (Keeling) Islands (Aus.) Other 11972 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-77.12770 0.37378, -77.13397 0... Colombia Amazonas \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 El Encanto LCR 11973 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((43.71089 -12.40197, 43.70979 -... Comoros Anjouan \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available AFR 13060 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((11.98452 -4.99713, 11.95932 -4.95959... Congo Bouenza \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Boko-songho AFR 13063 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-159.73665 -21.20090, -159.720... Cook Islands (N.Z.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Cook Islands (N.Z.) Cook Islands (N.Z.) Other 13109 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-87.03625 5.55328, -87.03544 5... Costa Rica Alajuela \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Alajuela LCR 13110 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((14.89169 44.22367, 14.89773 44... Croatia \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Bjelovar-bilogora Administrative unit not available Other 13191 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-83.07517 21.56954, -83.06902 ... Cuba Camaguey \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Camaguey LCR 13212 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-68.64664 11.97320, -68.65244 ... Curaçao (Neth.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Curaçao (Neth.) Curaçao (Neth.) Other 37267 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((33.15435 34.71058, 33.13620 34... Cyprus \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Lefko?a (Nicosia) Administrative unit not available Other 13446 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((14.71465 48.66220, 14.71368 48.65922... Czech Republic \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Jihocesky Ceske Budejovice Other 13454 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-6.07203 4.97700, -6.07669 4.9... Côte d'Ivoire \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Bas Sassandra Nawa AFR 13531 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((125.08949 37.67393, 125.08727 ... D.P.R. of Korea \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Chagang-do Chosan EAP 13564 ,\n", - " geometry \\\n", - " 0 MULTIPOLYGON (((12.41950 -6.02196, 12.42272 -6... \n", - " \n", - " WB_ADM0_NA WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Democratic Republic of Congo Bandundu Bandundu (city) AFR 13747 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((9.20382 54.85911, 9.19445 54.8... Denmark Aarhus \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Aarhus Other 13795 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((42.31830 10.99274, 42.31525 10... Djibouti Ali Sabieh \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Ali Sabieh MENA 14066 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((-61.37924 15.20800, -61.37685 15.211... Dominica St. Andrew \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available LCR 14077 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-71.62634 17.47681, -71.62771 ... Dominican Republic \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Azua Azua LCR 14087 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-80.31702 -4.01120, -80.30604 ... Ecuador Azuay \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Chordeleg LCR 14249 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-89.55885 13.49905, -89.57423 ... El Salvador Ahuachapan \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Ahuachapan LCR 14515 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((5.61630 -1.45793, 5.61375 -1.4... Equatorial Guinea \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Annobon Administrative unit not available Other 14777 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((39.01335 14.62317, 39.01309 14... Eritrea Anseba \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Adi Tekeliezan AFR 14784 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((23.22370 57.78455, 23.21808 57... Estonia Harjumaa \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Aegviidu Other 14842 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((36.68154 4.44140, 36.66215 4.44226, ... Ethiopia Addis Ababa \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Addis Ababa Zone1 AFR 15096 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((20.83702 40.92689, 20.83407 40.92276... FYR Macedonia \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Berovo Berovo ECA 30543 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-6.88124 61.63318, -6.87655 61... Faroe Islands (Den.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA \\\n", - " 0 Administrative unit not available Administrative unit not available \n", - " \n", - " WB_REGION id \n", - " 0 Other 15176 ,\n", - " geometry \\\n", - " 0 MULTIPOLYGON (((149.30641 6.70377, 149.30846 6... \n", - " \n", - " WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 Federated States of Micronesia Administrative unit not available \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available EAP 24846 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-178.72447 -20.64542, -178.723... Fiji Central \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Naitasiri EAP 15177 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((20.29245 59.98030, 20.29939 59... Finland Aaland \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Aaland Other 15192 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-52.06603 3.51527, -52.07183 3... France Alsace \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Bas-Rhin Other 15212 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-51.93443 4.82703, -51.93092 4... French Guiana \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Cayenne Matoury Other 15333 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-147.68715 -23.89758, -147.683... French Polynesia (Fr.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 French Polynesia (Fr.) French Polynesia (Fr.) Other 15338 ,\n", - " geometry \\\n", - " 0 MULTIPOLYGON (((68.81296 -49.83031, 68.80688 -... \n", - " \n", - " WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 French Southern and Antarctic Lands (Fr.) Amsterdam Island (Fr.) \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Amsterdam Island (Fr.) Other 15339 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((11.48681 -3.55673, 11.45842 -3... Gabon Estuaire \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Komo AFR 15348 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((41.92108 41.50322, 41.91810 41.50235... Georgia \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Abkhazia Aut. Rep. Gagra ECA 15449 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((8.96853 47.66923, 8.96800 47.6... Germany \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Baden-Wuerttemberg Freiburg Other 15528 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((-1.83389 4.85240, -1.83708 4.84869, ... Ghana Ashanti \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Adansi East AFR 15561 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((-5.34003 36.15975, -5.34164 36.14482... Gibraltar (U.K.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Gibraltar (U.K.) Gibraltar (U.K.) Other 15671 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((21.65869 36.94539, 21.65756 36... Greece \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Anatoliki Makedonia Kai Thraki Dramas Other 15672 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-56.67437 73.54915, -56.68454 ... Greenland (Den.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Nordgronland Administrative unit not available Other 15728 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-61.65080 12.03263, -61.65997 ... Grenada Saint David \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available LCR 15731 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((144.72313 13.24060, 144.72101 13.240... Guam (U.S.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Guam (U.S.) Guam (U.S.) Other 15738 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-91.98770 14.35023, -91.99071 ... Guatemala Guatemala \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Santa Catarina Pinula LCR 15739 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-2.60874 49.42477, -2.61751 49... Guernsey (U.K.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Alderney Administrative unit not available Other 16074 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-13.80183 9.45684, -13.80485 9... Guinea Boke \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Boffa AFR 16130 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-15.99478 11.05104, -15.99006 ... Guinea-Bissau \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Bafata Bafata AFR 16091 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-58.50263 1.44447, -58.50212 1... Guyana \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Barima Waini (region N°1) Barima/amakura LCR 16168 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-73.68211 18.10196, -73.68146 ... Haiti L'Artibonite \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Dessalines LCR 16194 ,\n", - " geometry \\\n", - " 0 MULTIPOLYGON (((73.38786 -53.02475, 73.39275 -... \n", - " \n", - " WB_ADM0_NA \\\n", - " 0 Heard Island and McDonald Islands (Aus.) \n", - " \n", - " WB_ADM1_NA \\\n", - " 0 Heard Island and McDonald Islands (Aus.) \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Heard Island and McDonald Islands (Aus.) Other 16236 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-88.65740 14.02124, -88.66038 ... Honduras Atlantida \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Arizona LCR 16238 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((113.90919 22.16331, 113.90801 ... Hong Kong, SAR, China \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Hong Kong, SAR Hong Kong, SAR Other 37220 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((-176.63843 0.79777, -176.64072 0.798... Howland Island (U.S.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Howland Island (U.S.) Howland Island (U.S.) Other 16529 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((18.80949 45.90392, 18.80949 45.90392... Hungary Bacs-kiskun \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available ECA 16530 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-22.69084 65.04504, -22.69043 ... Iceland Arnes \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available Other 16550 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((72.31868 10.13007, 72.32069 10... India \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Andaman and Nicobar Andaman Islands SAR 16574 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((99.72112 -2.38764, 99.72067 -2... Indonesia \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Nangroe Aceh Darussalam Aceh Besar EAP 17149 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((42.17607 31.04765, 42.08558 31... Iraq Anbar \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Ana MENA 17875 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-10.24744 51.73955, -10.23844 ... Ireland Carlow \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available Other 17975 ,\n", - " geometry \\\n", - " 0 MULTIPOLYGON (((47.65296 32.05474, 47.64966 32... \n", - " \n", - " WB_ADM0_NA WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Islamic Republic of Iran Kermanshah Eslamabad-e gharb MENA 17592 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-4.81551 54.04464, -4.81832 54... Isle of Man (U.K.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Andreas Administrative unit not available Other 18002 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((34.95210 31.56970, 34.94830 31.53670... Israel \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Central District Administrative unit not available Other 18026 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((9.60419 39.14049, 9.60382 39.1... Italy Abruzzi \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Chieti Other 18032 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-77.13544 17.88241, -77.14711 ... Jamaica Clarendon \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available LCR 18135 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((123.80929 24.05334, 123.80637 ... Japan Aiti \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Aguityoo Other 18148 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((-160.01367 -0.38901, -160.01871 -0.3... Jarvis Island (U.S.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Jarvis Island (U.S.) Jarvis Island (U.S.) Other 21496 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((-2.17357 49.18270, -2.16878 49.17945... Jersey (U.K.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Brelade Administrative unit not available Other 21497 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((-169.54272 16.72655, -169.54349 16.7... Johnston Atoll (U.S.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Johnston Atoll (U.S.) Johnston Atoll (U.S.) Other 21509 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((34.96080 29.36834, 34.96419 29.37340... Jordan Ajloun \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Kufranja MENA 21510 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((51.28211 43.24196, 51.28490 43... Kazakhstan \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Akmolinskaya Akkol ECA 21571 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((34.31281 -1.15512, 34.27918 -1... Kenya Central \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Kiambu AFR 21744 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-162.83349 6.22525, -162.82466... Kingman Reef (U.S.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Kingman Reef (U.S.) Kingman Reef (U.S.) Other 21818 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-151.80057 -11.40787, -151.799... Kiribati \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA \\\n", - " 0 Administrative unit not available Administrative unit not available \n", - " \n", - " WB_REGION id \n", - " 0 EAP 21819 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((20.98653 42.14179, 20.98510 42.14085... Kosovo \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Kosovsko-mitrovatski Kosovsko-mitrovatski ECA 37273 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((48.11863 29.18762, 48.12589 29... Kuwait \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Al Farwaniyah Administrative unit not available Other 21820 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((72.84918 39.35292, 72.84114 39.35307... Kyrgyz Republic \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Batken Batken ECA 21825 ,\n", - " geometry \\\n", - " 0 POLYGON ((101.26020 17.59076, 101.25750 17.585... \n", - " \n", - " WB_ADM0_NA WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Lao People's Democratic Republic Attapu Phouvong EAP 21865 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((24.71123 56.38195, 24.70440 56.37900... Latvia Aizkraukles \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available Other 22004 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((35.49938 33.09040, 35.49691 33.09093... Lebanon Beqaa \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Baalbeck MENA 22030 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((27.55311 -30.38162, 27.55114 -30.380... Lesotho Berea \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 'Makhoroana AFR 22056 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((-10.13744 5.96129, -10.14497 5.96843... Liberia Bomi \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Klay AFR 22303 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((11.42578 24.19811, 11.27098 24... Libya \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Ajdabiya (agedabia) Administrative unit not available MENA 22367 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((9.52107 47.06392, 9.50571 47.06303, ... Liechtenstein \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Balzers Administrative unit not available Other 22392 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((22.98276 54.39074, 22.97150 54... Lithuania Alytaus \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Alytaus Raj. Other 22403 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((6.24104 49.50797, 6.23904 49.50744, ... Luxembourg Diekirch \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Clervaux Other 22458 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((113.55130 22.11067, 113.54950 ... Macau, SAR, China \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Macau, SAR Macau, SAR Other 22470 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((44.22776 -25.22229, 44.22372 -... Madagascar \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Alaotra Mangoro Ambatondrazaka AFR 22471 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-16.76324 32.69424, -16.76996 ... Madeira Islands (Por.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Ilha Da Madeira (madeira) Calheta Other 22582 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((34.36820 -15.73610, 34.37285 -... Malawi \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Central Region Dedza AFR 22593 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((101.26074 3.01239, 101.26279 3... Malaysia Johor \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Batu Pahit EAP 22622 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((72.94714 0.48613, 72.94625 0.4... Maldives Alifu Alifu \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available SAR 22755 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((-7.74338 10.40035, -7.74344 10.39599... Mali Bamako \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Commune 1 AFR 22776 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((14.42593 35.82947, 14.42117 35... Malta Attard \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available Other 22831 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((166.21909 8.91631, 166.21773 8... Marshall Islands \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA \\\n", - " 0 Administrative unit not available Administrative unit not available \n", - " \n", - " WB_REGION id \n", - " 0 EAP 22898 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-15.85867 16.49204, -15.85938 ... Mauritania Adrar \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Aoujeft AFR 22899 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((57.61386 -20.50191, 57.60678 -... Mauritius \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA \\\n", - " 0 Administrative unit not available Administrative unit not available \n", - " \n", - " WB_REGION id \n", - " 0 AFR 22944 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-114.74935 18.35158, -114.7550... Mexico \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Aguascalientes Aguascalientes LCR 22954 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-177.39203 28.19967, -177.3868... Midway Island (U.S.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Midway Island (U.S.) Midway Island (U.S.) Other 24847 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((28.14747 45.78310, 28.14275 45.78265... Moldova Balti \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Balti ECA 24848 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((7.45229 43.76189, 7.44674 43.75750, ... Monaco \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA \\\n", - " 0 Administrative unit not available Administrative unit not available \n", - " \n", - " WB_REGION id \n", - " 0 Other 24892 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((94.39952 44.53646, 94.36402 44.52745... Mongolia Arhangai \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Battsengel EAP 24893 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((19.30484 42.16538, 19.31115 42... Montenegro Andrijevica \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available ECA 37174 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((-62.18253 16.67270, -62.19180 16.673... Montserrat (U.K.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Brodericks Administrative unit not available Other 25220 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-11.60854 27.66669, -11.75035 ... Morocco Centre \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Ain Chock MENA 25227 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((32.65324 -26.09857, 32.65493 -... Mozambique \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Cabo Delgado Ancuabe AFR 25273 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((93.23122 14.00331, 93.23833 13... Myanmar Rakhine \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Buthidaung EAP 25421 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((15.24059 -27.11713, 15.23812 -... Namibia Caprivi \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Kongola AFR 25485 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((166.91888 -0.55232, 166.91293 -0.551... Nauru \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA \\\n", - " 0 Administrative unit not available Administrative unit not available \n", - " \n", - " WB_REGION id \n", - " 0 Other 25592 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((-75.00709 18.39670, -75.01331 18.398... Navassa Island (U.S.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Navassa Island (U.S.) Navassa Island (U.S.) Other 25593 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((83.93576 27.45260, 83.92030 27.44456... Nepal Central \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Bagmati SAR 25594 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((164.08650 -20.31337, 164.09062... New Caledonia (Fr.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA \\\n", - " 0 Administrative unit not available Administrative unit not available \n", - " \n", - " WB_REGION id \n", - " 0 Other 25620 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((166.07281 -51.06873, 166.07535... New Zealand Auckland \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available Other 25621 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-86.20027 11.53462, -86.20652 ... Nicaragua \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Atlantico Norte Bonanza LCR 25635 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((3.65170 12.38798, 3.65068 12.35786, ... Niger Agadez \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Arlit AFR 25793 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((3.35522 6.39634, 3.29312 6.397... Nigeria Adamawa \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Fufore AFR 25831 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((-169.87929 -19.15219, -169.88510 -19... Niue (N.Z.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Niue (N.Z.) Niue (N.Z.) Other 26368 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((168.05453 -29.11088, 168.05013... Norfolk Island (Aus.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Norfolk Island (Aus.) Norfolk Island (Aus.) Other 26369 ,\n", - " geometry \\\n", - " 0 MULTIPOLYGON (((145.26299 14.15309, 145.24522 ... \n", - " \n", - " WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 Northern Mariana Islands (U.S.) Northern Mariana Islands (U.S.) \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Northern Mariana Islands (U.S.) Other 26370 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((4.86541 59.31423, 4.87288 59.3... Norway Akershus \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Aas Other 26371 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((54.05163 16.98924, 54.03997 16... Oman A Dakhliya \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Adam Other 26806 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((67.12112 24.68880, 67.12572 24... Pakistan Balochistan \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Chagai SAR 26856 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((131.17322 3.00854, 131.17448 3... Palau \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA \\\n", - " 0 Administrative unit not available Administrative unit not available \n", - " \n", - " WB_REGION id \n", - " 0 EAP 26976 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((-162.45929 5.86023, -162.45999 5.860... Palmyra Atoll (U.S.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Palmyra Atoll (U.S.) Palmyra Atoll (U.S.) Other 26977 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-82.23167 7.46852, -82.23009 7... Panama \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Bocas Del Toro Bocas Del Toro LCR 26978 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((142.30722 -9.21955, 142.27933 ... Papua New Guinea \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Central abau EAP 27046 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((-57.44966 -27.40424, -57.47782 -27.4... Paraguay \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Alto Paraguay Fuerte Olimpo LCR 27151 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-78.44293 -9.37797, -78.45044 ... Peru Amazonas \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Bagua LCR 27370 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((119.38372 4.61439, 119.38190 4... Philippines \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Cordillera Administrative region (CAR) Abra EAP 27566 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-130.10846 -25.07594, -130.112... Pitcairn Islands (U.K.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Pitcairn Islands (U.K.) Pitcairn Islands (U.K.) Other 27648 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((16.34990 50.65818, 16.34990 50... Poland Dolnoslaskie \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Boleslawiec Other 27649 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-8.86163 37.04221, -8.86830 37... Portugal Aveiro \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Agueda Other 28026 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-66.87083 17.94304, -66.87597 ... Puerto Rico (U.S.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Aguadilla Aguada Municipio Other 28304 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((51.34177 24.62537, 51.33732 24... Qatar Ad Dawhah \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available Other 28382 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-72.46595 7.47477, -72.46604 7... R.B. de Venezuela \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Amazonas D. Atabapo LCR 35761 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((125.12013 34.04410, 125.10871 ... Republic of Korea \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Cheju-do Administrative unit not available Other 28391 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((42.73550 13.62851, 42.73950 13... Republic of Yemen \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Abyan Ahwar MENA 36738 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((24.10496 43.70950, 24.09778 43... Romania Alba \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available Other 28406 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((34.30744 51.85854, 34.30383 51... Russian Federation \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Adygeya Rep. Administrative unit not available Other 28447 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((29.69958 -2.80928, 29.69614 -2.80665... Rwanda \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 East/Iburasirazuba Bugesera AFR 28537 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((-63.21524 17.62730, -63.23523 17.622... Saba (Neth.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Saba (Neth.) Saba (Neth.) Other 37268 ,\n", - " geometry \\\n", - " 0 MULTIPOLYGON (((-9.96288 -40.27473, -9.95120 -... \n", - " \n", - " WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 Saint Helena, Ascension and Tristan da Cunha (... Ascension (U.K.) \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Ascension Other 28567 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-62.77827 17.29643, -62.79148 ... Saint Kitts and Nevis \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION \\\n", - " 0 Christ Church Nichola Town Administrative unit not available LCR \n", - " \n", - " id \n", - " 0 28573 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((-60.90837 13.75963, -60.91143 13.759... Saint Lucia \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA \\\n", - " 0 Area Under National Administra Administrative unit not available \n", - " \n", - " WB_REGION id \n", - " 0 LCR 28587 ,\n", - " geometry \\\n", - " 0 MULTIPOLYGON (((-61.38706 12.54151, -61.37891 ... \n", - " \n", - " WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 Saint Vincent and the Grenadines Grenadines \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available LCR 28598 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((-62.87080 17.93269, -62.86956 17.924... Saint-Barthélemy (Fr.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Saint-Barthélemy (Fr.) Saint-Barthélemy (Fr.) Other 37271 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-63.03115 18.12879, -63.02489 ... Saint-Martin (Fr.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Saint-Martin (Fr.) Saint-Martin (Fr.) Other 37272 ,\n", - " geometry \\\n", - " 0 MULTIPOLYGON (((-56.18825 46.77818, -56.18224 ... \n", - " \n", - " WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 Saint-Pierre-et-Miquelon (Fr.) Miquelon-Langlade \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available Other 28596 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-171.42348 -14.05821, -171.424... Samoa \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA \\\n", - " 0 Administrative unit not available Administrative unit not available \n", - " \n", - " WB_REGION id \n", - " 0 EAP 28604 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((12.49151 43.91780, 12.48995 43.91556... San Marino \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA \\\n", - " 0 Administrative unit not available Administrative unit not available \n", - " \n", - " WB_REGION id \n", - " 0 Other 28605 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((36.64432 25.47457, 36.63610 25... Saudi Arabia Asir \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available Other 28608 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-16.47853 12.35412, -16.49433 ... Senegal Kaolack \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Guinguineo AFR 28621 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((20.81635 43.26750, 20.81056 43.26809... Serbia Borski \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available ECA 37195 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((51.16758 -10.17061, 51.16957 -... Seychelles \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA \\\n", - " 0 Administrative unit not available Administrative unit not available \n", - " \n", - " WB_REGION id \n", - " 0 AFR 28664 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-12.99745 7.58889, -13.00416 7... Sierra Leone Eastern \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Kailahun AFR 28727 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((103.73492 1.17143, 103.74269 1... Singapore \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Ang Mo Kio-cheng San Administrative unit not available Other 28740 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((-62.96638 17.47186, -62.97190 17.471... Sint Eustatius (Neth.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Sint Eustatius (Neth.) Sint Eustatius (Neth.) Other 37269 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((-63.04031 18.06344, -63.03072 18.060... Sint Maarten (Neth.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Sint Maarten (Neth.) Sint Maarten (Neth.) Other 37270 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((17.87610 47.95000, 17.87750 47.94680... Slovak Republic \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Banska Bystrica Banska Bystrica Other 28750 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((13.59132 45.49277, 13.59019 45.49669... Slovenia Gorenjska \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Bled Other 28828 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((157.14098 -8.31034, 157.13641 ... Solomon Islands \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA \\\n", - " 0 Administrative unit not available Administrative unit not available \n", - " \n", - " WB_REGION id \n", - " 0 EAP 28973 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((41.93962 -1.13236, 41.94234 -1... Somalia Awdal \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Baki AFR 28974 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((20.81413 -34.40619, 20.84085 -... South Africa \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Eastern Cape Amatola District Council AFR 29048 ,\n", - " geometry \\\n", - " 0 MULTIPOLYGON (((-35.79554 -54.82363, -35.79987... \n", - " \n", - " WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 South Georgia and the South Sandwich Islands (... South Georgia (U.K.) \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 South Georgia (U.K.) Other 29096 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((29.81424 4.56390, 29.78458 4.56486, ... South Sudan \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 El Buheyrat Aliab AFR 14469 ,\n", - " geometry \\\n", - " 0 MULTIPOLYGON (((32.84093 34.69942, 32.85385 34... \n", - " \n", - " WB_ADM0_NA \\\n", - " 0 Sovereign Base Areas of Akrotiri and Dhekelia ... \n", - " \n", - " WB_ADM1_NA \\\n", - " 0 Sovereign Base Areas of Akrotiri and Dhekelia ... \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Sovereign Base Areas of Akrotiri and Dhekelia ... Other 32179 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-17.95083 27.71186, -17.95775 ... Spain Andalucia \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Almeria Other 29098 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((79.84784 6.95636, 79.84988 6.9... Sri Lanka Central \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Matale SAR 29150 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((29.93749 10.28585, 29.93661 10... Sudan Al Jazeera \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Al Hasaheisa AFR 2245 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-55.98729 2.51703, -55.99048 2... Suriname Brokopondo \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Brownsweg LCR 29175 ,\n", - " geometry \\\n", - " 0 MULTIPOLYGON (((-7.98759 71.11012, -7.98799 71... \n", - " \n", - " WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 Svalbard and Jan Mayen Islands (Nor.) Administrative unit not available \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available Other 29237 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((31.22541 -27.22502, 31.21981 -27.222... Swaziland Hhohho \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Hhukwini AFR 29238 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((11.97269 57.34275, 11.97602 57... Sweden \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Blekinge Laen Karlshamn Other 29291 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((6.26758 46.26258, 6.27236 46.26445, ... Switzerland Aargau \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available Other 29580 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((36.49526 32.36550, 36.49277 32.36750... Syrian Arab Republic \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Al_Qunaytirah Al_Fiq MENA 29606 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((6.52218 -0.01147, 6.52154 -0.0... São Tomé and Príncipe \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Príncipe Administrative unit not available AFR 28606 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((68.98300 37.30468, 68.97284 37... Tajikistan \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Badakhshoni Kuni Ishkashimskiy ECA 29674 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((33.70177 -9.61841, 33.69182 -9... Tanzania Arusha \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Arumeru AFR 32273 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((98.30583 7.46361, 98.30679 7.4... Thailand \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Amnat Charoen Chanuman EAP 29730 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-79.52977 23.50477, -79.52975 ... The Bahamas \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA \\\n", - " 0 Administrative unit not available Administrative unit not available \n", - " \n", - " WB_REGION id \n", - " 0 Other 3890 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((-16.68790 13.16390, -16.68771 13.163... The Gambia Banjul \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Banjul AFR 15396 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((3.67577 51.37560, 3.68429 51.3... The Netherlands \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Drenthe Administrative unit not available Other 25608 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((124.35126 -9.43238, 124.35123 ... Timor-Leste Aileu \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Aileu Other 30666 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((1.10574 6.16816, 1.08544 6.16808, 1.... Togo Centrale \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Tchamba AFR 30733 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-171.21918 -9.38111, -171.2239... Tokelau (N.Z.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Tokelau (N.Z.) Tokelau (N.Z.) Other 30763 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-176.19949 -22.32853, -176.197... Tonga \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA \\\n", - " 0 Administrative unit not available Administrative unit not available \n", - " \n", - " WB_REGION id \n", - " 0 EAP 30764 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-61.56799 10.06578, -61.58727 ... Trinidad and Tobago \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Arima Administrative unit not available Other 30765 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((8.32440 32.81216, 8.32332 32.8... Tunisia Ariana \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Ariana Ville MENA 30780 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((27.51114 36.65240, 27.50902 36... Turkey Adana \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Aladag ECA 31041 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((53.08909 39.09605, 53.08696 39... Turkmenistan Chardzhou \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available ECA 31967 ,\n", - " geometry \\\n", - " 0 MULTIPOLYGON (((-71.67052 21.17696, -71.66897 ... \n", - " \n", - " WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 Turks and Caicos Islands (U.K.) Grand Turk \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available Other 31971 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((178.41179 -7.98920, 178.41498 ... Tuvalu \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA \\\n", - " 0 Administrative unit not available Administrative unit not available \n", - " \n", - " WB_REGION id \n", - " 0 EAP 31977 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((30.17750 -1.30722, 30.17101 -1.30490... Uganda Adjumani \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Adjumani AFR 31978 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((29.78359 45.44523, 29.77696 45... Ukraine Cherkas'ka \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available ECA 32145 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((55.82899 24.70459, 55.83477 24... United Arab Emirates \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Abu Dhabi Administrative unit not available Other 32170 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-6.88065 54.33653, -6.88065 54... United Kingdom \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 England Avon Other 32180 ,\n", - " geometry \\\n", - " 0 MULTIPOLYGON (((-64.96056 18.31847, -64.96415 ... \n", - " \n", - " WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 United States Virgin Islands (U.S.) Saint Croix (County Equivalent) \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available Other 32403 ,\n", - " geometry \\\n", - " 0 MULTIPOLYGON (((-157.88979 21.30592, -157.8930... \n", - " \n", - " WB_ADM0_NA WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 United States of America Alabama Autauga Other 32406 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((-57.54870 -34.49409, -57.55430... Uruguay Artigas \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available Other 35537 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((67.11242 37.32707, 67.10465 37... Uzbekistan Andijan \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Altinkul district ECA 35556 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((167.30373 -15.89278, 167.30917... Vanuatu Malampa \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Administrative unit not available EAP 35755 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 POLYGON ((12.45637 41.90215, 12.45451 41.90022... Vatican City \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Vatican City Vatican City Other 16237 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 MULTIPOLYGON (((104.85467 8.41213, 104.85332 8... Vietnam An Giang \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Chau Doc Township EAP 36079 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((166.64729 19.29597, 166.65453 ... Wake Island (U.S.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Wake Island (U.S.) Wake Island (U.S.) Other 36736 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((-178.01576 -14.34117, -178.006... Wallis and Futuna (Fr.) \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Wallis and Futuna (Fr.) Wallis and Futuna (Fr.) Other 36737 ,\n", - " geometry WB_ADM0_NA \\\n", - " 0 MULTIPOLYGON (((34.29211 31.24109, 34.29178 31... West Bank and Gaza \n", - " \n", - " WB_ADM1_NA WB_ADM2_NA WB_REGION id \n", - " 0 Deir al Balah Administrative unit not available Other 15433 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((25.86737 -17.97688, 25.86519 -17.975... Zambia Central \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Chibombo AFR 37040 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((29.03009 -21.98026, 29.02253 -21.954... Zimbabwe Bulawayo \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Bulawayo AFR 37112 ,\n", - " geometry WB_ADM0_NA WB_ADM1_NA \\\n", - " 0 POLYGON ((17.96880 47.96910, 17.96990 47.96850... ccc Nitra \n", - " \n", - " WB_ADM2_NA WB_REGION id \n", - " 0 Komarno Other 28749 ]" - ] - }, - "execution_count": 60, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "adm0 = [curD.dissolve() for lbl, curD in inA.groupby('WB_ADM0_NA')]\n", "adm0" @@ -1618,7 +434,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": null, "id": "0cf15926", "metadata": {}, "outputs": [], diff --git a/notebooks/IMPLEMENTATIONS/ZON_MNACE_Compile_NTL/zonal_pop_NTL_VIIRS_EOG.py b/notebooks/IMPLEMENTATIONS/ZON_MNACE_Compile_NTL/zonal_pop_NTL_VIIRS_EOG.py index 4667dd3..6f418d2 100644 --- a/notebooks/IMPLEMENTATIONS/ZON_MNACE_Compile_NTL/zonal_pop_NTL_VIIRS_EOG.py +++ b/notebooks/IMPLEMENTATIONS/ZON_MNACE_Compile_NTL/zonal_pop_NTL_VIIRS_EOG.py @@ -10,7 +10,7 @@ import GOSTrocks.ntlMisc as ntl from GOSTrocks.misc import tPrint -sys.path.append("../../src") +sys.path.append("../../../src") import h3_helper AWS_S3_BUCKET = 'wbg-geography01' @@ -36,12 +36,20 @@ def run_zonal(gdf, cur_raster_file, out_file, buffer0=False, verbose=False): verbose = True tPrint("Starting") h3_level = 6 - data_prefix = "VIIRS_ANNUAL_EOG" + data_prefix = "VIIRS_Monthly_LEN" # Get list of nighttime lights VIIRS data - # ntl_files = ntl.aws_search_ntl() - ntl_folder = "/home/public/Data/GLOBAL/NighttimeLights/VIIRS_ANNUAL_EOG_V21" - ntl_files = [os.path.join(ntl_folder, x) for x in os.listdir(ntl_folder) if x.endswith(".tif")] + ntl_files = ntl.aws_search_ntl() + good_months = ['01','04','07','10'] + final_ntl_files = [] + for ntl_file in ntl_files: + date = os.path.basename(ntl_file).split("_")[2].split("-")[0] + month = date[4:6] + if month in good_months: + final_ntl_files.append(ntl_file) + ntl_files = final_ntl_files + # ntl_folder = "/home/public/Data/GLOBAL/NighttimeLights/VIIRS_ANNUAL_EOG_V21" + # ntl_files = [os.path.join(ntl_folder, x) for x in os.listdir(ntl_folder) if x.endswith(".tif")] # h3_0_list = h3_helper.generate_lvl0_lists(h3_level, return_gdf=True, buffer0=False) admin_bounds = "/home/wb411133/data/Global/ADMIN/Admin2_Polys.shp" diff --git a/notebooks/Untitled.ipynb b/notebooks/Untitled.ipynb deleted file mode 100644 index 06c3250..0000000 --- a/notebooks/Untitled.ipynb +++ /dev/null @@ -1,446 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "086f423a", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/wb411133/.conda/envs/ee/lib/python3.9/site-packages/geopandas/_compat.py:106: UserWarning: The Shapely GEOS version (3.9.1-CAPI-1.14.2) is incompatible with the GEOS version PyGEOS was compiled with (3.10.4-CAPI-1.16.2). Conversions between both will be slow.\n", - " warnings.warn(\n" - ] - } - ], - "source": [ - "import sys, os, importlib, math, multiprocessing, boto3, pickle\n", - "import rasterio, geojson\n", - "\n", - "import pandas as pd\n", - "import geopandas as gpd\n", - "import numpy as np\n", - "\n", - "from h3 import h3\n", - "from tqdm import tqdm\n", - "from shapely.geometry import Polygon\n", - "\n", - "sys.path.insert(0, \"/home/wb411133/Code/gostrocks/src\")\n", - "import GOSTrocks.rasterMisc as rMisc\n", - "import GOSTrocks.ntlMisc as ntl\n", - "import GOSTrocks.mapMisc as mapMisc\n", - "from GOSTrocks.misc import tPrint\n", - "\n", - "sys.path.append(\"../src\")\n", - "import h3_helper\n", - "\n", - "%load_ext autoreload\n", - "%autoreload 2" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "9815766b", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
ISO_A3ISO_A2WB_A3HASC_0GAUL_0WB_REGIONWB_STATUSSOVEREIGNNAM_0geometryID
0AFGAFAFGAF1SARMember StateAFGAfghanistanPOLYGON ((70.04663 37.54360, 70.04676 37.54356...0
1ALBALALBAL3ECAMember StateALBAlbaniaMULTIPOLYGON (((20.46186 41.55588, 20.46177 41...1
2ANDADADOAD7OtherMember StateANDAndorraPOLYGON ((1.46171 42.50602, 1.46176 42.50605, ...2
3AREAEAREAE255MENAMember StateAREUnited Arab EmiratesMULTIPOLYGON (((53.83064 24.06414, 53.82975 24...3
4ARGARARGAR12LCRMember StateARGArgentinaMULTIPOLYGON (((-58.43833 -34.00238, -58.44420...4
\n", - "
" - ], - "text/plain": [ - " ISO_A3 ISO_A2 WB_A3 HASC_0 GAUL_0 WB_REGION WB_STATUS SOVEREIGN \\\n", - "0 AFG AF AFG AF 1 SAR Member State AFG \n", - "1 ALB AL ALB AL 3 ECA Member State ALB \n", - "2 AND AD ADO AD 7 Other Member State AND \n", - "3 ARE AE ARE AE 255 MENA Member State ARE \n", - "4 ARG AR ARG AR 12 LCR Member State ARG \n", - "\n", - " NAM_0 geometry ID \n", - "0 Afghanistan POLYGON ((70.04663 37.54360, 70.04676 37.54356... 0 \n", - "1 Albania MULTIPOLYGON (((20.46186 41.55588, 20.46177 41... 1 \n", - "2 Andorra POLYGON ((1.46171 42.50602, 1.46176 42.50605, ... 2 \n", - "3 United Arab Emirates MULTIPOLYGON (((53.83064 24.06414, 53.82975 24... 3 \n", - "4 Argentina MULTIPOLYGON (((-58.43833 -34.00238, -58.44420... 4 " - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Define S3 parameters\n", - "bucket = 'wbg-geography01' \n", - "prefix = 'Space2Stats/sample_data'\n", - "region = 'us-east-1'\n", - "s3client = boto3.client('s3', region_name=region)\n", - "out_folder = \"/home/wb411133/projects/Space2Stats/\"\n", - "\n", - "admin_bounds = \"/home/public/Data/GLOBAL/ADMIN/ADMIN2/HighRes_20230328/shp/WB_GAD_ADM0.shp\"\n", - "inA = gpd.read_file(admin_bounds)\n", - "inA['ID'] = inA.index\n", - "inA.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "c9e5c3fb", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
ISO_A3ISO_A2WB_A3HASC_0GAUL_0WB_REGIONWB_STATUSSOVEREIGNNAM_0geometryID
260KENKEKENKE133AFRMember StateKENKenyaMULTIPOLYGON (((33.94935 -0.33810, 33.95258 -0...260
\n", - "
" - ], - "text/plain": [ - " ISO_A3 ISO_A2 WB_A3 HASC_0 GAUL_0 WB_REGION WB_STATUS SOVEREIGN \\\n", - "260 KEN KE KEN KE 133 AFR Member State KEN \n", - "\n", - " NAM_0 geometry ID \n", - "260 Kenya MULTIPOLYGON (((33.94935 -0.33810, 33.95258 -0... 260 " - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Extract/Generate H3 cells and download raster data for mapping generation\n", - "sel_iso3 = \"KEN\"\n", - "sel_admin = inA.loc[inA['ISO_A3'] == sel_iso3]\n" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "fe7ceaa4", - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "['CRS',\n", - " 'Polygon',\n", - " '__builtins__',\n", - " '__cached__',\n", - " '__doc__',\n", - " '__file__',\n", - " '__loader__',\n", - " '__name__',\n", - " '__package__',\n", - " '__spec__',\n", - " 'ctx',\n", - " 'folium',\n", - " 'generate_h3_gdf',\n", - " 'generate_lvl0_lists',\n", - " 'generate_lvl1_lists',\n", - " 'gpd',\n", - " 'h3',\n", - " 'importlib',\n", - " 'json',\n", - " 'make_axes_locatable',\n", - " 'map_choropleth',\n", - " 'mapping',\n", - " 'matplotlib',\n", - " 'mpatches',\n", - " 'os',\n", - " 'pd',\n", - " 'pickle',\n", - " 'plt',\n", - " 'rasterio',\n", - " 'shapely',\n", - " 'static_map_h3',\n", - " 'sys',\n", - " 'tPrint',\n", - " 'tqdm',\n", - " 'unary_union',\n", - " 'urlopen']" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dir(h3_helper)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "9e7947e7", - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Generating h3 grid level 5: 100%|██████████| 365/365 [00:01<00:00, 224.11it/s]\n", - ":9: UserWarning: this is an initial implementation of Parquet/Feather file support and associated metadata. This is tracking version 0.1.0 of the metadata specification at https://github.com/geopandas/geo-arrow-spec\n", - "\n", - "This metadata specification does not yet make stability promises. We do not yet recommend using this in a production setting unless you are able to rewrite your Parquet/Feather files.\n", - "\n", - "To further ignore this warning, you can do: \n", - "import warnings; warnings.filterwarnings('ignore', message='.*initial implementation of Parquet.*')\n", - " h3_data.to_parquet(out_file)\n", - "Generating h3 grid level 6: 100%|██████████| 365/365 [00:06<00:00, 54.42it/s]\n", - "Generating h3 grid level 7: 100%|██████████| 365/365 [00:41<00:00, 8.88it/s] \n" - ] - } - ], - "source": [ - "out_path = f's3://{bucket}/{prefix}/{sel_iso3}'\n", - "\n", - "for h3_lvl in [5,6,7]:\n", - " out_file = os.path.join(out_path, f\"h3_lvl{h3_lvl}_cells.geoparquet\")\n", - " try:\n", - " gpd.read_file(out_file)\n", - " except:\n", - " h3_data = h3_helper.generate_h3_gdf(sel_admin, h3_lvl)\n", - " h3_data.to_parquet(out_file)\n" - ] - }, - { - "cell_type": "markdown", - "id": "a1efc49a", - "metadata": {}, - "source": [ - "# Extract geospatial data" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "b5f4b133", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[array([[[0., 0., 0., ..., 0., 0., 0.],\n", - " [0., 0., 0., ..., 0., 0., 0.],\n", - " [0., 0., 0., ..., 0., 0., 0.],\n", - " ...,\n", - " [0., 0., 0., ..., 0., 0., 0.],\n", - " [0., 0., 0., ..., 0., 0., 0.],\n", - " [0., 0., 0., ..., 0., 0., 0.]]], dtype=float32),\n", - " {'driver': 'GTiff',\n", - " 'dtype': 'float32',\n", - " 'nodata': None,\n", - " 'width': 1921,\n", - " 'height': 2246,\n", - " 'count': 1,\n", - " 'crs': CRS.from_epsg(4326),\n", - " 'transform': Affine(0.0041666667, 0.0, 33.90625171125001,\n", - " 0.0, -0.0041666667, 4.631249437050002)}]" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ntl_files = ntl.aws_search_ntl()\n", - "sel_file = ntl_files[0]\n", - "\n", - "raster_path = \"/home/wb411133/temp/s2s_temp\"\n", - "if not os.path.exists(raster_path):\n", - " os.makedirs(raster_path)\n", - "\n", - "out_file = os.path.join(raster_path, os.path.basename(sel_file))\n", - "rMisc.clipRaster(rasterio.open(sel_file), sel_admin, out_file)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "336f8929", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Earth Engine", - "language": "python", - "name": "ee" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.4" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} From 5df02c6578bbe368cda3cf5ff94693b28f2444f4 Mon Sep 17 00:00:00 2001 From: bpstewar Date: Tue, 1 Oct 2024 12:01:32 -0400 Subject: [PATCH 3/4] testing ingest 2 --- .../Quarterly_NTL_zonal_sums.csv | 259 +++++++++ notebooks/INGESTION_SCHEMA.ipynb | 503 ++++++++++++++++++ 2 files changed, 762 insertions(+) create mode 100644 notebooks/IMPLEMENTATIONS/ZON_MNACE_Compile_NTL/Quarterly_NTL_zonal_sums.csv create mode 100644 notebooks/INGESTION_SCHEMA.ipynb diff --git a/notebooks/IMPLEMENTATIONS/ZON_MNACE_Compile_NTL/Quarterly_NTL_zonal_sums.csv b/notebooks/IMPLEMENTATIONS/ZON_MNACE_Compile_NTL/Quarterly_NTL_zonal_sums.csv new file mode 100644 index 0000000..e0386ea --- /dev/null +++ b/notebooks/IMPLEMENTATIONS/ZON_MNACE_Compile_NTL/Quarterly_NTL_zonal_sums.csv @@ -0,0 +1,259 @@ +,AAA_WB_ADM0_NA,SoL_20120119,SoL_20120401,SoL_20120701,SoL_20121001,SoL_20130101,SoL_20130401,SoL_20130701,SoL_20131001,SoL_20140101,SoL_20140401,SoL_20140701,SoL_20141001,SoL_20150101,SoL_20150401,SoL_20150701,SoL_20151001,SoL_20160101,SoL_20160401,SoL_20160701,SoL_20161001,SoL_20170101,SoL_20170401,SoL_20170701,SoL_20171001,SoL_20180101,SoL_20180401,SoL_20180701,SoL_20181001,SoL_20190101,SoL_20190401,SoL_20190701,SoL_20191001,SoL_20200101,SoL_20200401,SoL_20200701,SoL_20201001,SoL_20210101,SoL_20210401,SoL_20210701,SoL_20211001,SoL_20220101,SoL_20220401,SoL_20220701,SoL_20221001,SoL_20230101,SoL_20230401,SoL_20230701,SoL_20231001,SoL_20240101,SoL_20240401 +0,Afghanistan,1680931.9995880127,1568067.5758895874,1478918.9794311523,1836293.0737304688,1283038.413131714,1393010.5715026855,1059536.8493881226,1760665.668762207,1186025.2325515747,1412217.6601715088,991430.1158294678,1712565.387466431,1256496.4859924316,1560954.8194122314,1170296.4680480957,1243520.7118377686,946820.672416687,997096.5081176758,858425.5897750854,1551857.863861084,1285954.1279296875,1041440.645462036,1219347.7345733645,1770193.8958129885,822247.0128326416,1042994.0480499268,1073052.727218628,1336151.7210998535,881964.2397155762,1052771.7184829712,886487.2368469238,1415157.6925964355,609304.7070770264,1119399.2421798706,1172300.8203430176,1298058.6908111572,1087134.9778671265,1303551.390045166,1447804.285507202,1642333.9043121338,1306469.0395050049,1496331.7407989502,1276552.646270752,1362995.8894958496,1470551.315490723,1467819.431274414,1453221.6835632324,1647246.917816162,1466197.949066162,1553664.0693206787 +1,Albania,169623.50928497314,154048.56880950928,133746.69010162354,158053.67098236084,147922.5297241211,157836.92876815796,118808.11901855467,163146.209815979,147466.7196006775,150923.5606689453,116518.03036689758,170103.4807395935,168092.21985054016,148586.70069885254,102260.16031455994,116281.78948402403,143853.1295890808,121809.2893600464,91217.9004611969,130177.98985290527,145132.20038986206,130243.730884552,121886.75000190736,168411.18090438843,142061.81935882568,129753.27025604248,110127.15961074828,135088.1004447937,167271.70037460327,147534.20877456665,115196.93962860107,159966.15926742554,128623.46953392027,150633.16054153442,164286.3085861206,156101.36959457395,172930.9991798401,148191.4296836853,166713.7093925476,170487.38918685913,189960.54080963132,179139.3611984253,167585.01983261108,182304.31964874268,195627.81893062592,192828.68878555295,195082.69873046875,197904.45008850095,242343.06076812744,217805.2601966858 +2,Algeria,7092335.394142151,8016117.694885254,7234762.361000061,7567853.11164093,6634711.964813232,7697829.778297424,6956299.233726501,8379035.998382568,6144430.509750366,7913442.778411865,7322882.766807556,9440315.479873655,6442207.84664917,8749857.192756653,7533683.806938171,7448138.980102539,7361447.462867737,7485099.522399902,7347880.311401367,7484863.135986328,7258021.106925964,7354223.328605652,6605140.283401489,8740192.288085938,6912988.849205017,7684503.809921265,7510021.004318237,6535318.999214172,5018713.622879028,7208563.613777161,6264208.322601318,7654063.853927612,5312426.718399048,7939797.028289795,7040553.647705078,7161923.124351501,6689539.345603943,7578591.065582275,7363535.24156189,7455207.949569702,6612992.114341736,8388764.570098877,6809461.640922546,8231630.26550293,7640090.775283813,9124545.245147703,7826967.14352417,9558027.293487549,8765758.971084595,8795321.59602356 +3,American Samoa (U.S.),1339.830078125,1706.2998046875,1269.25,1671.3199462890625,1333.5699462890625,1586.300048828125,1478.83984375,1697.050048828125,506.30999755859375,1680.6199951171875,1371.6099853515625,2104.18994140625,2037.89990234375,1774.679931640625,1682.89013671875,900.8299560546876,1681.2100830078125,1959.7000732421875,1813.5001220703125,2046.5999755859373,1777.6500244140625,1958.989990234375,1547.39990234375,1954.869873046875,1925.6998291015625,1692.9801025390625,1763.739990234375,1598.1700439453125,1570.989990234375,1854.6600341796875,1241.8900146484375,1490.7698974609375,1407.77001953125,1639.010009765625,1258.199951171875,1790.050048828125,1574.0401611328125,1625.89990234375,1207.300048828125,1614.47998046875,1606.010009765625,1557.8900146484375,1148.7899169921875,1659.0001220703125,1559.4600830078125,1661.239990234375,1226.219970703125,1354.39990234375,1732.800048828125,1753.179931640625 +4,Andorra,10147.0,8902.1201171875,8377.659881591797,8687.470123291016,12321.519470214844,9123.820098876951,8346.329986572266,8498.159881591797,9703.869934082031,8628.960144042969,7383.4696044921875,8439.970031738281,9827.389770507812,7694.68994140625,7080.670013427734,7540.579986572266,9241.049926757812,7634.640045166016,7524.669830322266,7952.349792480469,10848.919982910156,8341.210327148438,7254.630187988281,8177.110137939453,10202.319885253906,6768.400146484375,6794.899963378906,5453.210052490234,9933.880126953123,8377.530212402344,7399.580017089844,7839.869934082031,9943.130065917969,4793.270050048828,7674.4000244140625,7692.839904785156,12679.209533691406,8225.079711914062,8045.299865722656,8175.869720458984,10456.72003173828,9428.819793701172,7675.579742431641,6329.320007324219,9999.139770507812,5354.180114746094,5178.380035400391,5987.369995117188,8587.450012207031,6859.290069580078 +5,Angola,1558291.7079925537,2378827.844696045,1618998.7381896973,1884607.876617432,1290379.9469551146,1831047.0436706543,1421818.181274414,1956256.0289611816,1503402.2224464417,1769272.3896484375,1413194.342010498,2105110.3114624023,1610056.1660461426,1675999.8606891632,1404949.6092529297,1845040.1827392576,963443.9905395508,1837822.558400631,1304702.410293579,1713958.270904541,1217534.8905944824,1920656.703735352,930105.4262313844,2125305.7150268555,1436313.557861328,1684190.9183044434,1161186.3024597168,1724137.3330078125,792935.0244598389,1436491.2014770508,1271659.723236084,1329121.6048431396,667771.0376358032,1722978.0867614746,1710332.2431640625,2260452.6434936523,1539311.740234375,2224228.0290527344,1648422.6657714844,2007893.7564697263,1434825.4391784668,2071658.1396484373,1342951.880722046,2398002.9310913086,1621679.4247436523,1973521.2213134768,2164083.849243164,2560639.253173828,1865557.0123291016,2745440.8627319336 +6,Anguilla (U.K.),1268.830013692379,1296.569999217987,1132.290006399155,1072.0999794006348,1002.5900094509124,1375.39000082016,1081.2799960374832,1136.1200029850006,1202.179967045784,1226.220004081726,1179.519991159439,1199.2099846601486,1182.6000212430954,1339.4599832296371,1259.6400310993197,1245.4699811935425,1245.1400160491469,1308.0100178718567,1201.6300010681152,1254.4599643945694,1259.1500234603882,1416.4800317287445,1258.8899651765823,314.5400075912476,639.0299888253212,916.0299829244614,839.8000109195709,935.1900033950806,984.6899992227554,1124.3300156593325,1128.4300144314766,1000.2700061798096,902.11002060771,1008.220013141632,966.2899956703186,1062.689999103546,1100.1899847984314,1250.5299592018127,1114.1099783182144,1060.1500070095062,1165.7700190544128,1198.0399613380432,1080.5099759101868,1047.99999833107,1013.4200063943864,1265.0499572753906,1137.18001806736,1102.5099722146988,1040.6900058984756,1026.3200262784958 +7,Antigua and Barbuda,6548.509942650795,6549.010134220123,5580.809955358505,6204.330029249191,5343.979916989803,6217.10003900528,5656.21987426281,5389.99006831646,5804.070048809052,6144.830297827721,5676.899935364723,6144.800274610519,6293.200035393238,6767.660163521767,5870.199981689453,5930.230029225349,5173.949934095144,6425.599875450134,5728.740018308163,5732.549828469753,5976.099957883358,6099.780012130737,5837.549903571606,5640.4899389743805,5222.040080547333,5611.639985322952,5333.309951782227,5051.32999509573,4965.329926148057,5737.690053701401,4988.810182511807,4856.650043964386,4618.279994506389,5066.089873075485,4717.069999337196,4983.680253982544,4715.490062236786,5334.67988049984,5008.200159907341,5489.289909720421,5432.940013408661,5855.699939012528,5237.799868762493,6119.029830336571,6345.899741232395,7472.249855995178,6560.219969511032,6443.4100024700165,6205.450076878071,6709.690155029297 +8,Arab Republic of Egypt,5120738.834838867,6259612.009765625,5343546.880981445,5765096.49609375,4912528.645385742,5389461.177124023,4676975.268066406,5538155.052734375,4283333.912475586,5309562.314331055,4472440.330444336,5613709.306640625,4197220.204956055,5617731.897216797,4720597.276245117,4971031.787109375,4239658.002075195,4750567.976806641,4563582.635498047,5167790.154052734,4256846.497314453,5081303.035644531,4581396.3486328125,5714722.46875,4156724.0993652334,4927442.9140625,4461436.5126953125,4831613.476074219,4155114.4174804688,4887587.740234375,4464737.705566406,5149910.488525391,3703030.4865722656,5235765.830566406,4653229.59765625,4830614.870117188,4379205.642578125,5721135.350341797,5261192.572265625,5645430.519287109,4561772.056640625,6155755.479492188,4930513.353515625,5092825.380371094,4840064.211181641,6239563.089355469,4896742.841796875,5714594.112792969,5051856.572753906,5796118.4501953125 +9,Argentina,7481053.403772652,10741157.732646346,7738600.846601129,8037625.537355781,7833317.030422509,9815763.747277616,7649959.897700429,8598432.450603843,7776436.613332748,9539457.853874443,8016309.665122032,9122298.297563136,6753638.027243584,10794018.581284525,7386134.777784824,7795095.689478338,8141920.230661511,8182610.508717477,5899498.122089744,7222073.810799301,7855222.428821444,8067908.492792189,6470362.587939382,8035280.441185832,8460114.615718365,8385081.005938888,6770547.287732542,6984806.927388281,6222052.8299001455,8354056.88372308,6528327.684228897,6862084.695374191,5521004.256270707,9534525.908216951,7597379.671227038,7459207.693028331,8743053.285356522,9173793.216764092,7219856.34367615,7738275.156439304,9274261.158781052,11048936.231271029,6717140.990967661,8543892.61728704,10055020.268412111,10266025.875497818,9336266.643999338,9793826.475702403,10153409.82812357,10332793.977306483 +10,Armenia,150156.7091064453,93642.53955078124,88685.85903167725,113736.2900390625,134678.60876464844,87864.80882263184,63125.02012634277,103008.72055053712,99399.79858398438,93276.91166687012,65615.10029602051,114960.08261108398,93599.76904296876,92711.40956115724,49047.589263916016,82377.09957885742,129932.24880981444,74903.86895751953,41178.16024017334,90558.71948242188,156287.2250366211,71581.2004776001,67396.38066864014,108225.4289855957,100717.7381439209,72558.64053344727,65119.59088897705,80695.57806396484,148765.99923706055,78473.52821350098,60593.839096069336,110672.33115386964,107215.53201293944,83619.35868835449,101397.1610107422,104874.31936645508,163738.1695098877,97245.2898864746,116777.24964904784,102753.54922485352,213761.0157470703,118149.97903442384,112919.62982177734,119663.45028686523,163282.94686889648,119247.59057617188,141820.89004516602,158843.5587463379,221239.1591796875,165896.14794921875 +11,Aruba (Neth.),4176.4599609375,4220.75,3867.5,274.41998291015625,4121.0703125,3963.39990234375,3955.469970703125,4173.51025390625,4394.3701171875,3882.39990234375,3778.1201171875,4409.740234375,4142.5302734375,4653.9697265625,4493.0703125,4491.8603515625,4377.1103515625,4548.259765625,4764.0703125,5116.0,5649.26953125,5782.60986328125,6231.580078125,6310.34033203125,6019.2802734375,6061.7001953125,5639.1201171875,6071.41015625,6418.1201171875,6208.6201171875,6476.2802734375,6477.19970703125,7059.83984375,6040.35986328125,7056.919921875,7259.06982421875,6611.3095703125,6586.23974609375,6849.4599609375,6843.5498046875,7648.47998046875,6492.39013671875,6994.76953125,7282.57958984375,6646.8798828125,7153.9599609375,6942.1796875,7126.9501953125,6935.740234375,7626.08984375 +12,Arunachal Pradesh,3781.469905853272,6892.489906311035,2053.6200268268585,6433.459854125977,3260.630111694336,5671.990367889404,3312.3301696777344,7596.849731445312,3161.719982147217,7412.790199279785,4944.800086975098,6529.879943847656,3114.9500732421875,7362.799728393555,5979.459907531738,5594.540069580078,2530.670009613037,4102.829929351807,3284.590000152588,5310.189895629883,3041.0699920654297,4839.630107879639,3934.4800300598154,6204.329856872559,2578.7900791168213,5775.099899291992,3427.2898139953613,5728.079818725586,2622.6099739074707,4561.359893798828,2758.8600997924805,5405.639991760254,1268.9099688529968,6416.459716796875,4967.160078048706,4875.359912872314,3771.650173187256,6408.27954864502,5513.870056152344,6788.390251159668,4748.689895629883,6358.890228271484,4327.519958496094,5695.779876708984,5021.709991455078,7654.380111694336,5756.2499923706055,8572.139907836914,5731.77986907959,6791.680114746094 +13,Ashmore and Cartier Islands (Aus.),3.7099997997283936,2.0199999809265137,0.8600000143051147,1.4500000476837158,0.6600000262260437,1.5099999904632568,0.6199999451637268,1.5899999141693115,0.959999978542328,1.7799999713897705,0.6600000262260437,1.7100000381469729,2.1499998569488525,1.5399999618530271,0.6800000071525574,1.4800000190734863,0.9600000381469728,1.1399999856948853,0.5699999928474426,1.3199998140335083,1.2200000286102295,1.2599999904632568,0.4799999892711639,1.830000042915344,1.4600000381469729,1.6399999856948853,0.75,1.0499999523162842,0.5799999833106995,1.25,0.3400000035762787,1.290000081062317,0.5799999833106995,1.7100000381469729,0.7199999094009399,1.409999966621399,1.5,2.0400002002716064,0.5900000333786011,1.75,1.6200000047683716,1.909999966621399,0.6800000071525574,1.3399999141693115,1.3200000524520874,1.920000076293945,1.170000076293945,2.150000095367432,2.059999942779541,2.1700000762939453 +14,Australia,13047377.247117996,16267147.509288788,9226824.627326012,20644160.920232773,11758688.8870883,13578973.005199432,8888949.315361023,11370928.75603199,9332035.882339,15184058.975374222,6867549.015681744,17626351.90883255,9626103.811253428,14830319.96193409,7152509.704134941,11535929.567874908,7418223.304225922,12005090.988332748,6554567.211194515,9813900.845208168,5866115.726465702,10305471.805335045,6029168.40702033,11968392.12398529,7001586.296494484,13570438.978319168,6266070.70927763,9348054.185462952,5454354.085402966,10201623.484411716,4966002.371230841,8508070.248164177,3259285.5429952145,14337577.750076294,8425646.657002449,10153734.00161457,9329046.944893122,14512278.98851776,8005422.47482872,12426163.103023527,10709009.15378189,15381153.34332466,4883744.894827843,12711937.03418827,10802891.382164955,15464575.987352371,10280695.566536903,22237582.19396782,10747442.75547409,15509906.621711733 +15,Austria,696866.8884277344,566256.7993469238,570561.7972412109,493176.6904296875,702883.7709960938,525367.8114624023,511086.2878112793,490437.0858306885,509650.2800064087,557604.6865234375,471010.6924133301,571896.3909759521,663835.6402587891,570948.0901184082,535223.5754699707,418123.0036849976,756650.2509918213,531000.9996337891,482218.0419616699,521451.7041015625,710208.0885314941,538691.2460632324,530121.5925292969,560437.7376403809,578835.1851043701,592966.7578430176,508758.6803894043,491936.82345581055,694043.6772766113,532959.5531311035,540067.9500732422,522805.7649536133,460906.5989532471,510030.9782714844,593406.668182373,469179.2099609375,876504.3449859619,555062.0691833496,664731.5183410645,499091.7925720215,699358.8985443115,559347.3736877441,654878.7722473145,507802.6676025391,744414.8802185059,534394.1758728027,613147.6292724609,529941.5604553223,799139.2416405678,590233.929763794 +16,Azerbaijan,466424.5754928589,434193.8795433045,469736.3736228943,511902.61780929565,459217.4525146485,427844.0458831787,397613.3295917511,487998.1147136688,381843.1363143921,427574.6157855988,382136.6042194367,473390.8605918884,403467.9195594788,409969.1870326996,363514.2130527496,357182.3999595642,429576.2733230591,360458.7850990296,325973.12061309814,443458.9678688049,426361.3665122986,371516.7562808991,378074.2196121216,470345.8332862854,314170.64698791504,353541.0011463165,357648.8227958679,367071.0831184387,393636.26164245605,352701.605758667,362380.19194602966,503430.9111423493,345740.5220222473,378860.7965488434,442833.8852653504,435547.12360572815,415739.98562431335,407794.7926673889,467916.5228118897,388503.3848400116,497581.14001846313,467820.0799293518,473193.3659610748,461157.86935043335,554675.482498169,463599.3420219421,546987.2744255066,500887.4799537658,690289.2149238586,562841.691329956 +17,Azores Islands (Por.),23562.539554595947,24263.47055053711,21452.72998046875,21950.790000915527,20278.6897354126,19673.629989624023,15505.989604949951,19946.05973815918,21761.760498046875,19099.62040710449,16507.240478515625,22724.400329589844,20342.210121154785,22692.729946136475,18216.62006378174,19503.189975738525,20259.009803771973,19538.64988708496,18072.46992874145,20834.96035003662,18358.460067749023,18209.529808044437,20018.419731140137,20435.609939575195,16346.829944610596,15463.869899749756,18927.110076904297,19264.230041503903,15919.539859771729,18231.59999847412,16899.95962524414,16539.720054626465,13754.219928741457,16534.5394821167,18049.00991821289,16027.009635925291,14080.84977722168,16011.280261993408,17211.140014648438,13976.069854736328,17021.799697875977,15929.160053253174,13953.690292358398,14556.569721221924,16422.010177612305,15232.089710235596,16337.529914855955,15698.999893188477,14934.509956359863,14513.55014038086 +18,Bahrain,154513.9407043457,157403.8913269043,142262.9493713379,168438.75396728516,191251.77536010745,153067.32104492188,145867.95211791992,173346.4774169922,161869.1796875,166166.06756591797,161618.90789794922,168042.52313232422,178200.4063720703,167472.18096923828,164615.47332763672,161526.54107666016,181944.09899902344,183337.94451904297,172232.1024169922,177174.39044189453,173639.04278564453,174507.21612548828,180507.82489013672,184957.4938964844,190798.1473388672,163647.54818725586,176382.29278564453,182647.04614257807,200974.8023681641,190307.6669006348,200565.18927001956,195155.84979248047,229082.3363647461,184850.161315918,208770.39422607425,234563.55798339844,228813.40954589844,216832.15655517575,191653.15948486328,201681.01489257807,213196.73919677731,218986.50970458984,192022.4741821289,211261.57543945312,198187.6019287109,211003.09674072263,200814.76135253903,200572.9028930664,230354.68322753903,212366.078125 +19,Baker Island (U.S.),1.2100000381469729,1.409999966621399,0.949999988079071,1.2899999618530271,0.6299999952316284,1.8000000715255735,0.940000057220459,1.3000000715255735,0.9800000190734864,1.5600000619888306,1.0,1.6099998950958252,0.6200000047683716,1.579999923706055,1.53000009059906,1.2799999713897705,0.7700000405311584,1.630000114440918,0.8200000524520874,1.5399999618530271,0.5899999737739563,1.940000057220459,0.5,1.5800000429153442,0.6600000262260437,2.069999933242798,1.190000057220459,1.2599999904632568,0.0099999997764825,1.5,0.6800000071525574,0.9199999570846558,0.0799999982118606,1.7699999809265137,0.8999999761581421,1.8900001049041748,0.959999978542328,1.4800000190734863,0.64000004529953,1.7999999523162842,0.8399999737739563,1.649999976158142,0.4099999666213989,1.790000081062317,0.9100000262260436,2.480000257492065,0.8600000143051147,2.289999961853028,1.190000057220459,2.370000123977661 +20,Bangladesh,410316.18841552734,495957.2184448242,164471.71867370603,477534.5590209961,331669.3486328125,464875.6953125,163043.71041870117,496232.7630615234,365554.3807678223,509026.4345703125,329590.6608276367,501619.4597167969,412115.8631286621,543230.19140625,411698.9270629883,481143.6765136719,356396.3619995117,422081.3012084961,323577.3766479492,433419.79888916016,417437.2008972168,437246.6965332031,283954.24032592773,535834.8485107422,381319.05044555664,518377.2843017578,303780.1691894531,456012.6285400391,411229.17889404297,457403.5755615234,251613.5804138184,489463.6955566406,315719.8691444397,613151.5303955078,249654.0882263184,457738.5493164063,439943.3660888672,610089.9927978516,428885.0462036133,568041.1687011719,568673.3460693359,620338.0313720703,536422.1678466797,545441.3890991211,572389.0407714844,691527.0786132812,494286.0490722656,672502.0913085938,549614.7476806641,682452.4757080078 +21,Barbados,11581.920166015623,10796.999908447266,9139.59016418457,10524.939987182615,10219.669708251951,10930.720077514648,9395.240219116213,8969.120056152344,9868.440017700195,10131.869689941406,8984.31999206543,9601.720108032228,9585.889938354492,9604.219757080078,9381.88003540039,9671.849960327148,9345.290069580078,10226.630142211914,8565.019882202148,9811.600128173828,9421.809783935549,10512.710083007812,9713.709686279297,10360.399948120115,9009.2300491333,9905.049926757812,8840.61994934082,9523.820037841797,10436.489807128906,11165.300186157228,9552.520111083984,9997.360153198242,9759.93995666504,9524.999755859377,9173.390182495115,9933.949966430664,9294.28010559082,9527.259963989258,8581.130294799805,10009.94012451172,10848.849868774414,10089.669738769531,8885.979873657227,9854.369934082031,9953.309844970703,11449.75993347168,9404.14015197754,10913.639862060549,9697.099853515623,11365.84945678711 +22,Belarus,2103476.0654296875,914693.6082763672,1290138.2854003906,975115.32421875,1730512.3361816406,1157449.9548339844,1974364.3383789065,872475.7150878906,1153382.5897216797,967514.8957519532,1360865.2084960938,1192923.5275878906,1481043.600830078,862489.5031738281,1440190.0300292969,748244.8026123047,1947721.5861816409,928514.8918457032,1591778.09375,891755.8764648438,1228687.8603515625,768667.3853759766,1041262.3037109376,814208.1044921875,1190997.8464355469,912049.2335205078,1751499.800048828,735512.7136230469,1573769.520263672,918823.5863037108,1557274.2456054688,746531.12109375,483382.71197509766,462120.41583251953,1562492.5510253906,912304.271118164,2072349.560546875,603332.3179321289,2159181.0576171875,817602.0207519531,1485196.4111328125,775457.6587524414,1852333.8784179688,989942.5509033204,849920.4483642578,820703.7072753906,1823617.92578125,955601.6733398438,2581344.680419922,899885.4869384766 +23,Belgium,857497.80859375,1142486.71875,1053091.712890625,1084855.87890625,1593404.55859375,1128955.9453125,1184478.18359375,1082876.82421875,986474.955078125,1191721.26171875,1090663.90625,1061202.25390625,1196015.73828125,1249488.953125,936664.427734375,948253.240234375,1107432.1953125,1177455.33984375,1066498.00390625,1052333.0390625,1112095.34375,1197457.39453125,1090993.28515625,969712.298828125,900168.08203125,1151502.625,1090556.7578125,1084686.40625,817835.75,1103974.59375,1127725.89453125,785626.857421875,757943.755859375,1089810.125,1115559.4609375,961576.505859375,922028.130859375,1126207.20703125,1017240.20703125,965133.92578125,873968.37890625,994942.2421875,1116912.7109375,959491.71484375,733751.8671875,837694.2109375,869911.4619140625,840439.4765625,1037866.478515625,821215.236328125 +24,Belize,35787.239990234375,56444.11962890625,39690.88916015625,46398.12060546875,27518.2392578125,55429.21923828125,40159.818115234375,38058.6796875,31237.99951171875,61322.10009765625,39648.610595703125,47694.5712890625,29675.37084960937,62280.46826171875,41155.6015625,51205.390625,26593.74975585937,49597.58984375,36406.6513671875,51943.1708984375,28554.66967773437,47141.849609375,31110.90966796875,53164.31005859375,29201.370361328125,47983.5908203125,33517.1806640625,47587.4599609375,20773.700439453125,47672.79150390625,34805.14013671875,48760.68017578125,15846.4990234375,52750.990234375,40032.71875,46529.009765625,29331.37060546875,51527.66796875,46635.810546875,47925.59033203125,36062.381103515625,56902.509765625,40259.420166015625,53949.4970703125,40035.6904296875,77137.96044921875,47655.16748046875,56282.34912109375,40698.5400390625,67688.01123046875 +25,Benin,172188.77194213867,291106.0256958008,146963.92016601562,160393.19064331055,125897.0181427002,167107.08987426758,133683.3631439209,166460.55865478516,159606.1512145996,178155.93676757812,124011.9698791504,151226.11207580566,159826.51121520996,197253.93437194824,138180.8236694336,167613.45831298828,131296.5418624878,156814.5814819336,129560.39302062988,160072.8125,121065.6789855957,192088.68728637692,100287.70024108888,237168.46063232425,117688.18141937256,158030.1619873047,154634.11013793945,187011.30819702148,64924.8890171051,115785.58150482178,79702.7894897461,150310.7404937744,84650.33895874023,204872.03829956052,134381.84284973145,213993.2565307617,213906.291305542,201995.8794403076,160934.54124450684,212331.25689697263,189335.3146514893,233722.49963378903,117608.16764831544,260734.02374267575,150108.78219604492,262701.1110229492,165900.67254638672,254421.49157714844,183717.3313903809,269964.4135131836 +26,Bermuda (U.K.),2580.760009765625,2752.2998046875,2359.14990234375,2313.219970703125,1643.2000732421875,2210.02978515625,2588.289794921875,2297.60986328125,2161.949951171875,2136.880126953125,2257.27001953125,2003.02001953125,2068.260009765625,1926.22998046875,2110.360107421875,2027.169921875,1937.780029296875,1793.1400146484375,1912.06005859375,1860.5999755859373,1940.5,1857.340087890625,2048.06982421875,1720.080078125,1355.889892578125,1723.159912109375,1879.2900390625,1795.3800048828125,1605.8699951171875,1816.9500732421875,1798.8599853515625,1832.550048828125,1614.1700439453125,1587.119873046875,1704.340087890625,1720.9901123046875,1644.16015625,1443.260009765625,1884.8299560546875,1525.10986328125,1381.1199951171875,1480.2999267578125,1853.0999755859373,1717.4000244140625,1572.9200439453125,1755.130126953125,1754.719970703125,1745.3399658203125,1254.7601318359375,1652.630126953125 +27,Bhutan,53064.15040683746,94541.03000354768,42376.59995883703,95772.2605895996,46753.68035078049,87327.5390367508,47193.1303358078,104374.83913993835,41864.9799489975,96622.6099472046,65769.61989593506,90662.4017868042,47401.0702457428,110597.43985176086,77291.35974884033,74229.45930480957,39630.600083351135,59296.86954402924,36006.37007969618,74786.35948181152,43874.69004058838,65684.01963233948,60332.059284210205,89106.9403629303,35680.80022907257,79057.12021827698,49569.28943347931,77276.55994987488,31653.89009141922,66820.90914535522,45783.19045829773,72587.30924606323,14175.029937267303,89379.81009197235,65468.97006678581,68780.29868221283,47068.140407562256,82393.90069389343,85560.20090198517,90062.48090839386,59731.01886463165,94973.62029457092,64147.139830589294,74176.63893604279,63023.76955795288,99035.02977752686,44187.64008378983,107572.25930786131,73059.26906776428,106952.0194416046 +28,Bolivia,1312270.2623443604,1767983.053894043,1088299.2772216797,1558104.1370239258,1273319.4706420898,1724514.3261108398,938215.7516479492,1357534.408996582,1228647.0716552734,1663780.692779541,911876.7817382812,1838610.84576416,1399512.8141784668,1899388.4927368164,1083711.101989746,1818734.5642089844,1389539.8544921875,1575006.6711120603,965954.835205078,1643189.0362548828,1422072.8876953125,1666059.3495483398,759097.7848205566,1870989.249084473,1435764.1170654297,1923431.381958008,1049597.8653564453,1486321.3245544434,946901.7218017578,1293520.2011108398,750120.9095153809,1216702.0456542969,783459.0372161865,2059361.8743896484,1222339.7972106934,1978744.3901367188,1571696.1651611328,1991784.44732666,1333192.6780395508,1941887.622680664,1616588.9872436523,2277093.296875,1026442.03125,2077236.385925293,1932268.171447754,2149023.047668457,1384036.099243164,2693641.775695801,2221549.1091918945,2367443.1489868164 +29,Bonaire (Neth.),1184.0699462890625,1217.3599853515625,1170.52001953125,200.3700256347656,1054.56005859375,1405.340087890625,1301.27001953125,1240.1500244140625,1166.559814453125,1363.18994140625,1179.7900390625,1479.679931640625,1213.800048828125,1587.18994140625,1485.3699951171875,1433.0899658203125,1202.699951171875,1478.080078125,1409.8699951171875,1349.5400390625,1345.849853515625,1662.14990234375,1466.18994140625,1599.25,1314.35009765625,1779.0999755859375,1517.97998046875,1736.760009765625,1453.360107421875,1477.320068359375,1439.5999755859375,1484.52001953125,1457.030029296875,1634.7698974609375,1664.6201171875,1719.320068359375,1476.8900146484375,1706.8499755859375,1752.429931640625,1882.31005859375,1758.3499755859375,2000.7799072265625,2087.97998046875,1979.830078125,1795.8499755859375,2305.10009765625,2223.97998046875,2381.60986328125,2148.7099609375,2684.16015625 +30,Bosnia and Herzegovina,358965.8844203949,237116.135342598,228384.39546775815,256819.7351360321,234453.4529466629,237731.08597660065,200405.97098970413,239154.4084005356,257062.96757888797,255608.28636932373,182143.95947623253,270006.6087703705,295628.46914863586,254119.60979175568,193304.84713363647,183565.1416053772,394619.42604637146,232726.87350463867,201857.55611038208,248115.01662635803,404464.2009677887,239434.8613119125,217558.38647270203,286105.71099090576,282170.2618312836,243347.5126953125,181142.0137076378,218041.3992614746,352006.8162689209,273102.3346090317,225789.93031024933,257103.18795013428,234595.41065216064,250555.3359594345,258304.18755340576,244270.76355934143,512806.9482002258,281258.79727363586,287258.8880739212,245466.39588737488,328296.68875312805,325064.4578971863,281211.171415329,281669.02716732025,306572.1374311447,314398.80274391174,309539.9172153473,294155.1688899994,510064.1670341492,322350.7639245987 +31,Botswana,563134.4599609375,1100378.6796875,501275.9956054688,1467387.7080078125,807495.32421875,909455.642578125,514403.39453125,1104791.30859375,687346.0107421875,882552.283203125,393946.9130859375,1281646.96875,903985.9892578124,844601.3017578125,377612.0703125,850390.83984375,536130.341796875,738922.2958984375,347042.259765625,863256.30859375,395393.8637695313,754971.6943359375,279609.1171875,1106787.3076171875,545916.1982421875,806446.3232421875,320592.2216796875,712040.1494140625,275038.2119140625,645873.78515625,249766.40478515625,775147.205078125,287314.486328125,800769.16796875,423854.4658203125,917237.0390625,762561.498046875,996596.6572265624,534738.7958984375,968146.3427734376,868910.3720703125,916318.568359375,417614.2119140625,980805.1103515624,817529.8330078125,954518.3359375,754306.056640625,1522415.11328125,966666.556640625,1077270.22265625 +32,Bouvet Island (Nor.),133.489990234375,196.1999969482422,107.24000549316406,107.79000091552734,240.2100067138672,154.30999755859375,86.58000183105469,114.1999969482422,477.4800109863281,160.33999633789062,76.52999877929688,82.69000244140625,130.83999633789062,228.94000244140625,89.41999816894531,79.4800033569336,264.8999938964844,105.8800048828125,81.08999633789062,98.05999755859376,325.6400146484375,105.54000091552734,48.62999725341797,136.27999877929688,375.2799987792969,122.4000015258789,44.80000305175781,81.22999572753906,541.9599609375,114.6199951171875,68.99000549316406,56.790000915527344,95.47000122070312,145.72999572753906,57.040000915527344,50.93999862670898,236.3499755859375,130.77999877929688,72.31999969482422,68.91999816894531,383.0700073242188,192.77999877929688,74.89999389648438,120.22999572753906,652.3299560546875,27.23999786376953,23.14999961853028,48.06999969482422,958.5599975585938,73.94999694824219 +33,Brazil,13040751.165097922,19060923.27159941,15377409.888947666,18670777.062375307,13792442.067046613,19674912.703971624,15314779.060258389,17946506.11924553,16660954.957510471,22134448.426935315,14907751.620919583,21710766.724001408,16784815.937280238,21310351.116236687,16112497.782272575,22678652.69806099,13465499.090064973,21223093.62345624,14309787.093769908,19435024.66577363,14133200.18088305,22002324.855184138,13466709.799290957,21243545.91419601,15043045.395856168,22492051.673782945,16293277.41292268,17414447.04795569,12551882.354076594,16377880.552625775,13187245.51406756,16759842.08235693,11736600.229667842,23004000.057339787,18263977.42299825,20285163.651373625,16431675.76080966,21673081.823764205,17944787.852079034,21592408.70074749,18047996.65453291,22530198.682978988,14001378.45915933,24380592.857925296,18596066.3933661,25007389.060305838,18718353.98407978,23422556.79516888,22224307.00614208,24529476.33380854 +34,British Indian Ocean Territory (U.K.),184.5800018310547,171.70999145507812,179.74000549316406,323.1400146484375,74.54000091552734,234.57000732421875,392.8699645996094,228.5200042724609,166.52999877929688,238.260009765625,204.8099975585937,331.5199890136719,203.6899871826172,332.8699951171875,280.7200012207031,251.8600006103516,159.00999450683594,305.0599975585937,223.40000915527344,209.760009765625,204.34999084472656,284.65997314453125,188.5,252.6400146484375,189.0599975585937,298.3900146484375,190.34999084472656,234.1900177001953,137.8699951171875,217.3299865722656,213.12998962402344,187.29998779296875,155.27999877929688,308.510009765625,143.07000732421875,195.5599975585937,124.87999725341795,209.47999572753903,145.8300018310547,177.9600067138672,143.60000610351562,173.47999572753906,109.58000946044922,190.0599975585937,140.36000061035156,229.87998962402344,211.6999969482422,201.70999145507807,132.08999633789062,206.3500061035156 +35,British Virgin Islands (U.K.),1272.030014038086,1509.9400329589844,1123.65997505188,1460.2499885559082,1230.5299339294434,1339.6099491119385,1039.3599796295166,1118.0899677276611,1128.419973373413,1334.050022125244,1045.8299713134766,1146.2900276184082,1062.0300388336182,1235.8299770355225,1051.4099254608154,1123.9000053405762,1138.3200664520264,1124.2599792480469,1013.0400123596193,1061.790069580078,950.5199966430664,1072.2100563049316,951.3000259399414,379.1099987030029,358.71000194549555,661.9200172424316,574.170015335083,655.8799858093262,598.4800252914429,800.7900476455688,756.3000001907349,771.5000314712524,521.159993648529,898.7800273895264,817.3000030517578,819.7999839782715,833.8600692749023,1008.7399597167968,802.6399555206299,932.4099655151368,924.9200210571288,1001.660036087036,871.6599769592285,949.7200012207032,843.0200023651123,1194.2799530029297,1032.470006942749,1020.8700294494628,821.9099502563477,951.6800212860109 +36,Brunei Darussalam,21734.249794006348,8877.809977293015,10715.299996256828,10507.259984970093,51354.499806404114,16487.469923615456,38863.77039909363,34276.520577430725,59020.44926357269,66817.28026199341,69777.14980220795,67068.70940113068,60589.77908420563,80358.10865497589,80068.97094535828,48099.56094169617,76029.20971488953,69728.64878845215,67228.21974754333,46768.20030975342,66786.84045028687,72874.03019332886,63810.650550842285,61484.899698257446,17652.209622383118,62273.6499042511,46574.35907077789,44289.46972465515,52575.0108203888,65151.49006938934,70344.57145309448,62344.74925327301,53969.379965782166,66039.63097000122,54528.1989774704,56331.15958023071,36596.390199661255,60035.24933624268,60817.420820236206,32762.15013313293,42880.26040649414,58747.900175094604,29491.6298494339,25529.10005950928,43709.07024383545,67154.19018363953,55742.21959877014,59735.98965263367,48770.46093940735,61103.76049804688 +37,Bulgaria,1014761.4755249023,480461.941116333,448081.03395080566,555822.6728210449,647866.355682373,499933.9868927002,403283.3893432617,526434.338104248,554119.7933197021,496810.3876647949,372509.6979064941,527235.3326568604,560940.3337402344,491222.7510986328,361217.9114074707,378999.431640625,621781.7647094727,481223.9371032715,372680.39125442505,524202.0002746582,882457.4300842285,514985.571395874,464733.4280929565,586572.8198242188,628639.2624664307,484778.2397155762,354638.4702911377,468423.9078674317,663277.9049682617,523188.2735900879,441088.2936859131,549575.5895843506,435439.1436920166,518006.5732574463,513420.8107604981,551912.4084472656,685510.1795654297,488467.7377319336,564242.4300537109,486447.2800140381,582850.2721862793,600734.2719116211,526878.2160797119,590152.4092712402,581626.1223449707,563391.0075378418,572897.3766784668,641027.8564147949,821998.0855712891,660238.6488647461 +38,Burkina Faso,384313.0987548828,530068.4301757812,350307.53564453125,383044.0651855469,273143.3192138672,363048.8586425781,325033.880859375,386089.7121582031,302613.64501953125,417122.0910644531,258163.1661376953,393154.8215332031,296666.8387451172,483010.060546875,330433.8959960937,373840.5959472656,264818.4675292969,370309.6997070313,299538.1883544922,372804.6457519531,251680.83068847656,393061.4956054688,242359.23315429688,569479.9985351562,242729.9210205078,376577.513671875,342935.12268066406,382232.5517578125,98441.94059753418,292400.5444335937,152577.8618774414,353952.7331542969,118923.3733215332,502065.259765625,303451.287109375,466392.0202636719,303795.67346191406,504612.0480957031,416549.064453125,472855.5541992188,352986.142578125,484209.18115234375,213564.44036865237,593798.5705566406,322193.0206298828,566974.9995117188,367129.1796875,573887.9692382812,432810.3840332031,583642.50390625 +39,Burundi,20489.920031547543,53725.95051193237,39031.97011089325,34454.03967285156,17312.56000137329,46206.330280184746,29246.350048065186,30378.58032989502,31810.720026016235,57244.240032196045,34422.17030143738,37173.59966373444,33228.509969711304,35198.53999900818,34848.990438461304,56163.46020317078,12852.029923439026,47742.04010772705,26011.99991416931,25378.85978603363,24295.009921073917,65459.69960784912,19908.20993757248,35268.58982419968,26135.490161895752,34417.65983104706,24002.78968429565,31769.1002368927,10362.669944763184,24470.740056991577,17629.179620742798,27096.00986671448,10765.079959750175,45770.09959793091,38153.720275878906,47809.30961608887,28569.340052604675,46478.12997817993,33208.420276641846,42025.95970916748,35780.95970535278,50582.24991416931,25506.350030899048,61972.23998641968,30449.820098876957,68293.11971282959,47007.82950592041,60278.84001159668,32315.730171203613,52210.17002487183 +40,Cambodia,178684.68254375458,185105.36772060397,75907.15065938234,221726.8149530888,184457.2982349396,291689.9457740784,61995.32040943205,207378.69579315183,133939.56061172485,327610.29881095886,279081.6691951752,215559.3351035118,191423.0594844818,424921.7953414917,107822.72118490934,234274.88229751587,102131.70972585678,330961.71514701843,105883.84933048488,180715.2989845276,129475.75050449371,376435.22995758057,117121.70992606878,249563.4801368713,115550.89058494568,371522.7894058228,63929.889655947685,199505.1817302704,109333.36909246445,269606.2996788025,152010.3509646654,213136.32013130188,123681.91949033736,411979.8408241272,217469.7628293037,210431.1994957924,243413.3804531097,436583.74641418457,225058.97949793932,231713.9290342331,240424.67181396484,387296.54651641846,215549.09700840712,247753.49977365136,343405.2006549835,511227.659412384,53413.51979221404,235749.3586537838,291799.3605928421,480316.479385376 +41,Cameroon,692938.1036987305,805336.1314086914,506592.251159668,427129.222114563,325851.8151397705,846223.0258483887,492698.9971923828,538143.8475952148,498326.4400939941,730195.0049438477,408629.9055175781,671489.9057922363,511440.61682128906,662085.3603515625,550436.8974609375,943800.1228637696,377536.053314209,771434.2385864258,469972.62297058105,431929.5941772461,424954.9516906738,775967.2728881836,322175.6501464844,1012386.3759155272,404733.7900695801,581554.8698730469,521775.4644775391,671094.5426025391,206840.96921539307,531329.1705322266,163744.5700378418,512334.8078918457,226794.91584968567,559910.4617004395,497502.4976501465,796812.9891357422,504297.80725097656,717977.4859008789,501503.1799316406,758285.2922363281,552403.6770019531,832785.7801513672,452820.59375,992585.0433349608,511993.3280029297,968441.6533203124,567696.6603393555,814471.4884643555,630589.2094116211,1186255.809326172 +42,Canada,117105150.05297852,90670463.07971191,67193935.85253906,93083733.07873537,78806998.96411133,67124639.33911133,49724700.052734375,62212637.05456543,77333421.89477539,75784455.99829102,45334672.021606445,87274373.02355957,94144766.33105467,102777255.67358398,50941881.96447754,73189037.09216309,92730083.53417967,77810978.94262695,42535519.31335449,77159783.97277832,90127662.11621094,110519227.04077148,42410643.39501953,71940339.38806152,75178536.15966797,96661947.9892578,43000176.622924805,58807148.7298584,73476977.3972168,75912417.88269043,42243575.56439209,73700399.31469727,56230513.025878906,72499930.9564209,47789225.34179688,70851872.0526123,72354926.70800781,74158857.30749512,48935730.0189209,68680300.8770752,86705322.76538086,87915548.91320801,49224292.48461914,93086381.91345216,97617114.54174805,76301472.19165039,50432017.05261231,79415264.18774414,83542428.00865173,85459691.52832031 +43,Cape Verde,8928.179811477661,11807.549931764604,10225.439871549606,11223.009891033173,8476.290121674538,11261.749958276749,9732.3099296093,11005.429798603058,8739.799785852432,12668.44048833847,9699.379921197891,12045.589809894562,8970.579990506172,12776.670471191406,11632.400209665298,10658.099872589111,8703.25005286932,12359.979803204536,10267.089965462685,11582.579896211624,8950.539847761393,12291.46998167038,10332.930443763731,13994.709975481032,9642.030067533256,13057.429805517197,11956.979725122452,12343.190052986143,9283.11020489037,12355.520199537275,9793.51998114586,12213.920216441154,7905.339960923418,14033.730513691902,11176.099942803385,13670.74983239174,9603.39997512102,15070.27976989746,13002.77014517784,13036.19998407364,11188.500338435171,14445.909577965736,10459.359824419022,13720.040201544762,11768.490149974825,15276.71992301941,13766.889751911163,15078.390308856964,11835.669862031937,15418.83989906311 +44,Cayman Islands (U.K.),7007.950042724609,7259.939712524414,6284.349746704102,6195.649768829346,6725.410205841064,7166.900192260742,6562.589832305908,6999.95044708252,6773.579978942871,7139.850357055664,6427.150009155273,7099.239692687988,6610.889743804932,7050.660003662109,6652.090103149414,6659.860244750977,6536.7799072265625,7107.080181121826,6804.529842376709,6607.719390869141,7207.920150756836,7291.119873046875,7196.039901733398,6740.540481567383,4861.079956054688,6520.810577392578,6249.149856567383,6267.310020446777,6140.859661102295,6263.480094909668,5991.730220794678,5494.020133972168,5626.949800491333,5720.999664306641,5137.6699295043945,4865.249526977539,4923.259971618652,6308.210067749023,5585.160339355469,5866.120292663574,6628.849292755127,6253.170303344727,6515.380340576172,6142.980278015137,5949.619934082031,6466.680122375488,5679.209732055664,6639.720306396484,5729.699951171875,5939.820159912109 +45,Central African Republic,1370362.766784668,994541.901550293,598753.2467651367,556205.0281982422,1111600.513671875,995203.112548828,487962.14471435547,637219.607421875,1025211.8911743164,858701.383972168,435989.5068359375,817984.0384292603,1166315.7050170898,833240.7075805664,666386.91015625,847793.7005004883,1210627.259307861,730614.6773071289,684243.1939697266,537340.467590332,1023484.0798339844,952325.9266357422,395141.3942260742,1072668.8334960938,873472.1414794922,685779.0494384766,485037.7420654297,646302.6918334961,702319.4489974976,487943.0700073242,202545.66941452023,687211.0357055664,1063362.3290100098,855723.5219116211,648276.2041015625,928747.8649291992,904562.5233154296,935070.7248535156,518473.4089355469,766303.6527709961,1032535.883544922,775286.5870361328,384354.0954284668,1001887.7656555176,867675.3149414062,1328876.9993896484,623800.2130737305,970420.6652832032,955751.896850586,1322877.587524414 +46,Chad,1717942.6500587463,2404276.345372677,1051991.9573721886,2063112.7899856567,962483.850194931,1921273.3080596924,1202778.028579712,1736966.7430992126,1070818.720497131,2155838.766969681,924675.628067732,2359525.41595459,1246116.5706195831,2304153.0429229736,1380949.1689796448,1803305.3818893435,873328.6103506088,1769027.000907898,1251155.7890472412,1695496.02060318,921317.4046401978,2076192.931152344,877469.0169296265,2368582.303291321,881877.8704814911,1652265.1884288788,1178973.468585968,1374290.1347808838,440280.2554953098,1417362.0272026062,683144.5260825157,1392324.8886032104,374524.8120660782,1998311.7473831177,1438248.0142478943,1812625.4470825195,1074032.3154010773,1922630.4755744932,1465509.6483154297,1805222.6064186096,1356723.9234638214,2144114.036884308,1016250.8265247344,2186628.389770508,1281352.0988407135,2696745.1046447754,1495491.3299446106,2409732.855697632,1455966.0595321655,2516402.0055618286 +47,Chile,1825963.0790405276,2809785.4094848637,1805631.4443359373,1967206.653259277,2067620.8094482424,2553157.7208862305,1877917.5989990237,2142134.5751342773,2253856.217529297,2330870.469543457,1881511.122619629,2141130.002380371,1729436.1164245603,2456714.292663574,1520239.7973937988,1851088.6942138672,2197036.4940185547,2116572.342102051,1254093.154937744,1795400.029296875,2238149.71875,1979376.408630371,1383816.4522705078,1943227.09753418,2378471.016723633,2143371.8639526367,1535636.0683288574,1649012.0931396484,2108183.4871521,1990383.7319335935,1511655.734954834,1547153.6973266602,1430711.864440918,2379101.6630249023,1794927.621887207,1893073.5939941409,2483233.462097168,2423493.0364990234,1818567.807159424,1936770.591369629,2853982.845092773,2771706.062072754,1758687.40524292,2157374.952758789,3144408.9321289062,2590564.840270996,2262893.757995605,2372358.293823242,3293603.340270996,2797587.532775879 +48,China,36811159.90136719,36579511.8359375,31130110.122436523,41066961.80761719,32888592.9921875,35782681.93017578,30561791.166015625,39827348.927734375,33869120.802734375,33521051.515625,28569685.986328125,41581819.08886719,31372703.34277344,37449928.16308594,29829707.03222656,32780839.046875,31520167.206054688,28316071.100097656,27174979.548828125,37203533.46582031,37226568.052734375,33985987.23071289,31152890.08984375,41678844.24511719,31193285.206054688,34327339.65625,31445815.493164062,37728221.61425781,28684954.8359375,33076767.35546875,32169874.88720703,41877372.60644531,32790937.19238281,39044087.34472656,41351046.79296875,42303348.22949219,44178871.0234375,40692595.3125,45905092.37207031,41703544.564453125,46010918.58984375,47238363.755859375,46154579.71191406,45057056.12890625,55719040.29296875,45739274.96875,48728810.609375,54068265.224609375,51188566.41992188,46479377.46582031 +49,Christmas Island (Aus.),82.11000061035156,519.2699584960938,436.4499816894531,503.0699462890625,409.02001953125,381.7799987792969,362.8800048828125,421.760009765625,473.0499877929688,509.1700134277344,334.3900146484375,489.80999755859375,392.1299743652344,421.72998046875,428.3699951171875,429.4400024414063,305.3499755859375,293.1399841308594,327.79998779296875,371.1600341796875,296.8499755859375,438.1400146484375,272.1600036621094,411.9100341796875,408.3100280761719,384.6499938964844,338.8799743652344,383.46002197265625,263.5299987792969,427.66998291015625,304.0800170898437,411.52001953125,303.42999267578125,434.4000244140625,352.2099914550781,404.6999816894531,68.98999786376953,398.5499877929688,257.5400085449219,341.9800109863281,394.1900024414063,364.66998291015625,227.44000244140625,351.4200134277344,351.25,419.239990234375,388.52001953125,412.1899719238281,441.6499938964844,463.0 +50,Clipperton Island (Fr.),7.289999961853027,14.859999656677246,12.440000534057615,8.040000915527344,4.839999675750732,12.549999237060549,4.839999675750732,9.520000457763672,6.619999885559082,12.15999984741211,5.28000020980835,10.289999961853027,5.279999732971191,11.830000877380373,9.969999313354492,8.829999923706055,3.0899999141693115,10.09000015258789,2.25,10.079999923706056,1.9799998998641968,12.350000381469728,6.050000190734863,12.639999389648438,3.7300000190734863,10.119999885559082,7.25,8.800000190734863,1.059999942779541,7.409999847412109,5.2900004386901855,8.949999809265137,0.0599999986588954,10.949999809265137,11.389999389648438,8.069999694824219,6.819999694824219,12.110000610351562,9.980000495910645,12.920000076293944,7.199999809265137,11.369999885559082,5.190000057220459,10.440000534057615,6.019999504089356,14.899999618530272,9.399999618530272,11.429999351501465,5.760000228881836,16.040000915527344 +51,Cocos (Keeling) Islands (Aus.),18.420000076293945,26.89999961853028,14.64000129699707,19.95000267028809,19.09000015258789,25.82999992370605,13.56999969482422,19.61000061035156,21.89999961853028,20.190000534057617,9.050000190734863,24.80000114440918,18.39000129699707,18.529998779296875,14.570000648498535,21.020002365112305,9.190000534057615,18.8700008392334,11.489999771118164,17.760000228881836,10.829999923706056,21.059999465942383,6.490000247955322,21.340002059936523,24.940000534057617,18.46999931335449,15.999999046325684,15.350001335144045,6.489999771118164,17.55000114440918,8.629999160766602,16.309999465942383,4.960000038146973,26.19999885559082,14.109999656677246,29.69000244140625,21.65999984741211,27.280000686645508,16.75,24.170000076293945,21.51000022888184,22.270000457763672,8.110000610351562,22.100000381469727,21.71999740600586,30.46000099182129,24.989999771118164,30.310001373291016,23.959999084472656,30.560001373291016 +52,Colombia,1994187.0264583824,1631486.0927141905,1548933.3849994838,1701787.080849588,1729761.4396460354,2103351.1281612515,2158673.232907057,2360492.889934182,2034073.8016017375,2620197.547446072,1907567.5984675884,2388841.687858343,1890381.1299622504,2387533.3889303803,2290906.240740776,2588341.3284784555,1695197.1799291968,2518848.4478856325,1971036.789514482,2182510.1989035606,1647004.4770755768,2928682.98470974,1609415.8765680045,2027209.6958539488,1648654.743097186,2951474.2330500484,2114516.480200194,2092557.2690119743,1280696.9844166972,1923055.5651854875,1668164.7112463564,1911163.0256127417,1234742.754310742,2677504.2674247622,1880011.6665742693,2549019.549175024,1670384.3177388608,2923445.328603238,2373565.7347081453,2854450.690464914,2033626.1490891576,2430673.847816944,1621421.693635702,3168573.7846727967,2131259.650547028,2964704.4839105606,2158709.395182103,2688588.1061727405,2254331.9709819555,3355693.130150676 +53,Comoros,1731.0700378417969,2353.0699462890625,2014.850067138672,2636.1300659179688,1740.000030517578,2666.3800659179688,1562.709976196289,2671.3299865722656,2495.0599060058594,2481.0399475097656,1279.9800567626953,2783.10009765625,2141.7400512695312,2085.830078125,1482.669906616211,2222.289978027344,1572.540023803711,2323.039978027344,1053.3600387573242,2207.8399658203125,1436.9700012207031,2103.600067138672,1763.2998809814453,2862.749969482422,1681.1500549316406,2951.970031738281,1595.6299896240234,2249.3099975585938,782.4499893188477,2342.989959716797,1125.3000030517578,2138.139923095703,1531.740005493164,3098.159912109375,1717.6799926757812,2510.370178222656,2428.8798828125,3509.9799194335938,1844.1600036621091,2663.9200439453125,2356.9501037597656,2757.6098022460938,1432.9299697875977,3422.219940185547,2357.409957885742,3460.349975585937,2564.649932861328,3430.7999877929688,2024.630126953125,3038.199951171875 +54,Congo,438178.654296875,613166.3594970703,686371.1885070801,382059.9655151367,217210.5893249512,636357.1766357422,543847.819152832,523311.7213745117,422390.3439941406,623333.5772705078,443771.5411376953,542212.5191040039,330636.84478759766,344153.4208049774,538494.9681396484,656907.701171875,194158.3577575684,869479.1588134766,405166.9752960205,386958.90045166016,321320.9436035156,841534.7985839844,431941.571105957,685576.1683349609,343711.8361816406,671370.5994873047,418808.9600830078,547857.3826293945,134906.05813598633,423664.5495605469,263817.9699249268,406748.010131836,299035.4399108887,564545.3561401367,550264.380859375,456840.16192626953,385891.9587402344,628670.9398193359,465966.0430908203,709460.6628417969,490556.6350708008,705998.8082885742,416268.8927001953,799477.0111083984,404580.7518920898,704117.0598144531,648138.6774291992,850865.6032104492,573045.7956542969,1003659.0108947754 +55,Cook Islands (N.Z.),506.4100036621094,622.9999389648438,375.3399963378906,460.50006103515625,425.4599304199219,408.5899963378906,314.95001220703125,453.6899719238281,461.5,469.1300048828125,238.20999145507807,420.05999755859375,456.7500305175781,447.780029296875,268.4599914550781,387.510009765625,418.1400146484375,338.6000061035156,183.3299865722656,376.7000122070313,331.6600036621094,406.1199951171875,221.84999084472656,510.6300048828125,368.9100341796875,348.4399719238281,204.8199920654297,420.1800231933594,322.6200256347656,328.5800170898437,246.34999084472656,376.6900329589844,219.62001037597656,555.530029296875,294.8800354003906,406.0900268554688,479.719970703125,481.4900207519531,307.29998779296875,516.5900268554688,495.4700317382813,491.800048828125,155.09999084472656,451.1899719238281,505.1700439453125,563.7399291992188,348.3799743652344,578.820068359375,613.9199829101562,532.1499633789062 +56,Costa Rica,220161.56884765625,250126.12884521484,196584.17120361328,179408.88803100586,210708.0081787109,250127.2716064453,195429.8717041016,177648.56903076172,214299.99978637692,253094.25018310547,202367.32989501956,218948.2015991211,191796.87966918945,268838.94873046875,195610.5791015625,212644.25064086917,189377.0984802246,252680.68704223636,172485.2696838379,206544.11004638672,200167.8313903809,243007.5512084961,194754.2879638672,233268.2395324707,180794.90029907227,245201.5396728516,195740.6393432617,158306.0691986084,182961.86097717285,228263.5876464844,193877.82775878903,206155.02096557617,146831.8687286377,242533.820892334,198418.96002197263,202180.56076049805,184164.41708374023,213034.54934692383,191606.33670043945,213000.24032592773,204472.54122924805,217109.02142333984,173798.7283935547,241880.62127685547,208758.7298278809,285853.1930847168,225133.26724243164,195488.99131774905,203534.17013549805,288313.16986083984 +57,Croatia,543028.8125,502963.953125,492710.1137695313,507042.775390625,459408.4252929688,494476.55078125,474378.6840820313,470384.6411132813,542045.1967773438,505875.7651367188,433402.810546875,527127.8720703125,480390.7680664063,525729.3515625,448457.306640625,408077.5122070313,666489.13671875,500750.6137695313,439038.29296875,482705.6015625,696665.3828125,498396.59375,466152.5004882813,546191.580078125,457104.86083984375,506272.4790039063,436313.9873046875,460344.5590820313,507809.982421875,513680.5737304688,469536.1645507813,494447.2075195313,407789.7099609375,474277.2836914063,487491.2543945313,441530.3994140625,645604.576171875,489345.3681640625,521216.7275390625,442670.1953125,538820.8588867188,505549.9462890625,509798.9184570313,429883.7978515625,465486.6005859375,493965.5986328125,507095.5322265625,453562.705078125,634174.4311523438,489007.45703125 +58,Cuba,313904.7223080844,470221.5380181372,299665.17085681856,309198.2759759724,271139.3802324757,387941.8700328469,315472.8411156684,308815.9186988622,276976.72259287536,427634.139867574,303580.4298040718,399129.21011576056,298133.93129621446,454750.360463351,334202.77085340023,381225.1277129352,297894.08082328737,375966.9966816902,307191.11955780536,355296.3608599305,268427.93990878016,406843.2776635289,307285.64800623804,378944.78085818887,242410.2498404011,368342.21520760655,308287.2290093303,326115.97681199014,246588.21859787777,347226.8697436154,295822.4233575687,372460.66667222977,197094.66893049143,405187.4183695316,314765.3791764528,321201.7055171728,257784.12118342143,372650.0505239815,302604.77729323506,326016.6775613427,302910.6801060587,411095.321525842,256052.39975459877,336281.3864713013,327122.34803824127,443240.4568040371,317817.31787133217,353176.93191868067,290423.87073752284,400394.3607945144 +59,Curaçao (Neth.),15508.630859375,7858.02001953125,15177.6298828125,3005.10986328125,11587.19921875,12638.5791015625,14414.599609375,14638.0400390625,13763.359375,12160.3203125,12140.689453125,12250.650390625,15550.6796875,13326.3701171875,16798.728515625,13289.650390625,14686.970703125,15470.439453125,13319.2099609375,12159.630859375,14018.7392578125,14051.380859375,22565.330078125,17105.62109375,14401.4404296875,11547.75,12140.900390625,13220.5,13555.279296875,14132.3203125,12946.611328125,13071.7197265625,14774.3701171875,12557.509765625,14428.240234375,13574.279296875,14623.390625,12801.01953125,13767.0703125,13917.849609375,13496.380859375,11580.4609375,13424.359375,13171.419921875,12903.08984375,14411.669921875,13937.669921875,14534.619140625,13486.9892578125,13937.7099609375 +60,Cyprus,97944.3798828125,118279.31884765624,113107.25,121738.49658203124,104482.30029296876,103985.9892578125,113251.31982421876,121983.953125,104435.166015625,114009.72265625,110751.61279296876,115967.26806640624,103616.31005859376,115000.4912109375,114392.1787109375,109959.16162109376,96292.19091796876,114516.75244140624,112768.06591796876,119930.92919921876,108215.9306640625,116398.068359375,119458.69921875,123837.9697265625,99264.17822265624,119779.40234375,123577.37744140624,120224.24951171876,95026.5419921875,112193.71728515624,115920.9091796875,116684.3505859375,92481.17822265624,105824.67041015624,114805.2177734375,109994.0908203125,98745.580078125,102822.421875,117117.62451171876,116993.3994140625,95247.08984375,115308.28857421876,115188.28759765624,109162.9794921875,104588.68798828124,119244.67138671876,121784.9033203125,117184.138671875,114557.57177734376,120745.806640625 +61,Czech Republic,1242128.2294921875,917368.134765625,917290.8759765624,797527.9340820312,1236780.3203125,819469.6279296875,870707.396484375,817170.5185546875,779596.896484375,887778.6665039062,829495.6484375,838582.9223632812,1007833.193359375,900754.2158203124,888337.1557617188,668096.0100097656,1361830.8891601562,869179.5249023438,787697.7436523438,777473.9313964844,1691114.3388671875,860832.9970703125,807749.3649902344,810310.54296875,891496.7954101562,881378.3227539062,856337.7885742188,788218.4841308594,1227652.6440429688,869665.7446289062,884695.1069335938,786859.2275390625,697867.1059570312,822987.4155273438,907954.1733398438,647319.8232421875,1821336.5283203125,867051.9848632812,955289.033203125,736481.3234863281,958847.3974609376,810604.5891113281,941447.9399414062,742904.4228515625,908830.9724121094,787248.2937011719,914399.9243164062,751545.4760742188,1363815.9423828125,811114.1232910156 +62,Côte d'Ivoire,598524.1547851562,601980.0615234375,505836.7856445313,595146.982421875,483006.96630859375,517757.7143554688,481018.6059570313,575260.150390625,446814.7421875,588036.0068359375,481151.1025390625,560091.8671875,504024.5739746094,624833.6958007812,545490.0258789062,706601.0927734375,444799.62890625,673002.1010742188,493433.01318359375,553903.537109375,466354.3166503906,697357.7827148438,435896.7885742188,820853.0551757812,464901.7150878906,616101.5551757812,544319.50390625,691954.4052734375,276520.87109375,502519.7612304688,391577.3649902344,671815.2666015625,368942.5318603516,822044.7905273438,548424.8525390625,877982.9360351562,628944.81640625,753036.3081054688,728469.6962890625,856559.7192382812,700774.2529296875,843468.7661132812,645027.248046875,1049364.873046875,693059.0708007812,979532.8759765624,739636.4038085938,949359.1689453124,758852.9995117188,1107936.2568359375 +63,D.P.R. of Korea,294135.6807308197,248826.51466465,227898.5082769394,321745.64301872253,296698.3090515137,229447.503572464,156938.8000640869,284695.0252799988,261085.1330718994,203950.79332637787,116649.68991398811,286968.3284320832,200153.01919174197,233351.7259159088,121188.0705690384,189839.0717754364,262707.764793396,130235.57934188844,90443.56010627748,267923.33341884613,247446.9834461212,152186.02121162415,181643.8496685028,289026.1680240631,193410.5214557648,111150.6505675316,142823.0201368332,270924.1939792633,173956.18309688568,131138.80901241302,135056.54990196228,263160.2729768753,115941.28112125395,176455.3717393875,308015.9379520416,250349.11478042605,245511.57541561127,207572.1498765945,298609.068819046,272923.58664512634,286373.53637981415,248288.40506267548,303957.1985282898,285754.2362422943,432953.9166564941,205350.88187599185,357097.07044410706,356632.17206192017,316254.46928977966,301369.9178314209 +64,Democratic Republic of Congo,2164779.0717098718,3967601.593139648,3058805.9904556274,2047669.418634653,1439257.9354772568,3893555.833864212,2767620.3150177,2369762.5179367065,1881276.383966446,3290015.027107239,2617423.259689331,3147539.6305770874,2234567.81152153,2666798.660005569,3302745.941932678,3932028.113647461,1270289.7436523438,3929729.365280152,2659296.4650001526,2381001.3475112915,2068468.7601981163,4589561.884887695,1923742.8948516848,3145454.68850708,2078028.8294677732,3712303.2929763794,2527237.175567627,2557734.171913147,663027.2582473755,2054682.8033599851,1775832.3992156982,2359661.7602157597,949623.92637825,3277049.639266968,3154215.4851150517,3496710.9979248047,1919351.3915519717,3040895.7345733643,2894107.7011413574,3685578.9339294434,2387407.572341919,3358229.5947418213,2301563.0216445923,4426551.619094849,1951659.3057861328,4453057.679741859,3715641.97732544,3734396.71395874,2599006.5297088623,4512944.007751465 +65,Denmark,602238.2021636963,450765.7097854614,720682.4488525391,408187.9530258179,686643.0825500488,430480.5781402588,552219.9878168106,369881.3704147339,411070.7180862427,465918.60858154297,671437.1407775879,424646.9283218384,696001.8618011475,420449.9855194092,746863.3222351074,323387.21895599365,622632.3605194092,445929.3702316284,655914.2320137024,411165.49197387695,401223.23558044434,429899.8377609253,626730.8385009766,354129.98948669434,351917.32762908936,447167.9063110352,852134.7683258057,393506.6694717407,416438.4064636231,477223.0715942383,643390.7495718002,413905.8604431152,294227.62076187134,388046.9993057251,827762.2660369873,392676.8081512451,517944.7015304565,432093.1880264282,982028.9224243164,444297.4951095581,454628.6815414429,467115.1689605713,688622.6785793304,405266.1759796143,435444.639289856,453893.60774993896,724207.6089172363,463522.8927078247,854259.8507766724,436948.2811431885 +66,Djibouti,23540.320251464844,44065.309814453125,24628.389892578125,33847.19970703125,13676.980102539062,33986.38952636719,22830.98937988281,27937.580200195312,17033.69952392578,38956.11865234375,25925.06030273437,34564.959716796875,22623.26953125,37941.188720703125,25362.010498046875,37127.788330078125,10515.370483398438,26675.89013671875,25124.97045898437,31050.431884765625,18456.979431152344,37473.0986328125,25326.66021728516,36429.099853515625,19130.52947998047,38375.79016113281,32957.01916503906,39821.89916992188,13313.609603881836,29100.26123046875,25253.239685058597,27232.608642578125,11492.959823608398,40588.159912109375,33479.92028808594,40867.658203125,21105.420043945312,46408.608642578125,38131.9599609375,38988.300048828125,27753.690673828125,41713.83862304688,33625.16955566406,43409.439208984375,26426.830444335938,58708.980224609375,55101.53955078125,46624.08862304688,28130.13037109375,51869.67065429688 +67,Dominica,2205.0500049591064,2932.810085296631,1952.079965591431,2268.04008769989,1572.0499629974363,2277.729959487915,1855.0499820709229,1916.5399951934812,1609.5899829864502,2588.5600299835205,2097.280013084412,2228.270025253296,1664.409938812256,2529.999998092652,2394.7099800109863,2175.389944076538,1558.479974746704,2181.7099628448486,1850.239953994751,1969.7200155258176,1578.5000019073486,2219.320020675659,1839.7100620269773,1081.8199906349182,741.8599762916565,1460.010006904602,1463.1199741363523,1490.6200332641602,921.5899982452391,1792.9599647521973,1515.6100158691406,1696.110032081604,1283.270001411438,2478.8400497436523,1916.389974594116,2137.099988937378,1382.139965057373,2413.010036468506,1906.1499938964844,2126.189958572388,1658.4000301361084,2435.0400104522705,1950.3100118637085,2297.289959907532,1918.7299995422363,2841.639949798584,2380.4299716949463,2465.4099464416504,1904.389949798584,2734.599983215332 +68,Dominican Republic,209339.52002716064,255219.81029510495,209237.07875061035,191492.1981010437,194005.78107452395,246845.78802490237,201904.53118896484,231498.91006469727,204322.93857192996,269442.45235443115,221183.3430519104,232266.08084869385,220506.66206359863,280140.1811065674,251333.52227020264,244623.7012252808,224337.72218322757,259403.56686401367,230050.89015960693,241382.1108856201,230332.8480758667,258538.21769714355,236558.40921020508,267938.3428115845,223081.01880645752,293057.9549484253,265698.6588287353,252116.351436615,251672.50603866577,291025.66815185547,273187.1052055359,290845.49237060547,231772.69130134585,338217.07623291016,302843.4708709717,293932.00161743164,316060.6205291748,339499.2303314209,319121.1172561645,347253.0614318848,363657.1424560547,402999.7359161377,360365.9888916016,368429.4708404541,399505.11011505127,443677.83126831055,395270.72453308105,413487.915435791,404275.90270996094,437565.9358062744 +69,Ecuador,538037.0332311392,694220.6208261847,782807.5178630948,810454.0110864639,594010.1841806695,691700.1508308649,705670.3814623952,934277.3617924452,642326.8412939906,1127821.277837932,860709.7146425247,907333.9119642972,834888.4389533103,968229.9614309669,855991.2696546614,988428.0630358458,739499.2732787579,1004293.9604057074,881728.1442776918,1024947.8443682194,785203.0752193928,984082.5261112452,922858.2256369888,1080487.649555266,674054.5101449788,1295087.397230506,1016185.0350538194,973782.6356856228,673942.9562665671,908853.6154930592,942308.063973844,871797.9541571736,696566.0141403377,1086566.7083018422,921487.017733276,1043487.7551208736,738959.2943815589,1145622.343486667,1078289.4139000175,1171415.6378051045,1060380.05752182,1104369.3622457385,744291.6718416587,1269735.5711491108,987402.1914652586,676201.8441488743,1162533.697320938,1225505.2851479051,854813.0816825628,1335176.3763948083 +70,El Salvador,73278.889275074,86400.74076080322,55522.469960689545,66690.809217453,66943.2696480751,95940.39988708496,81028.46011638641,54699.10035419464,77547.62106990814,91582.12996673584,88205.87920761108,86969.22044277191,79356.44022893906,105626.17913532256,97260.34945774078,66364.05992174149,69883.98012924194,93449.12998867036,76147.4099111557,80089.2384853363,76850.37084531784,94862.4003314972,72746.5589056015,81136.49956703186,83474.1298084259,92379.91994476318,76647.30995750427,60244.50984334946,70262.13035917282,83784.29942035675,70028.4000544548,62808.66973733902,66821.63031387329,85872.0201663971,72465.15972137451,80230.73951339722,76344.25063562393,99243.22936630248,85851.5193119049,80614.36963272095,88246.13052654266,94218.7000951767,76774.42036008835,98121.20931339264,95666.10052013396,108067.43024730682,87159.7202835083,86570.28996515274,90963.46904802322,121891.12166023254 +71,Equatorial Guinea,47715.39935588837,41999.71913146973,47382.6584854126,27479.64974975586,32001.20861339569,54293.2897644043,42324.82999038696,63927.02659034729,45252.269386291504,60513.1495513916,42180.8691482544,63414.81915283203,49895.888858795166,72014.20813560486,52782.40053367615,78213.48768615723,32841.21997451782,80262.77137565613,44394.79072952271,47856.080936431885,48602.559745788574,81114.05065917969,35512.4698638916,86972.20043182373,37722.23042964935,63048.8099899292,47077.84885787964,61158.13828086853,25692.74841070175,59919.64037132263,28416.66007709503,53057.93273925781,22729.93925523758,60597.41068267822,48417.67053222656,67460.43920135498,39113.36183166504,44396.288677215576,47108.74280738831,69516.7186717987,45178.01990699768,61333.70712852478,42166.09851646423,74603.09920120239,40697.45831680298,69375.72134780884,53411.2901802063,63112.40867233277,46137.68095779419,88832.22972869873 +72,Eritrea,103368.4817199707,218712.19998168945,110570.01162719728,172270.93295288086,58835.09053039551,158630.21574401855,109905.45233917236,145395.02108764648,63305.62071228027,231651.70356750488,95395.18042755128,164856.18353271484,89844.80014801025,202432.06777954104,135398.54261779785,153679.54020690918,32497.03977203369,120292.12434387208,88727.40907287598,138962.0726928711,51215.8507232666,163454.63729858398,99764.16091156006,171321.48498535156,44364.829277038574,155797.23908996582,117296.77467346191,148967.6823425293,26884.439666748047,106790.27166748048,73073.19074249268,97869.1707611084,13730.72981452942,194999.18334960935,115823.74086761476,172444.19789123535,68406.49055480957,195525.71745300293,152374.51937103271,165486.21334838867,106456.28286743164,185899.18515014648,96978.26860046388,173170.82698059082,96720.81134033205,254871.284614563,168870.90799713135,207898.5750656128,100002.37044525146,224535.01122283936 +73,Estonia,805504.3552207947,327079.0417480469,595685.0425662994,331533.2494106293,695001.3763637543,467143.5194911957,0.0,284393.6488323212,452212.6401133537,365000.50228500366,806308.6776618958,345116.4371128082,664687.7313346863,307209.88316345215,161923.97981739044,299720.7161655426,816065.2973003387,319102.51157569885,504741.2881770134,279026.6589384079,386938.5497508049,340807.89410972595,704655.2626810074,311824.0896911621,514463.2245092392,329286.48400878906,5166.409912109375,285405.44632816315,722285.5487861633,353606.0840086937,594389.8384933472,301746.34939956665,249484.5682630539,285662.3731470108,884363.0137290955,306224.5912475586,825504.9774188995,305101.1493291855,7116.179748535156,341486.78090286255,790219.5659828186,390620.3956956864,67810.11071395874,319952.3007736206,473085.3008408546,323614.49076652527,293998.94287872314,329146.3863353729,809190.2981872559,299676.7175664902 +74,Ethiopia,1376534.5957946775,1880896.18347168,1255844.789215088,1544459.6602783203,745337.6992797852,1653513.6684570312,951090.984527588,1267774.895263672,1032507.1099243164,1958857.6868591309,1048849.6638793943,1577995.6146850586,1283807.5370483398,1600710.0881652832,1247005.4629211426,1922230.2809143064,607499.058807373,1374050.6461486816,915495.8556518556,1207261.410888672,1095747.2428894043,1824386.3489685056,806650.8509521484,1698825.0572509766,949496.7763061523,1490138.0783843994,1451022.9279909134,1617948.8261108398,440224.6266174317,1087969.6336975098,716132.8226318359,1162273.2982788086,402151.7436218262,1695126.1813659668,1334145.636566162,1809848.680297852,880127.1569213867,1999306.155303955,1357102.097229004,1706778.655822754,1273691.228057861,1719914.842224121,1044489.1058807372,1949509.2282562256,1188192.0660095215,2441012.15045166,2064347.406997681,1940882.93359375,1069543.3096923828,2359499.914215088 +75,FYR Macedonia,203962.29829406735,139756.52068328857,127026.09015655518,148295.64989471436,128947.94869995116,143915.01890563965,106999.51040649414,148084.30069732666,112306.33850860596,130815.98012542725,112352.07038497923,146617.91065979004,166046.36056518555,142263.37869262695,105646.26942825316,103516.74987792967,146525.9599456787,127209.26976013184,95826.54912376404,133360.72827911377,174803.69905853271,127665.24962615968,117735.970161438,158928.71115112305,128417.60047912598,127068.04037857056,94912.21048355104,119735.1607055664,189814.79006958008,131290.45833587646,112226.50897979736,138227.95072937012,112164.71094894408,134519.12058258057,148701.0197906494,146917.38897705078,171159.63135528564,133731.78888702393,140190.96898651123,137922.44046783447,146160.94079589844,150449.5389404297,119980.21933746338,120965.34925079346,130616.52992248537,127176.6505355835,131945.51051330566,141305.46040344238,161642.27990722656,148579.37997436523 +76,Faroe Islands (Den.),19845.177734375,19115.9921875,0.0,12861.951171875,11881.9794921875,10887.919921875,0.0,9147.150390625,11387.8193359375,11379.75,0.0,10584.8291015625,24168.37109375,11536.4501953125,0.0,7490.58984375,23232.080078125,14315.6884765625,0.0,9164.189453125,8223.669921875,9195.419921875,0.0,9303.96875,19382.369140625,10033.73046875,0.0,8468.51953125,14304.748046875,10777.4501953125,0.0,8153.0595703125,8586.3896484375,10670.12890625,0.0,9025.259765625,17032.439453125,19731.927734375,0.0,10972.58984375,15469.638671875,14827.2099609375,0.0,12196.958984375,19333.6015625,13065.4892578125,0.0,10039.9013671875,4634.1201171875,8634.19921875 +77,Federated States of Micronesia,1049.849853515625,778.430419921875,340.4000244140625,938.8297729492188,583.1998291015625,1500.2698974609375,1213.8399658203125,1050.090087890625,752.0501708984375,1466.989501953125,957.1597290039062,1289.22998046875,790.380126953125,1458.0303955078125,1431.060302734375,1579.4805908203125,645.0798950195312,1696.9207763671875,1182.2799072265625,1241.7196044921875,655.9901123046875,1604.3001708984375,998.1199340820312,1316.7098388671875,642.8096923828125,1376.1500244140625,1562.2099609375,1211.289794921875,514.9398193359375,1287.579345703125,1112.4898681640625,1123.7197265625,506.01995849609375,1517.8795166015625,1281.280029296875,1407.339599609375,859.5798950195312,1547.1900634765625,1430.7701416015625,1449.3499755859375,997.8599853515624,1376.719970703125,1602.9400634765625,1367.97998046875,993.5,1845.5198974609373,1445.6497802734375,1530.7205810546875,1041.540283203125,1968.0595703125 +78,Fiji,8760.6101603508,30700.20022964477,21116.250843048096,31021.459880828857,26481.80989074707,27623.81876373291,17829.49064064026,33726.10000991821,21692.000421524048,27394.29842567444,17451.560264587402,33302.869441986084,25381.41106033325,31744.25877380371,16218.38927078247,33246.22984313965,20511.499347686768,26565.74922561645,14772.409967422484,22649.959491729736,19243.37038421631,25283.48086547852,13669.469551086426,34963.65935897827,21801.12986946106,26546.57981491089,14871.41046524048,25255.329162597656,13114.099609375,20745.00946426392,13023.51968383789,25854.89976501465,12655.689929962158,34970.09214782715,21080.061653137207,34389.980308532715,27322.671813964844,38520.23908996582,22132.93985748291,37466.22030639648,24235.22006034851,30542.732231140137,12040.290105819702,35335.24983596802,32538.77982711792,37100.49017333984,27850.46005630493,40065.31887054443,24119.31190109253,37599.06015014648 +79,Finland,8286075.95703125,5948002.8720703125,0.0,3583916.5283203125,6747826.276367188,4232338.0849609375,0.0,3515397.5419921875,4273814.27734375,3926281.220703125,5765.740112304688,4194706.6708984375,8170041.4599609375,4666565.4375,0.0,3718346.6918945312,7208675.71484375,5199546.798339844,126506.673828125,3862584.1318359375,6356301.546875,3934508.916015625,0.0,3889210.7265625,5796686.8408203125,4891846.945800781,0.0,2913053.44921875,7368327.2724609375,4049685.0991210938,0.0,3648296.395507813,4272261.634277344,4104938.751464844,118545.37930297852,4125587.021484375,7671847.958007812,4114453.4775390634,0.0,4060305.004882813,8828393.282226562,5574477.893554688,0.0,4456627.924316406,6110255.667480469,4508307.874511719,0.0,5188938.587402344,8330783.2099609375,4956621.256347656 +80,France,5586554.790283203,6604305.797668457,6694737.07434082,6582877.826782227,7236042.8416137695,6701524.543884277,6611667.565063477,6275213.092895508,5835628.775299072,6902060.7802734375,6180708.817199707,6970580.275024414,6874563.118225098,6947541.411499023,5798513.289489746,5956229.462158203,6450875.786499023,6270819.103515625,5955807.373291016,6399112.3037109375,6050293.265563965,6766126.282348633,5545464.921936035,6201734.015380859,4888935.477661133,6404220.901245117,5664819.392883301,5614020.520568848,4511553.896530151,5965660.713439941,5797006.159667969,4663933.931030273,4439210.4845581055,5357918.616821289,5975258.474365234,4946954.090454102,5477058.937072754,5887404.715209961,5881814.7421875,5349147.808837891,4826216.680114746,5538587.311035156,6088675.123413086,4968498.745727539,4692460.270385742,4433794.462768555,4858149.918640137,4546932.368408203,4964146.401123047,4499727.978759766 +81,French Guiana,4444.409931600094,2777.0700513124466,5622.7402258217335,6092.980140388012,4684.210106179118,5174.99980956316,5135.410075694323,5951.819885253906,4117.250067144632,4917.789965867996,5579.799921810627,7015.190038442612,4479.5099304020405,5044.950056135654,5947.280045151711,7126.450202584267,5227.810125440359,4279.9102149009705,6440.300181269646,7090.389924347401,5605.05987059325,6419.619935274124,6523.09026914835,6750.129781484604,5314.83989867568,6564.079915761948,4988.520211219788,7261.310205638409,4701.510182030499,5268.52005982399,5090.829992711544,6562.63996219635,5635.700103148818,6170.379778981209,6161.930166065693,6759.319799780846,3276.390141606331,5775.530095219612,5260.490000009537,7052.410003662109,4422.569920599461,4735.409982919693,5353.110085427761,6440.150053679943,5431.959937721491,6087.26982665062,5587.2498670220375,7496.790012180805,5605.230018913746,6536.890283107758 +82,French Polynesia (Fr.),8856.19921875,9633.046875,8129.50439453125,9644.6025390625,5437.35693359375,8570.337890625,6844.072265625,9723.515625,8758.6259765625,9923.3701171875,6562.81103515625,9055.880859375,8334.8115234375,9535.5517578125,6134.1435546875,8852.611328125,6960.80615234375,8060.06201171875,5379.9794921875,8795.078125,5847.02392578125,9024.068359375,5603.6416015625,9203.607421875,6601.521484375,7874.66845703125,5731.6796875,7637.79833984375,5238.25830078125,7269.20751953125,4665.390625,7308.58349609375,4875.0751953125,8895.173828125,5441.5751953125,7965.1923828125,7704.63330078125,8978.7646484375,6634.66845703125,8497.890625,7920.4599609375,8600.2041015625,4018.96044921875,8136.76806640625,7957.34326171875,9604.970703125,6986.88037109375,9744.42578125,8932.7373046875,10599.1640625 +83,French Southern and Antarctic Lands (Fr.),24190.01920735836,25620.130947828293,18200.590906322,11634.490248918532,11570.870507597923,23542.252174258232,16920.848899424076,12440.650937914848,9986.361253976822,21361.60037088394,16623.31825953722,13333.691293001177,10291.180203080175,39360.88698136807,9142.218901276588,12761.399409294128,10686.239753246307,16404.109814286232,14318.611849427223,8708.649282932281,16565.000016272068,15052.250404953957,13854.41007038951,9736.819718837738,20208.58146327734,21130.158680558205,13637.630684167149,12305.068412423134,13836.7107443735,12657.15086209774,11709.089523613451,5123.159614682198,9420.891521066427,19284.51333987713,14034.799201607704,11324.1389336586,18239.54095208645,22239.27864599228,11088.161565244198,13550.8299369812,23284.698216676712,22315.670392155647,9828.489586412908,11992.889501214027,29876.74992799759,34267.971054553986,9622.841767549517,14855.339362621307,30610.20180189609,21400.89908695221 +84,Gabon,334611.3250732422,460382.0029296875,492062.77209472656,253353.1024017334,273682.1099243164,384749.0130004883,371384.5948486328,409161.4102783203,289127.83068847656,507686.9714355469,336879.23596191406,493892.1795654297,310728.4520263672,469530.35900878906,385002.8903503418,624589.4117431641,207178.71298217773,723472.5056152344,290897.4556274414,342570.66931152344,246974.2846374512,671996.8785400391,284835.91998291016,608290.3734130859,283430.83892822266,469653.2772216797,337259.993347168,485315.7347412109,132210.82243347168,350512.75744628906,192869.4814453125,327913.2240600586,207303.5841064453,423014.7688598633,395409.5668945313,503659.9503173828,282359.9515991211,465978.7701416016,345799.42443847656,522346.8186035156,298264.7161254883,537355.1197509766,324031.7271118164,599812.6029052734,296121.3473510742,400489.6680595875,444104.7723999024,428492.4874267578,344277.85076904297,775886.5229492188 +85,Georgia,417835.6991577149,278275.3880004883,252786.2550048828,322259.89111328125,334273.2757720947,280477.62689208984,193645.3285980225,296230.02716064453,271291.00103759766,267534.73623657227,205453.87942504883,325663.7319946289,303899.4922180176,297478.47967529297,172818.42779541016,248211.19665527344,288604.41764068604,244547.4005126953,164748.20971679688,276222.22927856445,329217.7801513672,254596.7510986328,215954.94006347656,313807.69732666016,233445.9100265503,227600.42114257807,178291.6300048828,237949.4193725586,283059.12716674805,254742.17864990237,204899.60900878903,302374.58612060547,266167.5695800781,269958.16290283203,275002.25857543945,314235.8083496094,359413.0100402832,247683.09086608887,303492.6678161621,254603.48852539065,384997.1301574707,333502.42126464844,300309.15225219727,319617.8667907715,443833.2018432617,356155.4873352051,327863.1094970703,372808.0985717773,524634.7732543945,364430.7637939453 +86,Germany,4014840.46875,3924053.021484375,3985671.16015625,3675270.357421875,4397698.125,3680983.4921875,4513192.46875,3565219.978515625,3801609.8203125,3908586.541015625,4196303.94140625,3841273.947265625,4584888.828125,4167865.078125,3869295.986328125,3229794.615234375,4390212.1875,3972752.63671875,4180670.171875,3561561.4765625,4799257.19140625,3961553.8515625,4146925.029296875,3741690.9140625,3025316.75390625,4178742.12109375,4364557.6171875,3780578.98046875,3484803.451171875,3909701.671875,4426809.580078125,3474000.48828125,2809359.7734375,3734706.19921875,4607758.55859375,3366933.53125,4717976.849609375,3699866.73828125,4852224.197265625,3392567.59765625,3463179.248046875,3836521.76953125,5110913.4453125,3687519.830078125,4038095.5234375,3679377.6640625,4457318.6328125,3740133.658203125,5454798.078125,4034077.640625 +87,Ghana,479880.583190918,605006.8265380859,401626.20123291016,455037.7375488281,424383.6513671875,435827.27838134766,408094.9445800781,476877.9686889648,481804.2001647949,539538.9877929688,410090.3135986328,454933.2154541016,390981.06213378906,514597.0590820313,391274.0096435547,538591.1831054688,582004.0220947266,555645.9936523438,422047.9876708984,544053.6096191406,536066.0989990234,621288.8264160156,367160.177734375,751544.9084472656,493744.7885131836,638459.0888671875,494676.38037109375,690827.0093383789,493883.088684082,541191.6795654297,385227.0592956543,634297.2330322266,642270.0696411133,803759.3236083984,552262.6333007812,799838.8520507812,786316.0672607422,812608.4739990234,712660.3978271484,922967.8647460938,884835.0412597656,926225.5540771484,602795.943359375,1038247.7680664062,871668.3776855469,1080299.9155273438,865167.3776855469,977852.1302490234,1006562.0161132812,1117082.3649902344 +88,Gibraltar (U.K.),1264.6201171875,1220.3199462890625,1805.400146484375,1314.93994140625,1107.4599609375,993.3099975585938,1549.56005859375,1081.1900634765625,1135.31005859375,1260.3299560546875,1184.6500244140625,926.9199829101562,1335.85009765625,970.9300537109376,1913.840087890625,970.1500244140624,975.3300170898438,1169.56005859375,1140.530029296875,1028.570068359375,1140.3099365234375,722.4100341796875,1595.18994140625,1097.43994140625,1194.6900634765625,935.1800537109376,1604.7900390625,893.7799682617188,1135.5899658203125,1158.199951171875,1319.4599609375,1204.5999755859375,778.3499755859375,1056.070068359375,1035.760009765625,1027.969970703125,1094.1400146484375,931.8699951171876,921.68994140625,815.280029296875,998.8400268554688,1091.8701171875,1196.340087890625,729.0599975585938,1047.139892578125,1170.820068359375,1593.090087890625,972.8900146484376,1199.6400146484375,1198.5400390625 +89,Greece,1161333.3077579737,1115589.5798847675,1041429.6222250462,1069128.590468407,963873.0661906004,1022811.9648990632,948553.4877665044,1080586.5666308403,1000984.2579228878,973382.767309904,899899.2014238834,1091550.2696199417,1001669.1081678869,1010972.2388038636,945626.0208415984,888370.7932686806,982219.6658091544,962896.098571062,914070.8003022672,1019158.891976714,1089532.0715458393,1053888.776370883,1034820.0575727224,1183777.4320578575,961097.601293087,999754.5380109549,1000850.1054549216,977073.8569470644,1170562.3894335628,1052666.8073040247,1015831.6602380276,1150592.2709510326,988833.3960809708,1065048.96007061,1178563.9107202291,1142163.8386991024,1131528.4531761408,1057501.6733310225,1217025.7465167046,1090132.9460539818,1209572.1110243795,1246784.4691245556,1163103.27166152,1238974.310128212,1136102.974075675,1200843.4173936844,1342064.2459800243,1227754.7819459438,1327542.2448800802,1298496.9017047882 +90,Greenland (Den.),24163437.0,15771551.5,-1.0,17556877.0,18445699.5,15982919.5,-1.0,14024696.0,16185226.0,18239478.0,-1.0,14557281.5,25222195.0,18885730.5,-1.0,13725551.0,22025755.0,20429914.5,-1.0,17075530.0,19289878.5,16778476.5,510.3700256347656,15019089.0,14940828.0,15869382.5,-1.0,12087171.5,16184936.0,17797366.0,42121.1171875,16115923.0,11389934.0,11990333.5,-1.0,17198572.0,15724012.0,18514652.5,-1.0,13673144.0,18415196.5,20324440.5,-1.0,17542929.0,20656467.0,12540472.5,-1.0,16626129.0,15066787.5,22421554.5 +91,Grenada,2685.3099212646484,2972.669921875,2404.349975585937,2427.8099212646484,2337.320003509521,2921.69002532959,2489.6400299072266,2366.3800659179688,2168.569938659668,2679.9699325561523,2398.659996032715,2292.1099548339844,2059.629997253418,2558.4799880981445,2462.3000259399414,2476.940055847168,2015.3200149536133,2613.999961853028,2133.8799896240234,2255.0400466918945,2078.879981994629,2414.739959716797,2045.1799621582031,2036.81995010376,1640.299961090088,2206.869987487793,1901.6000633239744,1999.119972229004,1904.3000411987305,2050.9799842834477,2007.119987487793,2116.070011138916,1678.9800205230715,2347.340003967285,1990.7799987792969,2187.9799728393555,1763.7899932861328,2326.059989929199,1981.279899597168,2178.199958801269,1727.7600555419922,2296.0500106811523,2007.97993850708,2334.5099906921387,1862.6498947143557,2800.510009765625,2085.8100967407227,2520.0399627685547,1972.330005645752,2704.8399963378906 +92,Guam (U.S.),13742.220703125,17197.66015625,3850.89013671875,14873.419921875,14789.9404296875,16736.21875,15257.3095703125,13293.060546875,15811.0205078125,15338.7001953125,13832.08984375,14446.7900390625,12742.109375,13523.380859375,13594.740234375,12377.759765625,12691.580078125,12839.5390625,12601.240234375,10796.060546875,10423.6396484375,12050.029296875,11841.0107421875,11335.189453125,11198.9697265625,12434.25,9836.330078125,11295.869140625,11068.240234375,12871.419921875,13659.599609375,11514.8896484375,9916.48046875,12207.23046875,11669.689453125,12234.25,11570.259765625,12084.220703125,12066.640625,10637.91015625,9682.330078125,11677.98046875,11550.2001953125,10925.46875,10643.189453125,11574.009765625,9454.2294921875,10116.5302734375,10346.490234375,12703.8603515625 +93,Guatemala,233878.30237555504,331179.109243989,217240.1023988724,272034.638186574,219004.32058525085,335952.896545887,251444.8382639885,248120.5194836855,256252.67315602303,368397.5903584957,243599.9893951416,326007.502089262,244478.8679312468,379350.3298492432,295228.5184993744,304317.62121880054,228127.68956160545,342087.2668604851,266110.27104115486,322659.5479528904,250136.6313881874,339412.7008051872,248911.1004011631,335436.84686625004,245373.9890754223,320263.7168853283,248863.29146325588,300129.8754264116,204493.9208645821,313870.31020855904,262593.38151597977,250829.67184138295,172848.17006397247,334872.7657561302,270778.8090773821,312587.66648340225,263181.5102866888,350381.72773599625,302176.8428707123,324547.2865166664,287776.18929719925,372144.4972348213,301530.22804403305,355005.0792541504,313743.15174365044,457385.9990465641,310717.0476155281,346738.2193080187,324850.53006124496,460921.3247771263 +94,Guernsey (U.K.),562.0899949073792,606.7900068759918,783.1999974250793,798.509997844696,671.9000115394592,664.6599848270416,842.2200055122375,620.4099974632263,598.9900002479553,578.6699843406677,636.0999975204468,668.7600104808807,762.5600008964539,618.0999829769135,515.1699867248535,479.0499948263168,647.1699903011322,594.4099985361099,568.5399997234344,535.7300066947937,459.3800046443939,537.9500052928925,431.5399973988533,539.9499864578247,436.7700006961823,517.8900102376938,568.5099976062775,448.1899975538254,361.7799946069717,465.47999143600464,582.3700067996979,415.19000339508057,350.70000833272934,337.65999215841293,591.7299971580505,520.5299973487854,476.2299947738648,476.870005607605,709.010003566742,511.36000204086304,483.4099974632263,498.6000016927719,709.0900008678436,508.9799973964691,595.5400011539459,474.48999750614166,594.7700157165527,608.6100068092346,373.029990196228,527.8699944019318 +95,Guinea,522417.807006836,470075.87677001953,355621.563079834,318431.9274291992,415195.5325317383,357877.6616210937,284137.3340148926,320217.7383422852,349942.3547973633,462158.3321533203,298760.2026977539,348223.71282958984,359993.5678100586,440366.2337036133,334827.1643066406,328079.35174560547,343287.1922607422,454235.4818725586,330019.36114501953,293825.76403808594,389408.4682617188,410989.7338867188,285140.0118408203,499665.9182739258,407046.59997558594,407193.8637695313,348201.5240478516,339902.7803955078,226806.6638946533,289901.5327758789,216434.7906494141,344878.2193603516,296741.47425842285,440315.2703857422,251684.89674401283,449521.1173095703,486844.072265625,445946.1756591797,416385.6394042969,408138.2963256836,395531.2725830078,458305.5439453125,391668.8388671875,564781.2938232422,400711.5744628906,553556.9051513672,364327.6755371094,450995.0341796875,474468.20947265625,623982.5789794922 +96,Guinea-Bissau,53337.62026977539,58459.52738952637,53258.91979980469,40170.40956115723,19248.55990600586,48816.03955078125,42380.9697265625,44381.44995117188,24888.660011291504,73741.27969360352,35673.720443725586,49081.68899536133,40782.269874572754,60640.13919067383,51551.10855102539,49620.63882446289,20745.90030670166,59027.23828125,45631.7893371582,38031.62969970703,24257.909965515137,50011.68919372559,41227.76014709473,66239.05087280273,16517.15005493164,50908.86842346192,43052.629821777344,44565.02014160156,9927.149948120115,40270.44052124024,30040.33993530273,48766.398986816406,8201.579976081848,57253.088928222656,42303.77970886231,55011.2594909668,30708.7996673584,56195.58917236328,59148.87936401367,60685.459869384766,29264.32000732422,56910.988830566406,47214.769622802734,68604.98062133789,30688.230102539062,69737.60009765625,39127.32054710388,63724.88006591797,31323.00982666016,69012.89053344727 +97,Guyana,272598.00161743164,323640.2485961914,152105.2601134777,288377.8532104492,148509.57550048828,327845.97705078125,241746.6957397461,249464.5375366211,180844.24591064453,399776.3461303711,187272.4862060547,275275.9116210937,171484.28900146484,298636.0980834961,313537.2197265625,365539.00146484375,123666.53247070312,359001.6561279297,184825.0589599609,263021.71795654297,117610.41973876952,390469.7618408203,168685.6199951172,291849.2995605469,138229.56622314453,385974.0968017578,303902.9073486328,231375.40368652344,53304.12884521485,199097.06518554688,165454.40759277344,226662.6572265625,60974.43930053711,380237.11853027344,245842.43286132807,323283.4434814453,147597.73791503906,369970.6180419922,229999.58917236328,398451.1633300781,217387.31127929688,351411.82763671875,219258.68267822263,389847.2360839844,217374.4787597656,383353.01385498047,274206.45251464844,335418.92150878906,228453.13177490237,471221.3021240234 +98,Haiti,44289.25144958496,69344.92022705078,41353.239990234375,39164.46957397461,35301.360412597656,54817.2878112793,43883.99969482422,46099.53999328613,41226.95989990234,69152.98971557617,39294.14074707031,50042.15887451172,36312.928703308105,63068.14080810547,43558.7407989502,47429.25048828125,31129.44915008545,50007.440200805664,37662.77070617676,40728.10060119629,33456.41022491455,49181.27835083008,34172.24010467529,57489.45956420898,33401.119720458984,51291.06904602051,38106.98036193848,46364.53044128418,17736.98038291931,36842.67980957031,33356.17088317871,44260.71969604492,13829.660026550291,53932.41860961914,32475.800186157227,41703.44046020508,28324.44010925293,52947.80923461914,42032.09977722168,44598.239654541016,38070.29034423828,55352.21969604492,30199.379638671875,46756.94906616211,37484.60005187988,70294.94970703125,46250.50964355469,51133.99981689453,31469.34996032715,55271.3701171875 +99,Heard Island and McDonald Islands (Aus.),3309.22998046875,3441.77001953125,915.4600219726562,2520.85986328125,2064.85009765625,1634.6800537109375,1526.25,1031.760009765625,1474.43994140625,1280.1400146484375,968.3499145507812,1702.1400146484375,1324.8699951171875,4542.08984375,838.760009765625,2701.509765625,2187.699951171875,2103.050048828125,1844.7900390625,2881.7998046875,2680.510009765625,2868.68994140625,1030.090087890625,1756.2099609375,1705.7099609375,1939.3599853515625,790.0900268554688,3545.8203125,1879.39990234375,1059.449951171875,1008.97998046875,4322.68017578125,3612.2802734375,1190.7900390625,875.2699584960938,1076.3599853515625,2304.18994140625,2299.0498046875,665.0399780273438,878.9100341796875,4066.080078125,4188.0,627.6500244140625,1066.800048828125,2174.0,1364.4400634765625,1335.329833984375,2806.0400390625,3131.919921875,1973.919921875 +100,Honduras,230695.981415987,347105.80542230606,221210.0321097374,270941.3683848381,186998.4011577368,349107.033285141,305186.8975021839,244457.55906009677,216159.40052223208,400348.7611875534,250268.0738284588,330470.5027127266,204648.9572287798,427704.54184150696,276649.5874385834,332730.9932155609,214840.30996012688,360268.09722065926,238449.6972568035,295550.9884786606,229509.6063377857,335346.45043325424,253260.77842879292,314448.4296300411,184155.99990171197,322209.91702127457,242611.6133506298,272958.65532016754,159124.2012629509,305394.9017317295,223545.5134562254,287560.0361714363,149479.737318635,371033.7489364147,231499.6404426098,281056.9667994976,184974.22978806496,296371.3265738487,268463.79124331474,292418.856249094,231519.11248254776,338659.00877809525,241630.8283071518,324667.3503065109,272329.2979106903,446878.3588981629,267577.6247267723,320620.57685375214,261797.8717021942,415426.176823616 +101,"Hong Kong, SAR, China",88758.578125,66400.078125,26371.859375,96542.875,107361.0625,74139.8984375,97965.8203125,96638.8125,107227.3828125,86738.296875,92620.734375,98327.59375,105328.390625,99938.9375,81806.8515625,99184.328125,94778.8984375,64757.96875,85975.15625,89283.546875,102166.71875,95941.640625,97156.7109375,106081.03125,89431.8984375,80386.078125,105616.421875,107501.5859375,61205.69921875,76610.7734375,90414.3984375,108047.9453125,92260.015625,92869.40625,101471.234375,80735.65625,108996.6328125,75885.6015625,103999.8203125,88833.140625,90377.953125,109844.375,96801.984375,100781.515625,108334.3046875,70370.5703125,104972.3125,94151.21875,103246.265625,73392.9375 +102,Howland Island (U.S.),0.9700000286102296,1.3799999952316284,0.6200000047683716,0.949999988079071,0.5399999618530273,1.7200000286102295,0.8100000023841858,1.0800000429153442,0.7599999904632568,1.309999942779541,0.5400000214576721,1.2100000381469729,0.3400000035762787,0.9800000190734864,0.8899999856948853,1.2899999618530271,0.0,1.409999966621399,0.4699999988079071,1.090000033378601,0.4699999988079071,1.4199999570846558,0.2599999904632568,1.069999933242798,0.5400000214576721,1.71999990940094,0.8899999856948853,0.8899999856948853,0.1400000005960464,1.6100000143051147,0.5800000429153442,0.2599999904632568,0.3199999928474426,1.2899999618530271,0.8300000429153442,1.2999999523162842,0.6699999570846558,1.600000023841858,0.5600000023841858,1.6299999952316284,0.7599999904632568,1.350000023841858,0.5699999928474426,1.4700000286102295,0.6100000143051147,1.9399999380111688,0.6100000143051147,1.6999999284744265,0.6499999761581421,1.579999923706055 +103,Hungary,825326.0283203125,672617.228515625,690101.3076171875,654259.7705078125,828689.447265625,679878.794921875,654829.13671875,647189.4970703125,730087.2646484375,698149.9072265625,573752.51171875,705996.1455078125,748108.177734375,661964.5009765625,606644.5771484375,525786.927734375,882239.896484375,649008.4013671875,519318.0625,612011.412109375,890445.798828125,607174.333984375,599333.9736328125,684129.7724609375,652875.013671875,689721.7353515625,602685.0888671875,610015.1630859375,925532.36328125,669170.0380859375,624931.7177734375,665298.7958984375,445621.79296875,624535.880859375,720125.1357421875,605822.5732421875,859683.830078125,663665.4267578125,823249.7080078125,670787.5322265625,784538.9658203125,698710.58203125,800160.2900390625,584721.8984375,661676.6572265625,703214.6298828125,764206.111328125,668172.57421875,895205.16015625,713013.9560546875 +104,Iceland,2030345.81640625,2086542.21875,-1.0,1391263.59375,1224487.8076171875,954627.1640625,-1.0,932969.072265625,1286061.9345703125,1215127.501953125,-1.0,4426199.974609375,2690747.201171875,3330033.99609375,-1.0,1205549.931640625,1287934.083984375,1597690.4619140625,-1.0,2805482.869140625,1114566.1884765625,3342426.4877929688,-1.0,1092899.3818359375,1305014.30078125,1117915.6572265625,-1.0,883583.7822265625,903236.3891601562,1968441.625,-1.0,1348793.818359375,1175779.3051757812,1908357.0078125,-1.0,1175084.794921875,1146414.85546875,857505.4619140625,-1.0,2112999.4814453125,1332861.26953125,2341553.708984375,-1.0,1652138.2626953125,1525331.8173828125,1271428.9111328125,-1.0,1605968.1979980469,819495.1181640625,1278013.544921875 +105,India,13216595.082138062,15202389.409450533,5634670.749842048,13883810.234157562,11758851.454223633,14687124.150848389,5987010.190476418,13764359.338867188,12084378.038135529,16279629.842170715,10566104.800624847,16421708.122383118,12942170.69133377,17136085.918952942,11167497.888973236,14806331.51701355,13073553.46282959,14845873.438220978,9049882.070903778,16462205.484539032,13778400.75547409,15985534.303455353,9631325.10935974,17188801.284648895,12942835.319602966,17136945.506721497,8243178.258806765,14976848.821025848,13915208.521202087,16332964.756404877,8910960.943000793,16142740.729423525,11661205.571891785,17158677.834766388,11771560.891570091,14576896.162017822,13838726.471466064,18702529.64993286,13674824.353538511,16694359.848175049,15512578.872283936,19388236.94696808,9298707.72529316,19488347.584350582,17316861.092674255,21953577.75054932,12295051.086833,20745353.88805389,17307075.693084717,23198986.035446167 +106,Indonesia,1710866.025641441,2848000.498352051,3082233.863893509,2444947.489977241,1184881.2211501598,2354612.5270973444,3045323.84727931,2886641.0411434174,2162664.0945312977,3915165.811193466,2942732.766036988,3872697.8436205983,3064305.279067993,4014046.952255249,4362585.97240448,4442576.880249023,2751467.071105957,5029030.520195007,3944307.107635498,1906049.5765912533,971165.387910366,4314316.05438751,2715589.8784332275,3561796.8291625977,867750.3081129193,4263752.90171957,4135071.396728516,3203852.6880152225,2408862.0720653534,3881967.57068634,3313990.436859131,3732412.4868736262,2426736.943704605,4944638.928115845,3789698.5939445496,3404989.788767904,1656417.9621940851,5627747.206832886,4498357.598510742,4559399.298217773,2627250.4151411057,5411331.69720459,4309646.6875844,3116274.1315417886,1216085.5287411958,5820394.843616486,4992656.391662598,5054398.98608917,1715839.5009686947,5212823.178676605 +107,Iraq,4785910.377441406,5848161.328125,6419630.4375,6321906.112060547,4889441.677246094,6238559.408203125,6130559.099121094,5928542.506347656,5232919.671875,6142378.869873047,5376037.043701172,6406438.819580078,5508256.484130859,7064062.807617188,7416564.381591797,7531344.049804687,6546536.272949219,7853031.913574219,7073550.680175781,7936552.078857422,6764897.297241211,7146347.370849609,7462225.143554687,8674928.105957031,6872324.227661133,7488722.601318359,7750349.067871094,7517074.609619141,5686979.846923828,8280560.702148437,8287473.998046875,7779859.460449219,7196157.777832031,7725256.088378906,6794093.1787109375,8405256.54296875,6176807.886474609,7753296.061035156,7602548.3974609375,8428748.4765625,6488664.8046875,7929546.479003906,8820516.131835938,8835366.790527344,7334825.663574219,8840334.574707031,8790181.375976562,9709961.065429688,8800110.657958984,9522835.126464844 +108,Ireland,604581.0331445336,650272.8503906131,736719.3539843559,587893.9716210961,590386.8525976539,622758.7427734435,934930.8399609328,506635.9076171816,568892.3705273569,590920.8105859458,838760.9135937691,620331.8402538896,722328.1298437715,626987.214628905,691074.1773828268,501906.53589843214,614525.5302538872,612584.3117187619,831228.0203906298,550797.441269517,432601.5501367152,508250.0429101586,645792.6190625131,504908.3162499964,523774.2594335973,495608.306250006,796994.4123046994,506983.6237695217,463812.92013672,527074.132207036,752749.2749609351,492583.632207036,360604.3683398441,416419.6810156256,790755.8324218988,493468.81414061785,507282.4512695372,479298.6329101622,904686.8552343844,438391.9035156369,567043.0820507705,514670.7351757884,1042377.1175781488,519108.80224609375,529115.752089858,493126.3688085973,813990.9046093822,582942.9339452982,566173.7005273402,551999.040058583 +109,Islamic Republic of Iran,10586739.782470703,9761387.68347168,8666568.151245117,10060334.988891602,8972414.113769531,8848771.627990723,8117287.600830078,9580528.351501465,7992367.452270508,9045457.8538208,8606435.791015625,10052840.624023438,8174529.06237793,9802904.777832031,8691642.604492188,9348337.583557129,8104794.506958008,9015202.393981934,9700553.249084473,11563434.805358889,10669419.291015623,10307528.582519531,11075110.532714844,12649922.63708496,9992853.915893557,10170637.510742188,11160413.23602295,10233354.35949707,8119206.186096191,9845406.69177246,9156442.62072754,9791502.605407717,8516082.962219238,8946358.217285156,9435008.632141111,10369485.97644043,10104056.20263672,10616864.59020996,10892271.829223633,11219765.615722656,10293852.282104492,11619775.017456057,10797592.955810549,11640745.931396484,11364429.333862305,13447533.120117188,12746082.771850586,13648316.919189451,13360551.813232422,13868690.92944336 +110,Isle of Man (U.K.),5239.269821166992,5429.719955444336,6212.189966201782,4868.91986656189,5311.209961891174,4720.6400146484375,9474.51990890503,4309.409845352173,4236.290016174316,3792.449943542481,6840.239908218384,4989.460008621216,5682.829986572266,5241.449966430664,6749.660078048706,3763.240173339844,4694.899980545044,5893.029993057251,8066.470050811768,3910.309980392456,2976.249933242798,3808.4299688339233,4868.920045852661,3532.810050010681,3300.919952392578,3081.539917945862,6601.560050964356,2731.6700315475464,2934.209966659546,3119.4099731445312,6771.51012802124,2988.369909286499,1927.9700331687927,1850.109990358353,6086.4001178741455,2615.670072555542,2616.66997051239,2492.559946537018,7682.739873886108,2512.969977378845,3360.659957885742,2289.350006103516,8788.890064239502,3163.85997581482,3426.940008163452,1942.349950313568,6000.560007095337,2958.520046234131,2545.500026702881,2521.12993144989 +111,Israel,657859.587890625,779071.671875,716989.62890625,736184.78125,759348.59375,730411.734375,732959.23828125,765144.671875,773646.28515625,801488.31640625,767837.45703125,771743.5703125,756298.69140625,767469.66796875,757736.7421875,727944.015625,766470.625,780586.34765625,779854.28515625,787156.8359375,751359.21875,823080.62109375,776781.41015625,846816.265625,589875.16796875,812849.16015625,811466.07421875,806271.4375,746654.20703125,849051.390625,850117.91796875,847262.33984375,721580.7265625,818836.44921875,837775.58203125,866189.734375,781841.8359375,911981.0234375,933547.28125,907309.9765625,770130.2265625,909773.15625,1002605.6484375,918590.9765625,1026682.2734375,1051312.9921875,1025818.0703125,984003.7109375,1037294.5859375,1015799.0078125 +112,Italy,5984270.956054688,6655494.635742188,6134780.8046875,6111435.7265625,5767676.201171875,6275793.46484375,5753689.568359375,5391920.63671875,6049078.9853515625,6196448.60546875,5576422.7021484375,6155208.578125,6133026.1572265625,6337884.859375,5572636.572265625,5512385.229492188,6135445.6572265625,5947349.2314453125,5693532.8720703125,5785414.94921875,6286445.09375,6189204.837890625,5886245.37890625,6335587.015625,5525571.091796875,5972537.294921875,5698399.244140625,5256919.487304688,6058903.63671875,5781314.368164063,5748739.443359375,5574173.876953125,5806347.24609375,5976407.174804688,6155263.63671875,5375695.471679688,6058125.4541015625,6093847.34375,6285446.5380859375,5790443.3330078125,5782679.3759765625,6127668.974609375,6283939.876953125,5680848.64453125,5681960.59375,6281345.783203125,6074111.635742188,5794001.1884765625,6548708.927734375,6415464.291015625 +113,Jamaica,81938.59191894531,81876.67016601562,75671.10852050781,70555.77941894531,75235.16101074219,86844.669921875,76444.57971191406,69235.20849609375,69327.34741210938,84918.7216796875,73077.5908203125,73549.5302734375,68307.39916992188,85860.369140625,74049.57800292969,75459.83154296875,71825.63037109375,72020.96069335938,73359.83984375,73687.07897949219,71373.90905761719,85598.11767578125,76696.71923828125,73443.86010742188,65857.67041015625,82349.65112304688,76004.42956542969,72166.75915527344,67344.1689453125,75735.93872070312,76903.94787597656,90259.45068359376,66334.02856445312,87194.0615234375,80362.53967285156,74604.90014648438,72955.50988769531,82362.0625,79409.6689453125,79721.279296875,79264.73999023438,92429.08227539062,77801.11022949219,85627.4111328125,88168.40063476562,98386.32202148438,86292.72924804688,82861.1728515625,85460.84838867188,94535.20825195312 +114,Japan,4233537.792034864,3568992.465592146,2896734.5299277306,3858968.5370218754,4895311.491558909,3404376.399221897,3267270.711864352,3458020.6899006367,4460375.297603965,3398397.670840025,3142363.396268606,3365804.0075182915,4176730.02743721,3379446.1789764166,3351470.493615985,3408409.307712555,4313972.638104439,3086956.073626578,2941410.032181263,3343952.737736225,4453645.754251182,3241846.207114816,3157745.616464734,3548089.9115953445,4488981.470775127,3253457.5178881884,3090702.2206596136,3132278.745858431,4148887.9139057696,3221907.6160844564,2894815.7183539867,3398100.8252643347,3520777.0047097057,3306090.183078289,2782064.889173508,3191252.702439308,4810834.876059532,3504016.254611016,3210749.8017926216,3263342.003210306,4848480.397061557,3571455.222266436,3288631.181219578,3405552.80837512,5136615.008336544,3295176.2016911507,3633866.5661756992,3756710.872394085,4258663.010038376,3733796.217544556 +115,Jarvis Island (U.S.),4.760000228881836,6.239999771118164,3.900000095367432,4.069999694824219,2.0899999141693115,4.389999866485596,2.429999828338623,4.090000152587891,3.3299999237060547,6.239999771118164,2.75,4.470000267028809,2.759999990463257,5.160000324249268,4.859999656677246,5.140000343322754,2.740000009536743,5.139999866485596,1.9900000095367432,3.2400002479553223,1.7300000190734863,4.739999771118164,2.5299999713897705,4.210000038146973,1.670000076293945,6.850000381469727,2.9700002670288086,2.3299999237060547,0.2199999988079071,2.950000047683716,2.549999952316284,1.909999966621399,0.270000010728836,4.659999847412109,2.900000095367432,4.310000419616699,3.490000009536743,6.62000036239624,3.4099998474121094,4.590000152587891,3.700000047683716,5.710000038146973,1.6899999380111694,4.46999979019165,3.669999837875366,7.010000228881836,2.679999828338623,4.71999979019165,3.440000057220459,7.539999961853027 +116,Jersey (U.K.),1500.789981842041,2115.369972229004,2238.360000610352,2064.049991607666,1958.069995880127,1633.729995727539,2068.889991760254,1677.1700439453125,1709.869945526123,1883.169944763184,1910.110008239746,2018.3399963378904,1979.7899475097656,1927.0199661254885,1369.1799983978271,1619.5199737548828,1758.749942779541,1903.6200256347656,1740.9499740600586,1859.7400398254397,1775.7000198364258,1865.09001159668,1393.740026473999,1703.2600212097168,1243.1399688720703,1681.130012512207,1806.720012664795,1718.3500289916992,1262.1400413513184,1873.910011291504,1873.070011138916,1361.8699989318848,1125.7499923706057,1488.0199966430664,1824.9399681091309,1579.280010223389,1806.409984588623,1872.2399978637693,1951.9400024414065,1613.230068206787,1627.0600090026855,1763.3099937438965,2152.630027770996,1654.8699760437012,1980.1000518798828,1612.3299751281738,1841.4599685668943,1856.0699653625488,968.6699752807616,1892.4900360107424 +117,Johnston Atoll (U.S.),1.619999885559082,3.319999933242798,2.0199999809265137,2.200000047683716,0.7300000190734863,2.789999961853028,2.130000114440918,1.959999918937683,0.7200000286102295,3.7100000381469727,1.6099998950958252,2.6000001430511475,0.6899999976158142,3.0299999713897705,2.130000114440918,1.880000114440918,0.5499999523162842,2.4099998474121094,1.75,2.119999885559082,0.699999988079071,2.4200000762939453,1.149999976158142,1.5399999618530271,0.3599999845027923,2.9200000762939453,2.039999961853028,1.25,0.0499999970197677,1.7599999904632568,1.170000076293945,1.4700000286102295,-1.0,2.669999837875366,1.5,1.9299999475479128,1.059999942779541,2.6499998569488525,2.490000009536743,2.84000015258789,1.340000033378601,2.25,2.25,2.390000104904175,1.170000076293945,3.220000028610229,2.2300000190734863,3.0,1.600000023841858,3.299999952316284 +118,Jordan,367048.6787414551,501543.88244628906,501678.4237670898,529247.239074707,415688.7696533203,442491.6439819336,464433.9791870117,521179.78704833984,394509.3578491211,511434.9583740234,533776.1616821289,527701.3800048828,405330.0550537109,507450.3470458984,539193.207824707,497108.3453979492,439891.1481018066,496729.9802246094,556146.1337585449,570360.7713623047,478826.7934570313,557886.5483398438,577163.8021850586,682478.9039916992,435613.3428955078,625220.2135620117,660318.9211425781,667862.0438232422,528134.4107666016,618396.2201538086,680280.8957824707,727035.0455322266,447410.8604736328,638005.001159668,686808.5091552734,713893.9564208984,558478.9346313477,665445.4491577148,773187.9595336914,802096.0920410156,619931.5491638184,800608.6287841797,832545.0865478516,800370.8579711914,793738.4197998047,904419.0899047852,885747.7492675781,892461.0959472656,836694.8255615234,943093.9629516602 +119,Kazakhstan,16117880.521484377,9288711.955078123,10761352.622314451,9917343.564941406,12083493.122558594,8977249.385253906,10212364.924682615,8755078.385742188,10672474.137207031,7844143.975097656,8545006.908691406,11689859.330078123,11363557.041015623,7903175.482666016,8430247.170288086,6606381.244140625,10114909.91821289,5960399.407592773,7598173.972900391,8387458.944091797,11423735.8203125,6986416.921875,6972776.579833984,8055858.426757812,7979447.674804687,6640543.312255859,7580204.364501953,6746012.718994141,11363016.475341797,6091507.506103516,7969878.357666016,7195725.839111328,6866197.639038086,3631288.244750977,10151732.649414062,8468534.958984375,11782092.706542969,5779177.731933594,13070344.219482422,7018543.1083984375,12235811.77294922,6586757.661621094,12757881.223632812,7858774.906494141,13968836.841796877,6582447.9287109375,10741296.35546875,8130597.036621094,14773429.154296877,7966944.027832031 +120,Kenya,645770.4013061523,746381.9875500202,787313.2791748047,873765.1452026367,385031.296913147,797728.388692379,614194.4817504883,736539.811340332,518689.2318115234,1305742.153259277,549120.9929199219,904261.884689331,625526.4336395264,775205.5739479065,750243.0735168457,1178114.9276123047,413989.1601409912,1196241.823425293,570290.4573669434,742669.9181365967,543874.0083007812,1472046.398651123,498360.4012756348,1005563.4901428224,566955.3020324707,678625.0588390827,716003.5523071289,893536.6559143066,271523.4668960571,791985.9592590332,461238.1741638184,845806.6923828125,285679.03955078125,974442.690032959,914108.1121826172,1107520.2350616455,578960.6004486084,1131432.3155212402,786784.9293060303,1135953.0785217285,791554.3428649902,1177145.5915527344,589030.888458252,1400659.2376098633,770004.7560424805,1677203.9536743164,1303621.6757202148,1238741.2389526367,696904.7405548096,1408196.620880127 +121,Kingman Reef (U.S.),326.3900146484375,532.3699951171875,295.1199951171875,295.0599975585937,84.14999389648438,366.6000061035156,231.75,236.58999633789065,141.38999938964844,440.5899658203125,177.3000030517578,380.5,119.4499969482422,353.4399719238281,341.489990234375,249.79998779296875,112.61000061035156,429.1300048828125,182.5799865722656,326.4900207519531,64.5199966430664,478.4700012207031,143.0399932861328,291.0799865722656,115.3699951171875,450.5,342.75,167.1199951171875,17.44999885559082,253.8999938964844,156.3000030517578,106.29000091552734,52.41999816894531,435.7000122070313,242.3500061035156,336.72998046875,175.51998901367188,351.9100036621094,243.8699951171875,370.6000061035156,228.8500061035156,451.7000122070313,236.4499969482422,345.1399841308594,195.17999267578125,650.9099731445312,313.8599853515625,350.2799987792969,188.94000244140625,474.8999938964844 +122,Kiribati,980.5101318359376,1233.27099609375,692.4597778320312,1015.4395141601562,395.2500305175781,1106.5303955078125,647.0292358398438,981.6397705078124,560.8799438476562,1222.2203369140625,569.6499633789062,1066.9696044921875,564.460205078125,993.2109985351562,1085.830322265625,1140.7012939453125,419.5500183105469,1307.898681640625,562.4100952148438,937.4300537109376,351.08984375,1434.290283203125,435.09954833984375,968.1597290039062,404.8597106933594,1450.1998291015625,910.510009765625,716.6002807617188,167.00991821289062,838.99072265625,595.6599731445312,634.0198364257812,119.55996704101562,1211.4700927734375,702.6005859375,1065.840087890625,664.989990234375,1320.2806396484375,759.1702270507812,1271.5599365234375,821.1998291015625,1272.67041015625,438.8099060058594,1091.6201171875,764.2994995117188,1646.9407958984375,922.8400268554688,1330.6695556640625,804.7997436523438,1506.2296142578125 +123,Kosovo,122497.2373046875,75237.298828125,78050.9609375,80583.8076171875,79324.3798828125,75884.12744140625,62668.609375,76027.689453125,58012.78125,71485.4013671875,65566.83154296875,76360.1474609375,95346.3994140625,73702.2001953125,60266.4501953125,54125.0791015625,78523.2099609375,66825.98876953125,60404.2216796875,72699.478515625,103995.22265625,73172.6298828125,71296.4072265625,87726.06640625,92147.2294921875,74387.23095703125,55798.12158203125,76072.31689453125,127524.873046875,92216.3291015625,78123.9794921875,84958.5712890625,77398.08203125,88361.2490234375,86221.1884765625,94373.271484375,140893.265625,96665.8583984375,98942.0810546875,94257.802734375,126806.279296875,113934.7607421875,109178.275390625,115495.7529296875,102892.3154296875,127460.1162109375,127405.921875,124418.4677734375,141864.240234375,144703.85546875 +124,Kuwait,822489.919921875,691975.01171875,744866.31640625,950048.08203125,931750.41796875,750408.97265625,814114.1640625,837344.828125,1039093.474609375,839149.259765625,912264.140625,969699.73046875,927116.5,804963.109375,817079.265625,812876.0,1043079.57421875,830174.06640625,969796.90234375,861197.9375,842498.3359375,876506.50390625,1027940.9296875,937115.078125,1005520.546875,799399.765625,1391941.79296875,737208.59375,840601.7890625,850599.2265625,963997.5625,791026.0625,879039.171875,804002.9140625,896394.0,1008542.8125,954762.95703125,876514.4921875,967346.3359375,899186.0625,842567.03125,896003.06640625,912692.5546875,923258.6171875,857756.703125,964382.7734375,987438.2734375,1036970.5078125,1154340.8203125,1042869.7265625 +125,Kyrgyz Republic,915468.373046875,567118.3481445312,460916.12255859375,707889.0620117188,636168.0283203125,529180.4670410156,307351.07421875,617185.830078125,608919.16015625,438355.4301757813,281970.7980957031,683439.6625976562,667864.439453125,572493.1376953125,260276.49157714844,452570.3986816406,538034.5842285156,391817.310546875,210161.2227783203,591257.4262695312,761389.0883789062,457582.1325683594,335754.0830078125,675007.0068359375,520047.0356445313,425077.1525878906,298675.1340332031,529696.3637695312,643501.3549804688,447179.1286621094,331696.5275878906,640673.7841796875,534834.384765625,462333.7036132813,577838.6767578125,608756.6962890625,740696.1450195312,529219.9091796875,594449.1625976562,647252.3002929688,686739.013671875,648929.091796875,516418.7387695313,628245.5068359375,1074621.8076171875,587054.919921875,651295.8540039062,665816.9262695312,844908.6674804688,662307.9521484375 +126,Lao People's Democratic Republic,241477.73287963867,466074.37742614746,194212.71065366268,374853.949798584,167636.70979309082,497932.6215820313,269135.48858451843,374235.8082885742,175862.8113861084,488205.24865722656,305417.87869501114,425632.943939209,199995.5595703125,675921.1455078125,213462.4774615765,362620.306640625,140944.0302734375,508099.57723999023,217394.98405456543,300326.37353515625,143946.55975341797,460096.4262390137,164215.48014578223,378538.51428222656,148128.2798614502,455852.7946166992,248942.09016096592,297247.5827026367,78501.3699760437,360846.1528320313,97656.09051275252,306887.54064941406,74649.13999652863,560150.6746520996,280164.6737976074,325974.13480758667,249953.53381347656,528629.7421875,383529.87005615234,421093.7088623047,273622.56494140625,473625.268371582,361859.8576812744,412309.9729309082,338028.3730163574,786963.137878418,340217.1867144704,523827.42834472656,299546.9523010254,596330.1481323242 +127,Latvia,675955.423828125,329820.5849609375,814576.8671875,327246.56298828125,633977.767578125,438433.2958984375,908740.6925964355,294000.951171875,325079.05712890625,330790.58642578125,733865.36328125,397177.4541015625,655608.4814453125,263855.2568359375,860453.41796875,254877.9423828125,726612.4287109375,336011.6015625,431173.2141113281,306782.68310546875,440582.9916992188,298924.201171875,817718.62109375,304766.3100585937,406628.123046875,337740.52294921875,1120824.451171875,288630.95556640625,663429.96484375,349740.2470703125,722564.8740234375,301534.55078125,204451.58618164065,212310.3779296875,925482.3046875,322084.23779296875,777316.4912109375,228052.9274902344,1129297.05078125,349170.673828125,573452.392578125,326080.48388671875,638262.3486938477,357293.71142578125,395033.5546875,271799.8508300781,1007011.77734375,355578.1967773437,793479.3857421875,273673.84716796875 +128,Lebanon,133969.9697265625,240776.12182617188,156741.97009277344,186271.1696777344,164598.1290283203,202919.2282714844,183340.32690429688,241862.00073242188,193803.8297119141,230391.9119873047,186814.15075683597,217133.8319091797,197063.6488037109,224206.8967285156,187632.6904296875,192434.70947265625,191489.75146484372,221282.36865234372,202957.58837890625,235280.74877929688,214358.77758789065,261237.64135742188,232409.8992919922,278001.0095214844,189612.36254882807,274299.66638183594,244711.62084960935,239441.619140625,196398.8420410156,265086.2890625,254388.27294921875,263431.3791503906,202744.88989257807,231205.72778320312,170710.3692626953,239641.66821289065,195965.7779541016,186086.12036132807,160108.10083007812,106961.37097167967,101543.79895019533,94627.009765625,103093.51080322266,78584.08935546875,84063.22021484375,117914.9813232422,127933.98986816406,124995.45715332033,121824.06060791016,139595.15100097656 +129,Lesotho,48359.30022120476,78265.48047351837,45311.76064157486,60932.90869998932,47585.570407390594,62283.678800582886,48263.270522117615,67280.79856586456,57281.30917596817,69944.71927833557,47939.74014544487,78322.31130981445,49575.25993108749,70738.7099738121,25671.55014127493,49210.63033223152,43999.95015645027,53963.94965624809,33357.58954048157,49359.65986633301,31420.399990081787,53331.87921714783,29817.6198656559,60113.76930093765,42299.84021115303,54613.13927125931,27926.11002612114,43362.10014843941,31592.03009223938,48631.92012310028,36781.999769449234,56459.69003462792,28145.730172276497,56475.12906718254,42712.3700940609,62513.68940448761,44409.29008722305,67767.23929977417,43511.31002664566,57934.229558467865,49447.34991168976,67512.22005915642,26154.40006184578,69371.74934339523,57143.11972117424,68486.71994876862,48533.03072524071,70670.7202630043,59104.899335861206,78566.11018943787 +130,Liberia,109509.94067382812,181700.147857666,138235.52685546875,178755.78048706055,56979.94049835205,143166.78729248047,135629.55805969238,147119.7873687744,78444.94981384277,157472.26721191406,129965.94929504396,147589.94625854492,73357.17854309082,151340.7960510254,150527.02743530273,200059.4306335449,51734.45008850098,175909.31774902344,116133.95959472656,132560.84880065918,66333.41024017334,167076.21829223633,102258.43099975586,199128.38256835935,41086.14063644409,136593.2674407959,158726.07763671875,170723.00003051758,11799.639888763428,96046.42083740234,83239.3201751709,151507.3090057373,10727.97999048233,176090.48971557617,100110.81962585448,222508.2677001953,86342.99122619629,162977.69854736328,145121.6653289795,196588.53936767575,80668.7497253418,158383.3398590088,119742.76123046876,255424.8492431641,85295.6908416748,183964.24609375,155141.63906860352,209387.8673400879,103524.22206115724,237675.80990600583 +131,Libya,5140379.5439453125,5008292.5,4349107.765625,4929973.591796875,3577665.3203125,4642779.60546875,3872382.423828125,4452584.732421875,2755209.3291015625,4422198.626953125,3108164.71484375,5414888.88671875,3144861.345703125,4735790.84765625,3370162.705078125,3598290.80078125,3042194.689453125,3617517.13671875,2764776.10546875,3921797.177734375,3173252.751953125,3748960.580078125,2955098.084960937,4916061.69140625,3282272.52734375,3970476.890625,3144563.5869140625,3579418.6650390625,2214526.84375,3946072.283203125,2813879.2080078125,4258692.98828125,1878361.55078125,3607583.483886719,2794859.4189453125,3597243.998046875,3490276.31640625,4284588.33984375,3911417.1259765625,4631029.34765625,3530534.767578125,5214115.177734375,2941672.397460937,4883136.53125,4529083.802734375,5852630.599609375,4414735.41015625,6192363.140625,5063542.451171875,5842718.90625 +132,Liechtenstein,1540.9499549865725,2266.059986114502,1745.9200115203855,1905.5900268554688,2334.9799575805664,1765.1399612426758,1837.439962387085,1295.959966659546,2153.219955444336,1774.1699352264404,1633.5900077819824,2096.4099826812744,2207.5100269317627,2149.0099925994878,1754.5100650787354,1578.6600170135498,2659.530017852783,1905.2500534057615,2039.7699909210205,1953.409999847412,3439.9901237487798,2304.109970092773,1861.8000030517576,2002.8600025177,1446.410020828247,2091.149984359741,1841.7200088500977,1900.7399997711184,2382.790008544922,1981.5899143218996,1662.9399890899658,1579.1899394989014,1341.5800371170044,1846.0899600982664,1763.0900402069092,1666.519989013672,2910.209987640381,1840.8999996185305,1690.729986190796,1716.8200511932373,2041.500099182129,1757.1500434875488,2195.6200046539307,1582.379934310913,1910.2599983215327,1663.6599807739258,1847.550008773804,1634.8999481201172,1779.98002243042,1755.069990158081 +133,Lithuania,739951.9208374023,368154.5139160156,630942.8304748535,345346.8172149658,592180.4997558594,465495.9340209961,946069.9664611816,313903.71673583984,374121.4870605469,353135.88189697266,620062.348449707,408032.7693481445,531974.8076019287,290807.8489379883,765602.5357666016,272918.9662475586,732429.8177490234,339460.780670166,931235.7518920898,325041.9898071289,453772.2990722656,339600.2232666016,575869.1064453125,320702.8406524658,477477.7043762207,385901.22576904297,911644.7605285645,319655.9372558594,681210.4376220703,386598.223815918,707963.1504211426,325385.50437927246,211000.57861328125,256578.5720214844,769970.5447692871,354551.9666748047,987526.2606201172,270931.5591430664,1129705.1041870115,374926.3647766113,544491.5901489258,320224.716003418,1127072.7739143372,367665.3006591797,350316.9367675781,284490.90924072266,827047.8220214844,377725.6613616944,904981.4932861328,325070.0793457031 +134,Luxembourg,40753.078704833984,59125.04992675781,64764.111328125,63109.55700683594,95104.36059570312,60077.63903808594,74438.01977539062,67062.1196899414,49566.11978149414,68366.23937988281,68297.650390625,59426.74920654297,75988.47216796875,76072.33190917969,63897.219329833984,58671.23068237305,68569.54064941406,68394.26126098633,68234.46997070312,63364.03939819336,94363.68103027344,76547.0796508789,61774.49084472656,64248.35095214844,43170.8991394043,76285.85870361328,68893.13879394531,71210.81130981445,46947.18908691406,72179.37908935547,76504.96221923828,42372.67050170898,41008.82975769043,74754.99102783203,73190.76916503906,36867.56018066406,79304.52746582031,73342.07147216797,67187.37036132812,60208.84948730469,35745.01971435547,66548.52020263672,77632.21264648438,57827.67932128906,44201.37091064453,58350.958740234375,65743.28936767578,64334.3489074707,75371.74194335938,56669.3801574707 +135,"Macau, SAR, China",2523.360107421875,4240.1298828125,539.3699951171875,6685.7802734375,8824.5498046875,4121.490234375,7938.4501953125,7479.5,8112.2294921875,6485.580078125,7322.3203125,8348.9794921875,7680.580078125,7557.1796875,7149.36962890625,8212.060546875,6916.89990234375,3205.52001953125,6824.0400390625,6122.64013671875,7916.919921875,10358.0595703125,9654.3603515625,7762.9404296875,6888.580078125,3792.740234375,8741.109375,7247.55029296875,3966.929931640625,4802.3994140625,6552.65966796875,8334.759765625,6727.990234375,4016.669921875,7278.009765625,4923.259765625,7361.10986328125,5244.39990234375,7262.75048828125,6422.25,6287.580078125,5957.56005859375,6051.72998046875,7172.02978515625,8074.60986328125,3851.1298828125,6255.740234375,4900.60009765625,6633.4599609375,4267.8896484375 +136,Madagascar,455888.5671157837,1179860.9558105469,543434.9598999023,1227511.065673828,559586.3335723877,995848.89352417,457123.91204833984,975390.9913330078,546251.7502059937,995481.4427490234,433615.849899292,1212123.8215637207,640355.4970397949,860175.5797424316,450947.704864502,912834.936569214,626679.2777709961,786330.2128295898,461662.6144714356,943800.8027801514,374954.191696167,792775.9725952148,341517.7029724121,1026240.0934295654,464640.0022888184,903121.2224731444,357110.1365661621,659566.9857330322,164662.87838745117,726790.1809082031,308061.15338134766,805242.9305725098,251198.6513824463,963175.4002380372,528277.693145752,898857.8214111328,708949.2611083984,1082244.5079956057,541000.1225280762,987746.9555969238,761597.6596679688,967013.3154296876,283952.0201416016,988335.4887390136,819186.5874023438,973294.5757751464,686317.1142120361,1338647.2610168457,607491.599685669,1005935.0957336426 +137,Madeira Islands (Por.),26453.070281982426,26669.5798034668,35628.470458984375,24731.00006103516,24847.219665527344,25013.65106201172,22569.13006591797,25327.879638671875,22531.38949584961,25460.64010620117,23135.97869873047,23351.220153808597,23848.49005126953,24418.50952148437,24358.150756835938,20631.279724121094,21371.14068603516,21228.48022460937,22717.630737304688,22095.88931274414,20573.170196533203,24477.870178222656,23209.59097290039,22594.10888671875,21960.98028564453,20168.81970214844,19616.880126953125,21249.760131835938,21575.05014038086,21079.29943847656,18994.439575195312,21695.840301513672,21889.8408203125,21189.70986938477,18384.999877929688,17848.98016357422,16449.11981201172,20355.749572753903,19102.17007446289,19204.32006835937,20651.56936645508,18263.900512695312,17783.689697265625,18536.23992919922,16950.78045654297,22065.360290527344,18797.66046142578,22290.49029541016,18183.550323486328,21894.05938720703 +138,Malawi,193498.228515625,245699.7388916016,139800.49031066897,250559.2448120117,175425.14807128906,195098.5990600586,100338.39877319336,188451.14462280276,73614.02769231796,194390.32946777344,98828.84042358398,224606.52615356445,116223.00134277344,163158.32913208008,107036.04563903809,225301.7380218506,108662.17016601562,176194.90020751953,103185.48054504396,188804.890914917,98203.12937927246,182742.3548278809,80833.08055114746,233165.26983642575,122478.08467102052,175619.7300415039,89017.92842102051,152621.12049865723,69483.22924041748,145332.3299255371,62719.639419555664,168815.88583374023,45241.959527015686,178880.0460205078,120554.55862426758,191664.37036132807,95130.00988483427,230414.26809692383,130164.04205322266,192206.33984375,176544.4473953247,191814.666015625,93032.19082641602,223370.95336914065,121420.18020629884,221234.98263549805,146242.5482788086,250834.3768310547,55822.93949127197,268250.6275024414 +139,Malaysia,359364.1304037571,634142.9275779724,851407.0690085888,715409.0972184688,1061644.4588280916,1244053.5177574158,1015468.7550923824,915905.9262650012,1358336.1751708984,1456535.6072266102,1521079.5523034334,1542129.5205078125,1420968.2393701077,1766581.7369728088,1727899.548852563,1522537.9718284607,1413211.2109766006,1806115.1205761435,1739820.5790331364,1171207.2004852295,846829.9034546018,1934194.715415001,1667608.168395996,1408017.2885808945,919216.0578625202,1887362.5785179136,1679205.9231262207,1001992.0541381836,1417768.6063281298,1857755.462250948,1695491.7493554354,1651251.3548622131,1606911.8718396423,1922995.4511961937,1681711.2190258503,887225.5579285622,1190866.140989542,2048214.1745800967,1724383.0175549984,1678647.926748037,1618974.8792449832,2078572.961997032,1847213.8868335483,421635.8302452564,1190584.2182154655,2154106.7505126,1889184.685950756,1725043.301226139,1244164.6248865128,2238577.519155264 +140,Maldives,388.87999695539474,550.3199985027313,524.6200039386749,356.7799897491932,298.23000171780586,556.749995470047,486.7999812364578,353.14000034332275,362.8099992275238,529.7699964046478,397.9899984002113,469.4700096845627,386.5199822187424,541.2699792385101,431.67999291419983,531.960009098053,365.2900085449219,574.1500080823898,474.4700047969818,490.98000568151474,393.6299960911274,665.830015540123,474.8000072836876,522.3000147342682,409.8199795484543,554.3299995660782,532.3400046825409,561.8599935770035,277.1499963924289,585.6400065422058,545.5699718594551,534.4999884292483,407.4200088679791,657.9200119972229,475.2499965429306,648.3799966573715,596.2700024843216,900.0200161933899,780.0500202178955,848.3599734306335,726.0500137209892,1089.610007405281,871.2600156664848,970.3300688266754,1010.4299722909929,1300.2000665664673,1198.919982790947,1159.7399817705154,959.019966840744,1215.100015282631 +141,Mali,1870144.0067138672,2403623.700805664,1807434.0889892576,2080428.7767333984,1227851.2746582031,1852535.328491211,1501200.096923828,1966237.794189453,1286646.586669922,2278173.1381835938,1352360.6833496094,2311282.2314453125,1275128.322631836,2485346.358520508,1627390.6021728516,1716727.5166015625,1133222.795288086,1930525.7432861328,1475549.7165527344,1650672.4155273438,996334.2698974608,1878388.8927001955,1199034.9711914062,2703650.0079345703,1052236.047607422,1859524.3482666016,1646623.2626953125,1486055.2172851562,383107.55615234375,1563983.643798828,846767.2901611328,1836248.1279296875,426539.9334106445,2188587.7384033203,1623353.8151855469,2063542.3034667969,1296535.479736328,2196431.664428711,1959033.1743164065,2065187.752319336,1375260.9663085938,2350105.891479492,1530984.5137939453,2575807.5021972656,1547586.640258789,2574544.08984375,1749162.4050292969,2759089.5743408203,1678965.9643554688,2508077.232910156 +142,Malta,26594.29004669189,27703.03008270264,27796.520171165463,30125.559839248657,24951.100107192997,28607.95996856689,28958.92998123169,29004.019770622253,27596.32998275757,30616.83946609497,28103.070148468018,28642.049739837646,27420.76002502441,30207.639930725098,27097.599609375,27478.680408477783,27167.72019767761,26957.20978736877,28614.67010498047,25901.39997291565,28246.84022140503,27699.850255966187,29107.39981842041,30813.839979171757,27623.52988815308,23879.670066833496,29347.130016326904,26504.54015159607,25732.859775543213,28910.410121917725,29197.950061798096,28733.13986968994,27741.070114135742,29437.0300617218,31122.789810180664,29275.26000404358,27959.119997024536,24277.6199798584,30785.43990135193,29725.150020599365,27416.46991157532,28820.53010749817,30077.789735794067,30928.6598777771,29360.73975944519,32377.57989501953,30257.81987762451,31374.240409851074,29627.909755706787,30827.82997131348 +143,Marshall Islands,371.8499450683594,379.52001953125,259.20001220703125,382.7500305175781,145.77003479003906,404.9898681640625,385.050048828125,413.2999267578125,259.27996826171875,384.7700500488281,306.7600402832031,476.9100341796875,265.71002197265625,372.8099365234375,441.3200073242188,449.8299865722656,229.02996826171875,464.1202392578125,359.5399475097656,412.530029296875,230.40997314453125,502.2299499511719,271.219970703125,404.8700256347656,201.30001831054688,446.1298828125,406.3699645996094,383.43994140625,184.6399688720703,312.5799560546875,409.6700134277344,356.4300231933594,199.63999938964844,472.8500061035156,391.3900146484375,453.0,349.70001220703125,504.9299621582031,428.3899230957031,523.5199584960938,345.7000427246094,636.0901489257812,504.5000915527344,500.8699645996094,292.2099304199219,606.840087890625,454.0100402832031,635.1700439453125,326.30010986328125,585.030029296875 +144,Mauritania,1634845.9831542969,2121092.12298584,1700207.325744629,1986110.726257324,1028208.1905517578,1621217.6434326172,1430022.5331420898,1774366.3599243164,1044595.5883483888,2121923.260375977,1200731.685974121,2123528.849182129,1027830.142578125,2164333.7602539062,1462968.2580566406,1429717.6362304688,924930.1860046388,1753903.6423950195,1408764.4434204102,1347864.4356689453,866158.4418640137,1553392.5622558594,1097390.3233642578,2207181.758117676,939092.0929260254,1649406.4327392578,1548721.7099609375,1275620.0507202148,372854.8598937988,1406123.750732422,886348.996673584,1506370.4989013672,230817.93509483337,1746624.336669922,1377656.749267578,1681809.7583618164,1092559.6193847656,1840829.765991211,1745823.1451416016,1746468.4862670898,1092846.1410217285,2053265.594055176,1527713.434753418,1989398.2656860352,1449585.4431762695,2277149.6069335938,1811737.2630004885,2495900.5001220703,1427997.6151733398,2168544.583251953 +145,Mauritius,19073.029815673828,21783.270568847656,16138.519897460938,17016.909790039062,17769.00033569336,16415.660095214844,17517.330078125,20881.190216064453,16679.19970703125,19676.419708251957,16634.119995117188,22004.38018798828,18178.499450683597,18002.939971923828,15686.71957397461,18553.46008300781,17608.460052490234,17561.229370117188,16563.15951538086,19722.589782714844,17706.350128173828,17859.429931640625,16537.00994873047,21144.759979248047,15936.109619140623,17665.369842529297,19356.14010620117,20120.890045166016,17776.349884033203,19817.45004272461,17404.919982910156,21531.850341796875,16680.790069580078,18313.44982910156,19193.35009765625,21604.64038085937,19225.610290527344,18191.720153808597,19838.759643554688,20687.499969482426,24399.830291748047,22796.649810791016,20990.12979125977,26762.48016357422,21727.039764404297,26688.641052246094,25613.42080688477,29202.529663085938,24555.81997680664,28622.720245361328 +146,Mexico,7624090.97202307,9236927.918405533,6626807.096824288,7994185.061317444,6780023.283204079,8355798.118623972,5968140.408345461,7193526.321977735,6928235.585272193,8894985.048491478,6511760.183917165,8202901.599056244,6243795.598288357,8568844.95463872,6990307.02035737,7589401.7993091345,6453907.335475206,7531176.499535739,6102369.460716605,7568496.63944602,6448685.749955058,8047180.388166547,5955106.691942513,8269812.908743143,6575752.681830108,7442267.132525444,6315513.994409144,6992868.072336912,5386854.092005238,7627558.6081780195,6169310.012067556,7438709.134552956,5061875.262097713,8397335.409951687,6970098.181446195,7944164.362282515,7700604.930844188,9004530.879630327,7830848.28548193,8858158.741175413,8126379.935485959,9559009.62758088,7093882.294825196,8826946.75717938,8576647.880062342,10465581.20177269,9069159.58373022,10692159.528941154,9176861.988084791,11395440.279609442 +147,Midway Island (U.S.),9.689998626708984,17.40999984741211,10.5,12.579999923706056,5.680000305175781,10.710000991821287,8.680000305175781,11.579999923706056,6.010000228881836,13.90999984741211,9.34000015258789,13.780000686645508,8.119999885559082,13.759998321533203,9.170000076293944,11.710000038146973,6.210000038146973,8.699999809265137,6.950000286102295,11.610000610351562,5.479999542236328,11.879999160766602,7.590000152587891,12.360000610351562,3.9800000190734863,9.420000076293944,7.699999809265137,9.059999465942385,2.9099998474121094,7.609999656677246,6.819999694824219,9.68000030517578,3.119999885559082,10.94999885559082,9.510000228881836,11.399999618530272,8.059999465942383,12.160000801086426,10.029999732971191,9.84000015258789,8.429999351501465,13.049999237060549,6.029999732971191,11.760000228881836,9.25,11.81999969482422,11.869998931884766,13.960000991821287,10.560001373291016,13.989999771118164 +148,Moldova,238304.3685913086,119775.11755371094,113311.51846313477,132902.68936157227,183148.1778564453,116402.8489074707,112312.00827026369,131023.05938720705,153776.26245117188,118131.42752075195,118613.88818359376,150383.7371520996,145297.05953979492,108523.61810302734,109917.89115905762,98787.81909942628,212727.19940185547,108983.53871154784,109704.5786743164,119954.73834228516,134818.44061279297,108917.25785827637,81002.29968261719,124235.06951904295,186804.0602416992,123940.3176574707,96431.10121154784,102549.78952026369,238786.6700439453,128848.66914367676,108414.1195678711,119970.59797668456,81750.73902893066,100911.53091430664,166291.8885498047,127332.30908203124,210932.2952270508,122776.3903503418,211415.317565918,143832.3981781006,188385.04049682617,145975.6598968506,214374.0299682617,143325.07890319824,148322.10766601562,138474.66928100586,177965.4971923828,162555.7877960205,430478.0054321289,163003.68692016602 +149,Monaco,843.8800048828125,771.4400634765625,825.9099731445312,731.6400146484375,698.6799926757812,723.3400268554688,718.010009765625,688.27001953125,765.570068359375,717.0700073242188,778.699951171875,708.7000122070312,648.8299560546875,718.52001953125,748.489990234375,756.7000122070312,820.9700317382812,801.75,753.0999755859375,697.3599853515625,830.1900634765625,766.72998046875,787.949951171875,801.2999877929688,825.199951171875,708.4199829101562,756.949951171875,689.3400268554688,796.8900146484375,645.8599853515625,518.2100219726562,543.8200073242188,640.489990234375,535.510009765625,492.3900146484375,543.3299560546875,567.8200073242188,515.1800537109375,538.5299682617188,595.2999877929688,1065.679931640625,551.4400024414062,583.5999755859375,729.5999755859375,986.1099853515624,534.3599853515625,517.530029296875,664.7100219726562,1005.7598876953124,512.719970703125 +150,Mongolia,6251859.344932556,6048060.702308655,3851757.124389648,5168619.187728882,3777828.7004852295,3643815.288101196,3621371.2404022217,3586665.140487671,4084269.923110962,2877141.234550476,2473372.0988845825,4927453.020828247,3312109.7453842163,5584038.694755554,2267843.0358276367,2207713.012313843,3424422.0659980774,2392401.702445984,2210290.116760254,4471117.211486816,4433532.938873291,3078983.3759765625,2254052.626525879,3726681.117736816,2792429.905254364,2685759.6055603027,2337942.8557929997,2896449.716712952,3450604.256542206,2482300.2890701294,2695269.4343910217,3226533.841991425,2028027.8004264832,1436437.6538085938,4448094.024154663,3935796.358718872,4321865.138519287,2592041.4681777954,5599836.148971558,3563517.113998413,4856090.48147583,2898991.246166229,5019686.037338257,3386595.3059425354,6112840.341873169,2729120.571537018,4796356.803382874,4120848.3531723022,5412411.494018555,3699849.949989319 +151,Montenegro,92952.47998046876,71588.55773925781,65799.20983886719,80294.3003540039,82392.09008789062,73652.892578125,60134.29000854492,75986.94067382812,66932.1517944336,71364.25122070312,61101.03112792969,80453.56085205078,98055.09216308594,78124.10040283203,61267.2102355957,59273.439025878906,82246.32971191406,67822.90124511719,53785.77951049805,72870.53857421875,92822.5714111328,74047.91015625,68456.56176757812,86766.42950439453,81435.48986816406,70767.2197265625,56458.6413269043,69712.62768554688,97674.01892089844,76669.45068359375,62113.04974365234,74807.49096679688,62278.019287109375,67988.28997802734,76530.32147216797,70245.5513305664,102450.91857910156,75165.16735839844,76703.17071533203,75059.69067382812,88696.38977050781,83685.81958007812,79373.39190673828,89625.8189086914,100503.43957519533,86470.2611694336,83080.01696777344,80112.4780883789,106702.41967773438,89122.53833007812 +152,Montserrat (U.K.),202.81000232696533,315.27000999450684,205.0199966430664,207.18000030517575,158.99999976158142,249.0099973678589,213.0099930763245,218.24999332427976,162.7100009918213,259.31000232696533,187.98000049591064,234.8999938964844,163.87000060081482,268.6000022888184,240.4299955368042,203.2399969100952,147.38999724388125,236.3199977874756,186.22999382019043,190.90999507904053,152.31000423431396,238.66000270843503,183.47000455856323,241.9700050354004,147.7599973678589,230.96000289916992,186.91998767852783,178.73000192642212,124.67000651359558,231.67999696731567,187.37000226974487,203.24999856948853,133.48999828100204,283.8600044250488,216.89000129699707,215.6700072288513,155.26999855041504,246.6000022888184,215.89000701904297,242.100004196167,186.2000012397766,261.2399959564209,190.1900000572205,230.03000736236567,191.8699951171875,319.4399929046631,231.290002822876,259.48999214172363,195.4900054931641,279.78000259399414 +153,Morocco,1595173.583984375,1553804.8076171875,1549606.5522460938,1691969.5126953125,1375510.9853515625,1475470.1259765625,1423887.76953125,1641712.8090820312,1411359.1884765625,1617092.0854492188,1436953.03125,1814760.58984375,1378413.068359375,1633091.5971679688,1566967.58984375,1496226.853515625,1607678.1025390625,1674233.5190429688,1480589.7778320312,1544701.6577148438,1587607.7734375,1514525.4526367188,1510125.7631835938,1899352.0390625,1504925.390625,1450237.845703125,1602077.0205078125,1498382.6381835938,1359118.2412109375,1675917.048828125,1471833.5712890625,1731777.74609375,1279124.27734375,1643460.1733398438,1629921.8037109375,1740976.9345703125,1694150.4819335938,1693811.7734375,1746716.7294921875,1798327.34375,1741149.9580078125,1922492.794921875,1774044.4731445312,1864585.0615234373,1926440.1381835935,2011122.1606445312,1864110.188964844,2133848.6357421875,2170646.430175781,2110826.8369140625 +154,Mozambique,873445.2563705444,1463946.0649414062,786646.8140945435,1385771.7995758057,952700.7514953612,1201766.6850280762,692438.103767395,1187033.8333206177,850757.191482544,1188995.7866363523,573736.5210227966,1565684.3498535156,930240.7465057372,1124519.5459136963,619155.8687362671,1351957.134109497,770668.9855728149,1044163.8343963624,598197.1021232605,1237268.4318389893,609844.5254898071,1116773.8743591309,507641.6140441895,1583370.3979644775,777131.8725585938,1188935.9896240234,492366.2594184876,983592.620010376,383777.88062667847,953215.4086151124,416772.7484474182,1153819.9913330078,433817.1569519043,1132278.5502243042,836512.1879196167,1192385.4189453125,902526.9203491212,1484991.553161621,750562.7160186768,1268575.6340179443,1214977.252998352,1244996.7559509275,494163.3596343994,1503968.6830749512,1005844.0121688844,1360961.6764678955,965598.641357422,1777332.3400268557,929412.3564453124,1551833.4383544922 +155,Myanmar,786329.3839111328,1628000.1533203125,657337.0492669642,1173392.2802734375,610904.2700195312,1729720.3510742188,544803.8054971695,1382206.1313476562,595275.9108276367,1801781.576660156,882647.4375305176,1322700.9611816406,601337.5260009766,1753414.6040039062,855425.3903808594,1247224.7238769531,487366.6763916016,1470531.1618652344,442940.2201156616,956285.1102294922,577308.5191650391,1201493.4345703125,619282.1992797852,1360274.1770019531,519032.5729980469,1539446.3610839844,764438.4229125977,1050903.6618652344,374074.1103515625,1261175.8944091797,242035.6993484497,1053238.985961914,365455.2835845947,1578470.1528320312,622104.2034606934,1256892.6119384766,884442.4458007812,1608374.094482422,1240815.6340332031,1413423.323486328,935864.7416992188,1681960.5861816406,1102407.044342041,1327309.1967773438,1012431.2869873048,2010940.0205078125,925259.7053833008,1562147.098388672,916092.6166992188,1875536.392578125 +156,Namibia,892928.3689956665,1595490.156616211,822129.4511566162,1635533.7690429688,1117427.6870689392,1242897.4934387207,772111.9463806152,1445052.4863891602,1168660.573852539,1200266.5020141602,613152.0236358643,1699412.8593444824,1123301.676147461,1193295.8570251465,573682.1612548828,1097333.514251709,711230.7038574219,940740.3395996094,466374.4133300781,1221213.6250915527,775932.7259216309,1052053.2142028809,347216.3597717285,1497414.9030456543,909771.1487121582,1023413.8941955566,435988.1113128662,881512.7961730957,445451.8385944367,892151.4323425293,340347.8638000488,1008635.5209350586,293305.1367797852,1177205.0066680908,557794.5624084473,1323268.2400360107,998454.4119300842,1473552.0288238523,727732.7600097656,1172067.929107666,1220387.5057678225,1299424.736785889,473551.2206878662,1363580.9992370603,1249924.0754089355,1277358.0246429443,847362.4400024414,1797338.750366211,1209743.3901824951,1463058.508392334 +157,Nauru,228.25,8.329999923706055,203.739990234375,239.07000732421875,76.38999938964844,204.81997680664065,227.20999145507807,290.8600158691406,325.260009765625,284.6499938964844,396.3499755859375,345.5599975585937,382.4299926757813,367.5500183105469,367.46002197265625,381.22998046875,274.3099975585937,338.44000244140625,440.9700317382813,399.03997802734375,306.44000244140625,415.2999877929688,374.05999755859375,378.4299926757813,346.41998291015625,438.1700439453125,394.55999755859375,397.03997802734375,320.25,270.19000244140625,294.1199951171875,351.3099975585937,416.8599853515625,338.3699951171875,368.0699768066406,462.949951171875,332.77001953125,431.16998291015625,375.0299987792969,496.0299987792969,418.83001708984375,405.7000122070313,346.16998291015625,462.6999816894531,436.53997802734375,453.3899536132813,322.5500183105469,398.030029296875,460.8600158691406,390.9100341796875 +158,Navassa Island (U.S.),3.3499999046325684,7.270000457763672,5.579999923706055,4.590000152587891,2.440000057220459,6.409999847412109,4.78000020980835,4.059999942779541,3.59000015258789,8.639999389648438,3.619999885559082,5.679999828338623,2.809999942779541,8.25,4.930000305175781,5.9800004959106445,1.7799999713897705,4.960000038146973,3.549999952316284,5.490000247955322,1.4600000381469729,5.839999675750732,3.2800002098083496,5.389999866485596,2.7699999809265137,5.539999961853027,4.299999713897705,4.850000381469727,0.270000010728836,4.090000152587891,3.2199997901916504,6.170000076293945,0.0,6.380000114440918,4.330000400543213,12.480000495910645,2.690000057220459,5.800000190734863,4.590000152587891,5.989999771118164,3.190000057220459,7.310000419616699,2.4699997901916504,5.589999675750732,4.0,9.920000076293944,6.029999732971191,6.090000152587891,3.920000076293945,7.409999847412109 +159,Nepal,234570.056640625,460672.92578125,265563.00048828125,374247.2890625,187274.9833984375,440537.7529296875,168379.07763671875,390234.994140625,203212.4951171875,440113.052734375,209165.056640625,389127.955078125,205443.2216796875,417071.03125,283304.0263671875,327135.4267578125,176454.7216796875,463354.3603515625,175124.3583984375,362156.287109375,209628.8525390625,289447.4775390625,191940.34033203125,429018.833984375,156905.69140625,366916.328125,206903.73779296875,300602.0458984375,157372.96142578125,306140.150390625,186735.0888671875,366868.576171875,95135.35986328124,365614.9990234375,277247.6748046875,312080.9580078125,224229.3857421875,492331.341796875,336865.4599609375,431575.447265625,286372.0712890625,463126.322265625,330405.205078125,437451.6875,351852.3115234375,607890.990234375,188327.78173828125,496325.427734375,363726.0546875,689654.529296875 +160,New Caledonia (Fr.),37471.81640625,43120.6015625,26828.767578125,35839.8515625,34925.84765625,33640.328125,26483.939453125,36662.62890625,32721.736328125,38002.70703125,25462.529296875,43835.82421875,33545.90234375,42637.01171875,23766.109375,32623.994140625,27372.81640625,43356.98828125,24128.541015625,32634.599609375,23445.474609375,32067.166015625,22646.658203125,42903.96484375,29644.037109375,37130.31640625,19807.990234375,27178.900390625,19928.751953125,38345.4296875,21253.236328125,34055.46484375,17484.12890625,46104.94140625,30099.599609375,35290.46484375,31979.95703125,40067.85546875,29684.7890625,38596.6015625,29151.130859375,38915.6171875,21116.904296875,43171.80859375,33266.46875,48094.609375,35130.25390625,47972.828125,37919.57421875,40004.75 +161,New Zealand,707114.857421875,1014870.099609375,772563.857421875,694935.919921875,735816.5322265625,943517.29296875,780133.017578125,591755.87109375,596686.7763671875,878752.921875,608407.669921875,606607.2216796875,512047.654296875,889599.4765625,544962.515625,506481.4482421875,435330.787109375,880400.91015625,492830.076171875,483082.81640625,530202.6533203125,819974.880859375,554841.0888671875,468392.2666015625,762635.716796875,844659.720703125,495385.943359375,401210.35302734375,499471.5893554688,712371.4521484375,413173.392578125,384140.11572265625,426778.9575195313,961074.87109375,682743.99609375,501248.0625,814813.0146484375,897382.3984375,493691.40234375,554550.560546875,769650.337890625,899463.11328125,370360.6787109375,575947.9248046875,859195.35546875,974227.962890625,772382.205078125,594579.865234375,907769.625,962667.443359375 +162,Nicaragua,169392.33406835794,292810.43573594093,188591.0512244701,202082.5969079323,127795.02108481526,263735.32624799013,221398.90741047263,187355.9106354117,163172.30167502165,306706.9697172642,201398.92232450843,277982.61678889394,144398.06845715642,331750.7705709934,213902.59843707085,285542.88631117344,134698.6803270504,273496.9678892493,190918.72282981875,226651.67993298173,146282.0391833037,262719.798479408,180197.3418438137,272328.5575732887,143590.17003166676,281787.40782547,191435.4900155142,204002.26253798604,97620.3678319808,228922.7418191731,161875.74869892,201184.3197980523,80811.62098068185,290152.86929380894,189550.35449433327,229971.6859973073,147313.7692078501,257668.36752924323,235875.5101318061,250247.3067317605,181546.03176498413,281776.61993891,170192.76045837998,271320.4897417128,200268.08175376055,367937.4278703928,237554.86918359995,267569.189571321,188118.88085225224,371521.8733320832 +163,Niger,1595939.721923828,2430326.7576293945,1444077.401916504,1940864.3704223635,912429.4473266602,1935719.904785156,1394738.7244262695,1796619.3868408203,1055549.4525146484,2230068.433959961,1166430.0388183594,2102142.703979492,1112111.516418457,2337246.086303711,1494293.015197754,1671874.754333496,852714.2523193359,1705737.0223388672,1233657.3639526367,1598369.7642822266,768146.2977294922,1780620.3763427734,999921.6857299804,2316870.1658935547,804801.578125,1625997.8740234375,1270168.4592285156,1332107.3425292969,391539.2309875488,1500391.2019042969,751311.7139892578,1474331.0534667969,124141.84343719482,2000065.4060058596,1298214.6575927734,1731881.9770507812,1001377.1877441406,1906791.2277832031,1533130.5802001953,1791913.0568847656,1244540.208984375,2243298.8305664062,1288706.1661376953,2248291.3399658203,1333099.9169921875,2604177.9331054688,1551005.9287109375,2453972.017883301,1444570.755859375,2374313.084472656 +164,Nigeria,2712187.237930298,1780706.394221425,1504858.2335128784,1470341.27799201,2012595.521583557,2713491.6858062744,1625192.5877189636,1949375.484985352,2048743.343444824,2187130.676513672,1735174.080909729,2290454.5806274414,2200702.561126709,2329665.147911072,1849029.0202713013,2506784.8421936035,2179887.033042908,2390343.2342071533,1723834.3373851776,1953479.553516388,1678438.6814041138,2351085.611114502,1315746.1218585968,3214251.7145233154,1992316.183101654,1882540.858110428,1811503.8163909912,2052985.4501953125,1570548.8432388306,1647423.4764064848,893795.9100709558,1352702.8050500154,1463850.3554992676,2027713.357089043,1398747.9276885986,2322437.1376190186,2105681.8170318604,2120620.238143921,1733334.566810608,2032054.8011779785,2073659.661193848,2375325.231819153,1458522.534034729,2388069.552307129,1792826.1724853516,2296635.896356344,1707836.7568473816,2407576.782558441,2279584.510375977,2647210.703582764 +165,Niue (N.Z.),54.40999984741211,452.3399658203125,239.4900054931641,437.6299743652344,338.3800048828125,345.16998291015625,246.16000366210932,369.75,457.8999938964844,317.9700012207031,173.91000366210938,373.0,382.219970703125,418.3800048828125,166.75999450683594,304.07000732421875,330.7200012207031,309.8999938964844,103.82999420166016,301.6000061035156,248.72000122070312,322.34002685546875,97.60000610351562,388.97998046875,298.0299987792969,280.3699951171875,149.97999572753906,332.2799987792969,255.16000366210932,261.0,104.91000366210938,220.5800018310547,202.3600006103516,492.2099914550781,205.8600006103516,341.6300048828125,358.5800170898437,451.989990234375,258.3499755859375,414.6499938964844,348.3999938964844,436.0400085449219,119.7300033569336,384.02001953125,387.0299987792969,439.3800048828125,234.8500061035156,493.7599792480469,426.989990234375,385.1900024414063 +166,Norfolk Island (Aus.),45.310001373291016,69.82999420166016,35.93000030517578,47.4800033569336,42.52000045776367,81.27000427246094,43.15999984741211,41.68000030517578,30.069997787475582,48.17000198364258,24.80000114440918,46.59000015258789,21.020000457763672,62.78999710083008,26.36999893188477,29.39000129699707,22.53999900817871,52.85000228881836,24.11999893188477,28.239999771118164,28.270000457763672,53.37000274658203,19.90999984741211,38.30000305175781,30.4900016784668,54.62000274658203,17.1299991607666,15.25,3.950000047683716,33.529998779296875,13.93000030517578,18.18000030517578,5.260000228881836,78.85000610351562,48.66999816894531,41.790000915527344,37.58000183105469,69.69000244140625,36.09000015258789,40.57000350952149,41.290000915527344,66.2199935913086,33.37000274658203,37.53000259399414,40.16999816894531,80.93000030517578,44.33000183105469,50.10000228881836,40.34000015258789,68.84000396728516 +167,Northern Mariana Islands (U.S.),2465.2099609375,3237.3701171875,2253.499755859375,2317.14013671875,1739.7900390625,2980.06982421875,2449.349853515625,2148.080078125,2015.9500732421875,2549.820068359375,2096.010009765625,2272.97998046875,1972.8800048828125,2535.919921875,2555.47021484375,1916.3299560546875,2329.18017578125,3026.0400390625,3066.10009765625,2797.6298828125,2608.159912109375,3172.60009765625,2926.809814453125,2886.3701171875,2495.26025390625,3318.27001953125,3094.5,2764.14990234375,2035.60009765625,3002.72021484375,3024.900390625,2932.040283203125,2529.52001953125,3650.849853515625,3475.320068359375,3074.01025390625,2805.849853515625,3722.530029296875,3370.400146484375,3168.51025390625,2820.97998046875,3371.010009765625,3111.41015625,3126.719970703125,3046.77001953125,3774.039794921875,3511.679931640625,2982.860107421875,2686.959716796875,3620.1201171875 +168,Norway,6987862.220500946,5738334.368812561,572293.3671069145,3721545.040687561,5061916.288555145,4574157.185028076,0.0,2955634.1096611023,3871054.187711716,4093248.5657339096,345136.9911432266,3780444.687522888,7521106.044044495,4416993.788780212,8024.029802322388,3292316.2587356567,6197823.778671265,4605771.747600555,225760.3816757202,4009576.8461914062,4674437.829193115,4817344.89635849,819912.416387558,3122270.638324737,5077643.504360199,5055432.837280273,89173.45846557617,2655713.011669159,5391479.539348602,4741020.879396439,54453.26936149597,3294393.4263916016,3901786.354995728,3055132.471889496,410295.0823558569,3473447.68813324,5628401.687854767,4593973.088439941,0.0,3645768.890953064,6013945.545776367,5504769.689796448,0.0,3896909.811130524,5766590.477523804,4177124.436351776,224.2099952697754,4083504.394584656,6742199.312253952,4133319.98539567 +169,Oman,1284700.9821472168,1521909.0884246826,1289562.3416900637,1569160.3226470947,1244374.8217163086,1462697.510787964,1354374.8037948608,1490471.873550415,1270356.744514465,1747211.9352416992,1426640.7778320312,1658182.259613037,1461286.572471619,1836499.368804932,1468902.053741455,1484135.0627822876,1355881.5681648254,1561848.0760879517,1367279.0996627808,1624161.7477798462,1409241.156425476,1752065.8674468994,1467582.042869568,1735940.4251098633,1662572.215576172,1771096.9670715332,1445822.4056854248,1665147.0190124512,1406502.4833602903,1646741.153831482,1526718.6138153076,1649703.8090820312,1232029.2567977903,1751319.9445037842,1291289.565750122,1625417.3641815186,1539165.727684021,1696358.0998840332,1392367.2161712646,1592539.4575653076,1344522.0973205566,1738027.660736084,1261635.9419708252,1547528.0921020508,1277703.483642578,1856832.2444152832,1401389.0406951904,1671366.8094024658,1542606.4123382568,1853828.0625610352 +170,Pakistan,3042422.569152832,2894337.4633789062,2458985.603637696,3504395.7256469727,2263842.844909668,2671074.153442383,1933724.022521973,3080916.505004883,2478021.68069458,2754442.846069336,2082568.4767456052,3052481.8392944336,2404680.2302246094,3021274.8419189453,2118150.13873291,2509789.4486083984,2103756.0620117188,2267630.603515625,1875247.739318848,2787577.3020629883,2402573.8663024902,2433139.7641296387,2107484.461669922,3256121.9583740234,2233977.414642334,2670074.197906494,2122320.670562744,2782364.775512696,2029457.0444335935,2636801.422485352,1996608.8048095703,2744689.974609375,1739139.101409912,2834056.995788574,2313052.8395996094,2934733.969482422,2236681.301208496,3179820.784729004,2855046.218933105,3448024.5192871094,2670190.259887696,3496427.021972656,2178049.6657714844,3036399.1329345703,2857248.9372558594,3597855.4288635254,2891829.926208496,3497249.184814453,2563609.9935913086,3616253.238647461 +171,Palau,519.530029296875,841.5599365234375,17.950000762939453,151.1800079345703,418.3199768066406,833.7298583984375,582.5900268554688,20.33000373840332,433.6499938964844,1026.43994140625,537.3999633789062,668.1099243164062,562.1199951171875,825.739990234375,909.3799438476562,621.9099731445312,420.7200622558594,926.2899780273438,611.7300415039062,617.5899658203125,435.419921875,1062.9300537109375,553.260009765625,662.8399658203125,463.33990478515625,1014.0700073242188,69.59000396728516,646.6701049804688,472.66998291015625,880.989990234375,697.2099609375,801.9600830078125,385.1299743652344,966.77001953125,861.6400756835938,714.4400634765625,598.2799682617188,945.4898681640624,776.4700317382812,515.7200927734375,609.260009765625,985.4898681640624,461.4299926757813,893.6400146484375,578.4100341796875,1282.47998046875,328.4200134277344,947.619873046875,742.1600952148438,1234.43994140625 +172,Palmyra Atoll (U.S.),8.399999618530273,14.100000381469728,7.409999847412109,7.180000305175781,2.430000066757202,10.920000076293944,6.170000076293945,6.7300004959106445,3.7299997806549072,9.25,4.420000076293945,9.50999927520752,4.529999732971191,9.59000015258789,9.239999771118164,7.829999923706055,2.130000114440918,11.31999969482422,5.389999866485596,9.220000267028809,1.0899999141693115,12.15999984741211,3.539999961853028,7.380000114440918,1.579999923706055,10.65999984741211,9.420000076293944,5.380000114440918,0.0199999995529651,6.329999923706055,3.5300002098083496,2.379999876022339,0.7899999618530273,10.079999923706056,7.050000190734863,10.010000228881836,5.240000247955322,7.25,7.980000019073486,8.420000076293945,8.569999694824219,11.959999084472656,6.109999656677246,8.510000228881836,5.489999771118164,14.260000228881836,8.570000648498535,8.199999809265137,5.050000190734863,15.709999084472656 +173,Panama,166198.04918289185,214125.2778778076,139777.31172943115,103561.18344974518,139218.1629257202,212421.4197845459,183395.6141166687,175189.6481552124,166797.46060943604,247568.6606864929,175760.37116241455,190187.56239318848,166606.88724517822,245582.56856536865,194647.28985595703,198519.75524902344,146726.61367416382,258671.80841064453,163764.13002681732,187605.42908477783,167419.36032104492,234184.6204528809,172951.8895187378,196441.72146224976,171663.44919586182,243017.7029876709,195993.0093307495,194582.47184753415,146565.37867355347,213389.9767532349,178011.16145706177,215291.45014190677,133933.0330734253,256527.50888824463,198264.57096862796,219282.3803863525,172249.0634841919,241427.18963623047,216677.89043426517,250330.9669342041,200808.0417098999,245977.8990478516,146420.3995437622,249415.47242736816,210780.0387802124,321685.2982635498,247081.7760314941,248151.133140564,208327.1516494751,307534.87295532227 +174,Papua New Guinea,78352.24039053917,467575.331846714,441433.3401483297,572960.0647132397,87934.82000160217,382776.3978705406,484362.26548314095,453842.3869738579,193099.5217858851,867719.1542747021,334451.88769316673,600328.0504649878,299210.167124629,588070.7293018103,590659.5931067467,741333.6253100634,268655.76104927063,729377.7037183046,497162.28232097626,358401.0423826575,114891.06019192934,660057.2177538872,334924.97960689664,477377.720574975,197414.72734725475,829826.0390866995,548093.5884885788,482805.9451469779,153874.34878447652,344180.13506770134,351703.9333024025,387774.9408220649,149305.15004776418,718058.950835228,451529.6691149473,476799.9440674782,152774.0801731348,792075.8925635815,521999.0056604743,578795.0328713655,377798.1001348496,635560.9575595856,609198.8074945211,523118.45551097393,201842.17045205832,708679.1459274292,516472.2674844265,692921.7103431225,141251.41990336776,517783.1330668926 +175,Paraguay,799880.058380127,1039499.0923461914,622604.6755065918,848071.7340087891,961638.6611785888,950559.7871551514,656920.6606369019,900677.08203125,797496.9699859619,984985.600982666,616677.28515625,1073934.8065338137,847987.1904754639,1141753.3311920166,775054.1851348877,855604.2711791992,783250.5216827393,853872.571395874,685693.552810669,865436.8227386475,829567.5062713623,873284.9634857178,685453.1244659424,1013537.8744049072,824009.5583953857,904775.0259552002,747534.8459472656,738374.0733795166,496109.6756439209,779496.7164154053,532472.6638031006,840581.444442749,602871.6025238037,1117683.421707153,884947.2652740479,1041175.4734344482,1035462.7555999756,1169663.011566162,901855.3392944336,932028.4983520508,1117995.662902832,1206563.7332000732,727453.6199188232,1108630.639892578,1173614.4661102295,1285131.1018829346,1056535.1573486328,1448677.682647705,1307656.14604187,1301260.5560150146 +176,Peru,1815717.8321647644,2529319.114501953,1310442.5200500488,1582042.3847351074,1579466.5820922852,2192303.682739258,1301388.2217712402,1773571.095703125,1916517.4962768557,2757770.1868896484,1222257.9304504397,2073018.4391479488,1839572.2904052732,2432265.0451049805,1385265.026184082,2146413.5861816406,1638311.0705566406,2488254.900512696,1176653.5683288574,2115963.160888672,1586656.280334473,2291299.62979126,1079701.840057373,2379080.712280273,1957231.25390625,2895790.3111572266,1454478.153503418,2116588.3850097656,1247685.126953125,2106467.840362549,1042826.8930053712,1535073.1342163086,1088167.4201965332,2961247.4669799805,1521821.6891479492,2425310.480102539,1624156.3040771484,2882573.3470458984,1692792.7822265625,2378393.7111816406,2100286.848449707,2920204.271850586,1246371.694396973,2872072.34954834,2479007.749938965,2771270.046813965,1870678.685119629,2676400.453613281,2228266.4627990723,3465401.994995117 +177,Philippines,538907.9743804932,823670.7026367188,214055.39742922783,442770.05628204346,415971.369102478,717949.0975646973,410054.20084381104,491581.3073730469,480417.6657104492,808852.4904785156,471542.9838867188,700134.2297973633,513837.91928100586,875456.8362426758,631356.1813659668,576115.5339355469,466276.7168121338,812946.4541015625,489558.55880737305,520266.2939758301,422978.8661956787,877062.0669250488,323250.52045059204,634964.6774291992,461140.6257019043,874326.5451049805,340827.0451908112,608703.7546234131,452774.8065185547,735344.7355957031,536969.0180892944,646940.0651245117,417752.3801879883,948795.2128295898,666196.0741577148,424947.7538976669,536600.5836486816,910761.431060791,719031.6134033203,713456.6650543213,683182.9377593994,912391.9776000977,709501.9966888428,795016.1641235352,731452.4098815918,1166850.2792358398,344818.6618270874,938218.1998291016,770749.5108032227,1192074.9128417969 +178,Pitcairn Islands (U.K.),47.09999465942383,90.81000518798828,46.45000076293945,81.14000701904297,41.5099983215332,77.30000305175781,56.84999847412109,95.13999938964844,53.64999771118164,104.92999267578124,47.040000915527344,88.97999572753906,45.53000259399414,81.61000061035156,36.37999725341797,73.12999725341797,52.47999572753906,65.95000457763672,35.040000915527344,61.380001068115234,32.290000915527344,63.44999694824219,32.59000015258789,68.78999328613281,36.65000534057617,62.87000274658203,32.20000076293945,53.630001068115234,17.209999084472656,51.660003662109375,30.400001525878903,55.5,3.6999998092651367,82.97999572753906,65.69000244140625,62.61000061035156,49.91999816894531,78.52000427246094,49.47999954223633,55.44000244140625,54.69999694824219,77.82999420166016,30.489999771118164,81.01000213623047,63.65999603271485,77.16000366210938,62.67999649047852,86.94999694824219,64.97999572753906,77.38999938964844 +179,Poland,5982676.203613281,3536244.399353028,3768118.627990722,3082955.0724487305,6119353.563720703,3562653.439086914,4064694.78503418,3212297.5917663574,4601529.289794922,3592678.484527588,3899274.087768554,3586890.7988586426,3938668.25390625,3531663.365875244,3616772.539611816,2823295.17767334,5878463.965148926,3552406.8969421387,3989473.1326293945,3095969.5099487305,5743373.649780273,3283167.1780700684,3247173.059020996,3227089.4065856934,3967332.927520752,3655836.539398194,3720830.254852295,3266145.696228028,4723788.687011719,3558026.366821289,4035509.7668151855,3168239.0403442383,2553676.3952026367,3287979.317443848,4309531.045776367,2908881.6165161133,8161280.723022461,3344208.9310913086,4698026.741455078,3264946.671813965,4440995.800933838,3424478.171325684,4784512.800231934,3009082.4260253906,2707821.4324703217,3275025.0460510254,4184173.5427246094,3228157.757751465,8488039.793945312,3392228.8033447266 +180,Portugal,1521618.0501098633,1302171.895477295,1550507.957763672,1312001.9919433594,1111249.2836914062,1368971.767211914,1379419.8252868652,1381865.8999023438,999784.7910461426,1303131.7215576172,1290856.620300293,1437121.4280395508,1302266.5989990234,1352257.1799926758,1351382.5969543457,1258549.39453125,1146493.1028442385,1313261.4349365234,1343516.2919311523,1366990.9946899414,1267116.8256225586,1387404.2502746582,1343203.1292419434,1369921.4009399414,1243841.372833252,1188298.154449463,1129847.3879089355,1252434.356262207,1322702.8067016602,1277994.3414916992,1154380.3571472168,1219725.8998413086,1035359.904510498,1084322.7303771973,1285507.06640625,1112362.7593688965,1292222.9655151367,1182624.740692139,1173521.1009521484,1154614.383605957,1203066.2411193848,1228342.1717834473,1226876.3899536133,1115317.0895996094,1143620.442565918,1200937.2896118164,1231453.1328125,1183207.7163085938,1099776.6303100586,1172838.0380859375 +181,Puerto Rico (U.S.),215136.748916626,273693.3297729492,235495.09228515625,203880.1582736969,228174.6996307373,252595.0614013672,214019.44131469727,208757.66136932373,230871.19732666016,236822.7203369141,219155.68488311768,225759.33025360107,220683.89093017575,234810.4077911377,220638.11096954343,209920.69967651367,219241.99096679688,218729.9523010254,199157.72593688965,194268.61895751956,207631.8398284912,209518.32627105716,187204.91219329837,67128.48994445801,130749.89822387695,160499.9596862793,161363.40953826904,160332.1301651001,166387.92182159424,196565.86876678467,198225.05016326904,191419.8921051025,163625.7483253479,203593.6587677002,191030.83210754397,189686.2709350586,203402.0509338379,211101.5705871582,192010.20169067383,191129.62940979004,201665.94869232175,193634.3192138672,192278.17143249512,189746.48920440677,188839.0419769287,213302.5580444336,203080.80819702148,206322.4721374512,202011.8670501709,202664.3429107666 +182,Qatar,785310.5759277344,661791.58984375,836421.9306640625,905501.6723632812,720878.4946289062,657754.5932617188,653736.14453125,775628.4658203125,642013.4140625,833446.0649414062,726601.7255859375,790870.7065429688,792146.2980957031,767575.6645507812,769452.0908203125,796145.0317382812,843536.2153320312,778275.8159179688,853211.2534179688,841549.9631347656,927611.775390625,867339.7690429688,912716.0966796876,924900.630859375,1040679.4584960938,890410.8647460938,943321.1318359376,929074.146484375,939791.3996582032,1012828.884765625,1003181.1958007812,1024450.068359375,1046576.4609375,1026291.5859375,1088202.3720703125,1144805.345703125,1100592.3115234375,1118616.7431640625,1037143.54296875,1137285.5126953125,1113763.623046875,1241430.4384765625,1033959.203125,1138852.8779296875,1016452.4575195312,1198425.8999023438,1113744.0620117188,1148387.7788085938,1226916.44921875,1241285.9013671875 +183,R.B. de Venezuela,5393220.118074924,3941356.926472306,4542224.853019744,4689949.822590023,4680872.454110816,5763210.356845379,5443011.362729639,6435306.636124641,5522980.712199323,6035032.660284102,6794387.247439474,6741979.003622979,5935183.767697111,6434247.226732612,5882722.037121505,6325809.724342406,4931935.599520311,6116486.559818983,5301388.554727405,4784394.548182368,3915448.265867904,4384189.155881286,4305164.89088425,4261060.596919,3881176.522019401,4460165.407941818,3670677.9234571457,3477167.031223953,2760813.141161509,3035993.012087226,3042209.634053111,3439292.0891004503,2847852.119717432,3944552.261609733,2466997.261290133,4054211.973542154,2727092.1867937,3817641.281377673,3635336.482497156,3612157.618797183,3453234.5663303435,3708513.0316632986,2848423.765100926,3483918.9646658897,3670210.809641331,4458746.900370419,3820320.26650849,4514812.57676214,4221050.059560657,5686242.714234054 +184,Republic of Korea,2221824.0625,1942897.1376953125,1614673.7236328125,2086940.580078125,2719235.5859375,2043552.814453125,1515798.5009765625,1943163.560546875,2050257.080078125,1907000.369140625,1556144.0947265625,2010061.9453125,2086120.33203125,1967672.576171875,1521830.5546875,1934626.380859375,2163863.013671875,1973597.59765625,1662521.447265625,2040714.615234375,2542760.498046875,2228869.828125,1673673.9990234375,2218988.26953125,2468096.48828125,2139992.59765625,2043190.59765625,2178977.681640625,2324841.412109375,2183217.53125,1809896.69140625,2147205.6845703125,2425642.607421875,2297753.513671875,1615435.544921875,2361233.712890625,3073199.22265625,2396501.390625,1889925.1484375,1777907.58984375,2550879.46875,2438252.150390625,1933479.8037109373,2389395.322265625,3285794.12109375,2106671.51953125,1949410.51953125,2582307.6796875,2728225.818359375,2416477.798828125 +185,Republic of Yemen,876560.4493088722,1206414.5609517095,1112869.9198912084,1205067.5061186552,719657.2849681079,1094468.1367284656,938136.7651017308,936749.219806552,660351.3981921673,1141091.1841174364,898613.1899369359,1124024.6277422905,737506.0067537725,948181.6913847924,688585.5928056836,714163.2846999168,278872.77985316515,572326.9450826347,513826.2759082317,695065.9871221781,389567.04729419947,800120.7569868565,584390.3499965668,828447.6229638457,364611.7628157139,778584.9566286206,674954.7065963745,771794.5102766752,314354.5974101871,655214.4077361226,505260.81917381287,656042.8531653881,314916.7301678657,985971.734546423,661982.6280218363,911550.6998326182,545354.2970496416,1092298.8350738287,869765.154191494,939847.06724751,647247.7864174247,1081914.4396948218,716004.6795419306,905914.149656415,590041.1812919974,1259449.4353570938,938099.0401998758,1002633.042718172,598725.4586476982,1102449.0353164673 +186,Romania,2522800.412109375,1243606.4833984375,1305786.9228515625,1343392.3125,1880412.751953125,1252352.9326171875,1206703.6611328125,1271246.673828125,1499075.16015625,1261180.71875,1085384.6572265625,1360101.3720703125,1467342.568359375,1193795.9638671875,1084266.763671875,983115.408203125,1708891.431640625,1210900.072265625,1071635.935546875,1183998.2763671875,1771200.7978515625,1245817.98046875,1085518.2763671875,1326266.640625,1700051.232421875,1281237.001953125,1091193.408203125,1157367.0361328125,2005997.9921875,1261103.2333984375,1139619.3525390625,1264440.841796875,1057820.375,1237941.3388671875,1352276.564453125,1332044.3994140625,2212062.9921875,1279664.18359375,1645347.84375,1252362.4921875,1499274.392578125,1520376.6298828125,1623552.060546875,1370288.69140625,1450873.392578125,1446018.29296875,1514682.1494140625,1553175.5400390625,2496302.099609375,1603305.53125 +187,Russian Federation,232159777.16992188,132961587.9326172,71966567.67285156,128125928.4326172,153382872.1953125,122770463.31982422,52575029.49609375,129546901.84082033,140688917.43652344,137483198.49560547,61314134.40136719,184835201.2294922,187305102.06054688,154663315.51220703,57331239.77929688,128419035.69042967,154446892.4140625,156735409.55859375,58665586.0756836,152587679.99902344,164159505.4423828,140914669.4946289,59504362.62353516,119785406.12402344,109758374.53222656,133618285.04833984,61940329.11206055,108423616.94140624,162822310.9033203,145108816.9609375,62368294.60400391,139009764.56933594,103038448.24853516,117944445.09033205,79862412.12011719,141228592.4267578,163765377.8828125,128102653.44042967,71200428.37988281,142887186.53564453,189962348.7724609,173594111.01660156,66357624.79296875,180918749.65722656,196847528.53125,126788199.08203124,64789030.57072449,161394941.44628906,200604219.09960935,156810296.0361328 +188,Rwanda,29768.950134277344,50528.77996826172,40275.24987792969,29012.970153808597,21968.430145263672,39019.2294921875,34118.91027832031,38755.8203125,34911.55041503906,68334.9599609375,35187.400329589844,48371.6396484375,34101.63977050781,45218.090393066406,41560.86004638672,61014.68957519531,22269.48974609375,66894.53015136719,33241.689453125,24242.800048828125,34797.72970581055,80337.46044921875,33190.790100097656,48468.46984863281,33993.06024169922,48652.94921875,37347.99987792969,41460.709228515625,20410.629821777344,41496.47943115234,26432.44972229004,46589.09967041016,29870.48999023437,59130.64892578125,45405.51953125,61511.37939453125,37762.10089111328,58475.70983886719,47838.30041503906,69146.64904785156,60002.80084228516,71433.02990722656,51134.80035400391,82482.58825683594,59232.340393066406,88098.52935791016,78828.03051757812,92800.33068847656,54144.739097595215,100155.22033691406 +189,Saba (Neth.),39.11000061035156,46.970001220703125,42.80000305175781,43.64999771118164,33.42000198364258,48.900001525878906,38.23999786376953,40.62000274658203,45.33000183105469,48.0,42.42000198364258,46.76000213623047,42.34999847412109,46.61000061035156,44.38999938964844,47.66999816894531,52.9900016784668,46.44000244140625,36.94000244140625,37.93000030517578,43.38999938964844,45.13999938964844,36.41999816894531,37.43999862670898,31.92999839782715,48.970001220703125,36.310001373291016,38.86000061035156,40.540000915527344,42.400001525878906,32.94000244140625,53.27999877929688,33.150001525878906,51.51000213623047,52.21000289916992,52.7300033569336,42.37999725341797,61.83000183105469,48.36000061035156,55.63999938964844,53.290000915527344,60.98999786376953,46.87999725341797,60.18000030517578,52.52000427246094,73.0,49.48999786376953,59.93000030517578,51.83000183105469,61.2300033569336 +190,"Saint Helena, Ascension and Tristan da Cunha (U.K.)",775.880006313324,1031.8700242042542,661.9299945831299,794.7599811553955,746.5499835014343,974.3099999427797,711.1100225448608,786.0299921035767,839.8500008583068,1044.2299842834473,667.5799956321716,936.5999913215636,682.790020942688,1065.4600114822388,566.5499801635742,749.1899905204773,636.5699973106384,639.2000393867493,442.2299957275391,647.4799973964691,604.659987449646,805.4699692726135,415.0600121021271,814.7799830436707,727.9900069236755,777.4200172424316,512.6900179386139,579.0400171279907,438.090003490448,660.1300311088562,358.12999415397644,581.4499952793121,382.8099845647812,921.2899751663208,639.8700060844421,784.1099934577942,791.1399850845337,876.7099947929382,548.9000186920166,790.1000328063965,777.8500165939331,1017.880003452301,394.5699915885925,830.219988822937,871.289975643158,920.33997297287,663.239996433258,939.1300325393676,912.1300024986268,901.849995613098 +191,Saint Kitts and Nevis,3111.679946899414,3255.8999366760254,2706.4399642944336,2937.599975585937,2894.530097961426,3214.120018005371,2780.989891052246,2720.2000274658203,2912.4100341796875,3327.8299560546875,3052.530075073242,3200.709983825684,3314.430011749268,3352.459899902344,3093.7600021362305,3132.5699157714844,3129.020088195801,3621.409957885742,2993.41011428833,3267.1200218200684,3043.410049438477,3494.1999702453613,3208.1800689697266,3166.0701293945312,3056.0100631713867,3310.189956665039,2813.840099334717,2966.289894104004,3212.410041809082,3431.630123138428,3258.890106201172,3300.7300415039062,2810.060001373291,3123.9000358581543,2967.309959411621,3297.8999633789062,3037.379970550537,3552.239997863769,2950.9400634765625,2905.9200134277344,3561.1399307250977,3518.199996948242,2830.160011291504,3302.81005859375,2783.9200439453125,3932.89998626709,3223.3700065612798,3469.520050048828,3111.539878845215,3523.709922790528 +192,Saint Lucia,7146.089920043945,7105.0201416015625,5672.449920654297,6528.1800537109375,5976.890159606934,6463.219970703125,5863.559997558594,5539.920082092285,5649.34001159668,6272.650024414063,5424.759994506836,6496.379974365234,5571.590118408203,6285.950134277344,6326.880035400391,6041.3099365234375,5378.2101974487305,6481.799774169922,5173.710006713867,5527.54997253418,5806.100028991699,6513.520034790039,5641.440071105957,5878.550064086914,4904.649993896484,5661.500183105469,5046.639907836914,5032.910110473633,5670.730194091797,5779.379989624023,5338.420013427734,5597.309921264648,5256.0299072265625,6348.480102539063,5253.439895629883,5840.080047607422,5365.84001159668,5849.759948730469,5453.079833984375,5597.389923095703,5395.34016418457,6350.069763183594,5245.859924316406,5320.310043334961,5697.380126953125,6756.270095825195,5775.989944458008,5869.299835205078,3731.509994506836,5568.149871826172 +193,Saint Vincent and the Grenadines,2267.7699432373047,2280.5599517822266,1922.909942626953,1969.4100036621091,1780.5499420166016,2067.759994506836,1844.5400390625,1698.770034790039,1631.0700302124023,1969.9099578857424,1762.3600158691406,1895.2999114990237,1577.6699981689453,1926.4099731445312,2040.4200286865237,1949.0700073242188,1514.3899993896484,2121.040023803711,1723.160041809082,1845.4700546264648,1648.4600067138672,2017.3299865722656,1774.8700408935547,2161.300003051758,1505.1099853515625,1971.4500274658203,1661.1500396728516,1750.7799682617188,1726.4899368286133,1717.739974975586,1772.2899780273438,1907.4600524902344,1527.540054321289,2111.039978027344,1748.1499710083008,1888.9400024414065,1330.1199798583984,1842.6499938964844,1721.999969482422,2000.6499786376955,1532.9600067138672,1987.8099365234373,1726.4000396728516,1842.2300872802732,1723.8599472045898,2489.3699951171875,1990.4300079345703,2298.949996948242,1707.0999908447266,2488.2399291992188 +194,Saint-Barthélemy (Fr.),370.5299987792969,328.6700134277344,293.6499938964844,242.94000244140625,353.4100036621094,319.92999267578125,201.72000122070312,228.77999877929688,383.8600158691406,327.6700134277344,282.21002197265625,276.04998779296875,359.0400085449219,342.510009765625,296.3899841308594,245.95001220703125,345.45001220703125,356.3800048828125,255.29998779296875,257.8699951171875,383.25,338.25,291.0800170898437,123.88999938964844,230.8800048828125,242.1199951171875,188.9199981689453,226.69000244140625,365.6400146484375,317.2200012207031,265.7799987792969,270.760009765625,344.57000732421875,282.9700012207031,309.3800048828125,273.3199768066406,332.6500244140625,427.0699768066406,382.33001708984375,276.1400146484375,517.3599853515625,393.3600158691406,325.79998779296875,368.5,361.3699951171875,441.1300048828125,319.5999755859375,334.1099853515625,453.7300109863281,371.91998291015625 +195,Saint-Martin (Fr.),1730.9200439453125,1744.7900390625,1472.6600341796875,1463.590087890625,1677.0899658203125,1636.02001953125,1374.16015625,1505.1400146484375,1617.199951171875,1699.8599853515625,1452.110107421875,1604.800048828125,1832.43017578125,1573.840087890625,1507.4599609375,1609.6300048828125,1758.3800048828125,1723.47998046875,1446.6900634765625,1547.050048828125,1632.1199951171875,1597.050048828125,1544.75,508.6899719238281,754.5899658203125,997.6099853515624,778.5,1018.3400268554688,1227.760009765625,1286.8399658203125,1447.47998046875,1519.0899658203125,1314.909912109375,1386.8399658203125,1287.989990234375,1348.7099609375,1465.079833984375,1772.2401123046875,1591.8099365234375,1559.6900634765625,1586.800048828125,1542.22998046875,1243.199951171875,1543.010009765625,1271.93994140625,1760.1900634765625,1566.929931640625,1638.0400390625,1473.1600341796875,1481.2301025390625 +196,Saint-Pierre-et-Miquelon (Fr.),1111.999969482422,629.6799621582031,741.6699829101562,934.0,1016.6200256347656,712.2999877929688,600.030029296875,798.5099792480469,1522.419921875,900.0,772.4599761962891,847.8600158691406,1042.0299377441406,758.2699890136719,651.9700012207031,653.1000061035156,958.2999572753906,715.1600036621094,802.760009765625,732.3499450683594,622.8100433349609,765.1000061035156,993.7500610351562,743.6199951171875,654.5700073242188,683.8699645996094,319.42000579833984,578.9400024414062,918.0700378417968,572.0200042724609,497.7200012207031,583.77001953125,730.2299957275391,563.3199768066406,605.0599822998047,597.1999816894531,650.9599914550781,454.22998046875,982.7400360107422,596.3499755859375,642.5700378417969,588.2599945068359,974.3600463867188,708.3700103759766,707.02001953125,576.3500366210938,1025.8799285888672,791.489990234375,137.64999771118164,582.5999908447266 +197,Samoa,3516.250244140625,3420.7900390625,2926.039794921875,5072.6298828125,2823.520263671875,3563.1298828125,2535.330078125,4649.6494140625,2788.18994140625,3650.060302734375,2335.39990234375,4551.56982421875,4257.14990234375,4538.79052734375,2861.499755859375,3730.14013671875,2512.41015625,4537.1103515625,1940.760009765625,4528.35009765625,3319.14990234375,4280.9697265625,1925.1697998046875,5010.5205078125,3891.719970703125,4079.969970703125,2498.5703125,3500.880126953125,2564.64013671875,3197.489990234375,2194.159912109375,3628.400146484375,2832.4599609375,4755.56005859375,3101.5,4322.88037109375,4699.7099609375,5860.01953125,3503.880126953125,5515.1298828125,4338.52001953125,5396.4296875,2177.7900390625,5592.080078125,4407.9697265625,6619.2099609375,4105.22998046875,6140.10009765625,5251.91015625,5885.669921875 +198,San Marino,4227.919921875,4490.1298828125,3856.199951171875,3557.77001953125,4541.52001953125,4178.8798828125,3949.330078125,3747.43994140625,4298.0,3946.02978515625,3608.340087890625,3739.380126953125,3883.059814453125,4670.3603515625,3799.0400390625,3946.580078125,5087.13037109375,3870.2099609375,4002.66015625,3584.940185546875,4509.81982421875,4195.02978515625,4079.580078125,4346.02978515625,3644.8798828125,4183.7099609375,3939.14990234375,3106.219970703125,3576.179931640625,4143.18994140625,3830.820068359375,3446.85986328125,4056.820068359375,4343.35986328125,4030.610107421875,3930.639892578125,4399.830078125,4204.27978515625,4150.27978515625,3884.10009765625,4134.5302734375,4271.58984375,4096.47021484375,3996.179931640625,4531.27001953125,4360.47998046875,3887.0,4095.6298828125,3792.60009765625,4284.6904296875 +199,Saudi Arabia,8972325.796875,10129257.96875,9960344.625,11211435.78125,8459236.4921875,10059253.296875,9970289.171875,10537782.609375,8548691.6875,11295466.78125,10972758.875,11636756.9375,9979274.578125,11968998.453125,11645339.65625,11414683.5,9585389.34375,10967255.578125,11254845.0,11714835.21875,10562145.421875,11741857.6875,11242100.890625,13386068.640625,10712160.84375,12157911.046875,11572831.96875,11838530.890625,10293846.546875,11489252.890625,11230707.734375,12078609.5,10075381.65625,12039721.890625,11203588.03125,12750906.53125,11183895.046875,13146061.171875,11933602.734375,12625963.828125,11030729.953125,14034539.5,11526859.203125,12237090.296875,10726048.703125,14321622.0625,12487659.078125,13726225.15625,12044031.125,14713993.453125 +200,Senegal,333262.8439941406,379153.3209228516,261691.45727539065,326035.07751464844,206007.9405517578,321167.5891113281,277804.0310058594,293122.9912109375,225768.20629882807,413270.6396484375,253389.01489257807,345655.26525878906,232196.31536865237,395863.3225097656,335136.58435058594,340709.1032714844,216976.86462402344,373370.9608154297,291089.6928710937,283548.95056152344,247983.3089599609,338256.6339111328,238902.13403320312,462817.7170410156,216977.87139892575,335055.15563964844,324897.1491088867,294127.2551269531,151911.92936706543,295684.7987060547,220370.6915283203,331887.1099853516,146349.88997650146,398081.8237304688,281442.64318847656,413906.7707519531,308380.4013671875,418271.89611816406,402662.8454589844,388005.6536865234,293917.7612915039,442536.5244140625,359337.7119140625,474141.0205078125,354443.3651123047,548673.93359375,426867.0086669922,560066.3743896484,355425.8619995117,559484.6159667969 +201,Serbia,1071321.208984375,640440.87109375,639036.9658203125,650233.4912109375,682095.927734375,679595.7548828125,621848.4775390625,658741.7109375,795411.955078125,690748.8974609375,585698.0673828125,703655.103515625,784558.0771484375,698404.2373046875,614429.9331054688,550399.6137695312,1110285.568359375,671885.0888671875,605422.5078125,683691.4462890625,1052633.142578125,678392.1787109375,656219.4067382812,754235.9609375,724015.0703125,714401.2861328125,570233.8779296875,708230.201171875,1020562.3837890624,784341.5302734375,760555.39453125,733816.236328125,649716.220703125,751257.4111328125,708490.7197265625,715456.50390625,1175564.22265625,748355.61328125,797860.7802734375,701927.3017578125,842137.845703125,839198.7236328125,767591.6904296875,695246.1611328125,606949.82421875,779528.2646484375,733528.2060546875,761116.806640625,1186914.4228515625,832603.0751953125 +202,Seychelles,1794.6400216817856,2010.219982504845,1536.260014116764,1668.0200184583664,1175.24000993371,1891.8999825119968,1252.1399897634983,1559.739993095398,920.5200048051776,1971.429986357689,1359.1600046157837,1657.109992325306,1175.0699932575226,1631.020004183054,1245.9800056517124,1818.5699728131292,1182.800023049116,1776.099990963936,1371.2200102210045,1560.410002708435,1077.0399997234344,1708.5300028324127,1154.550007790327,1569.9100149273872,892.4499977454543,1530.729991734028,1227.1900061368942,1479.6900154054165,939.4099911414088,1509.7399968504906,943.070009291172,1289.7600124180317,990.8799882717432,1586.9300028085709,996.8999960981308,1497.679995238781,1023.1700151264668,1733.039992928505,1089.4599924981594,1556.1800140738487,1293.4900025725365,1627.7700038552284,993.879990197718,1643.8399517536163,1294.829978555441,1945.6600406765936,1491.599980354309,1742.8100120425224,1440.7100045830011,2200.1799760460854 +203,Sierra Leone,120519.43615722656,158694.51684570312,107693.67578125,83641.77917480469,69689.60046386719,97347.1688232422,115208.4307861328,102612.22534179688,66642.87927246094,127915.06030273438,94284.88916015624,112231.61889648438,68455.3486328125,117336.7471923828,112568.0869140625,120800.68920898438,58544.6806640625,140148.408203125,91938.47888183594,84570.64794921875,70953.05908203125,118867.80688476562,84709.52709960938,133600.525390625,73622.95837402344,109977.26000976562,120266.10864257812,105077.18969726562,30075.989868164062,79095.02075195312,62166.40869140625,119521.66650390624,47176.1403503418,119271.30883789062,70406.42004394531,158458.37084960938,88875.73266601562,115594.55395507812,120608.00390625,117421.6904296875,78199.13061523438,118008.0693359375,109173.73901367188,177245.12939453125,81060.26293945312,172612.56884765625,119337.13818359376,106512.11926269533,75328.10131835938,177384.599609375 +204,Singapore,59392.60021972656,20303.370361328125,127365.27014160156,100391.54113769533,60641.25093460083,62529.80979156494,67218.59866333008,72661.00811767578,130980.0106201172,82992.60174560547,126802.21704101562,139578.33361816406,130828.87036132812,133396.48046875,133678.90234375,111736.03997802734,127096.62524414062,132190.88122558594,139280.80029296875,121795.17053222656,8295.910278320312,133020.23754882812,137965.6953125,126667.5576171875,27917.419631958008,135200.2822265625,139489.0887451172,105048.048828125,138491.1387939453,146083.40551757812,136538.41638183594,139670.12915039062,146447.53869628906,141525.79931640625,128034.79907226562,107937.18041992188,27473.56060791016,126716.19982910156,103906.02941894533,116741.1024169922,122923.1397705078,126756.94189453124,123094.98095703124,84272.8427734375,1386.47998046875,108083.36901855467,123402.1707763672,122466.7608642578,427.6699752807617,127519.03088378906 +205,Sint Eustatius (Neth.),214.99002075195312,238.66000366210932,203.67999267578125,183.3000030517578,264.010009765625,276.510009765625,257.7799987792969,298.1600036621094,288.3699951171875,289.9700012207031,267.95001220703125,313.42999267578125,272.8800048828125,298.3399963378906,242.759994506836,304.4800109863281,263.0400085449219,277.1300048828125,206.510009765625,229.1199951171875,246.52999877929688,232.6000061035156,213.009994506836,230.76998901367188,198.19000244140625,202.24002075195312,162.15000915527344,260.91998291015625,230.44998168945312,319.5199890136719,221.8000030517578,269.32000732421875,252.739990234375,261.5,271.09002685546875,326.94000244140625,291.45001220703125,327.5800170898437,302.0899963378906,306.84002685546875,332.0800170898437,284.6300048828125,256.2200012207031,366.7999877929688,297.5599975585937,407.4599914550781,330.3800048828125,374.1600036621094,344.15997314453125,361.66998291015625 +206,Sint Maarten (Neth.),2541.02001953125,2370.830078125,1857.1201171875,1938.050048828125,2314.98974609375,2441.31005859375,1982.219970703125,2050.239990234375,2383.7099609375,2546.669921875,2203.440185546875,2499.0302734375,2680.469970703125,2484.949951171875,2145.889892578125,2374.429931640625,2527.27001953125,2711.330078125,2176.739990234375,2356.7900390625,2506.639892578125,2411.8798828125,2324.070068359375,995.5400390625,1614.969970703125,2266.469970703125,1333.050048828125,2131.989990234375,2343.099853515625,2389.679931640625,2275.050048828125,2519.909912109375,2279.070068359375,2296.219970703125,2208.30029296875,2572.820068359375,2707.530029296875,3007.81005859375,2737.719970703125,2530.9501953125,2990.5400390625,2669.800048828125,2305.380126953125,2935.1201171875,2520.9599609375,3220.56005859375,2902.56005859375,3053.0703125,2583.830078125,2815.16015625 +207,Slovak Republic,565541.2296142578,355696.2319946289,371248.3095092773,332528.4393310547,561582.02734375,339891.6077270508,353564.2592773437,333458.5467529297,278435.9400024414,354218.68017578125,324596.2672729492,366096.70849609375,435239.6106872559,334710.2428588867,331019.51037597656,248592.91079711917,479228.4776611328,340636.71643066406,273370.65032958984,318966.45782470703,577402.5659179688,307684.0672607422,326726.65185546875,340367.05645751953,392040.98986816406,353149.3522338867,332633.90673828125,303442.8017578125,556823.578125,321690.15838623047,323463.82653808594,327595.6694946289,258500.8064880371,292809.5270996094,355997.239440918,300883.524810791,480820.9086914063,334986.1882324219,426055.7685546875,317652.9602661133,435695.6893920898,319860.33685302734,415425.0185546875,288250.03771972656,401851.9291381836,316977.3078613281,393816.31103515625,314992.6290283203,487870.12646484375,331497.4297485352 +208,Slovenia,163763.98099899292,157072.94065093994,147860.54976654053,143635.33028793335,166456.35000228882,144493.00007247925,140695.0807914734,121710.73991775513,146489.0588798523,150578.7194290161,117142.22011756896,149431.58066177368,144240.23804473877,152351.45182037354,127483.80123329164,108668.51879882812,196028.9192352295,142227.33067703247,125154.06982421876,131730.29844665527,180074.3695678711,134419.8205871582,123581.61861228944,149732.70881271362,131772.90922546387,142854.44779205322,114274.83976745604,112994.46002960204,140811.64783477783,133845.18952941897,128668.56943893433,131030.93186569214,104347.72950172424,128725.3689365387,148963.02947998047,120273.57907104492,210939.1091384888,138979.0295200348,158301.5994720459,115945.99837493896,166042.3793258667,146006.89991760254,151286.88123321533,127695.50001144408,192180.9401893616,139533.8286781311,148579.69036102295,124459.92043304443,176735.34940338135,143317.65879058838 +209,Solomon Islands,5588.623046875,29822.232421875,17380.8671875,34227.33984375,18022.966796875,32120.427734375,20028.021484375,21421.197265625,15776.4248046875,7002.6796875,15650.0869140625,41010.99609375,18181.0078125,25974.169921875,22846.33203125,47342.37890625,17052.578125,35204.875,16166.2197265625,22999.21875,14264.224609375,28828.828125,13487.27734375,37705.9453125,13459.5439453125,37830.69140625,21336.369140625,34908.58984375,7497.4521484375,20711.69921875,18625.251953125,27462.271484375,5300.3203125,36005.5859375,18339.259765625,35056.30859375,22970.51171875,38091.5234375,22618.98046875,41247.2578125,23395.908203125,32470.259765625,18253.7265625,36820.3828125,20433.439453125,48663.125,23919.4375,49748.37109375,18513.474609375,38547.8125 +210,Somalia,524281.7367553711,814322.0120239258,864499.4079589844,803836.2045898438,262413.0676269531,868795.3724365234,710383.1297607422,685062.9691162109,365705.2643432617,1111273.2509765625,705035.3065185547,908540.8634033204,518715.9104614258,933519.504638672,774612.1458740234,1087156.0439453125,171325.68780517578,961023.2763671876,553440.951171875,753994.7132568359,339480.8034667969,1240233.5981445312,574592.8986206055,1012192.4672851562,367816.8786621094,944940.625427246,783228.880859375,873732.841796875,41221.72953033447,653278.0450439453,475698.9682006836,767177.3668212891,69137.88841247559,980842.078125,842449.5103759766,975050.3438720704,336626.18994140625,1112345.8193359375,806912.8557128906,956055.2061767578,600463.7583007812,990760.8612060548,661419.5505371094,1136662.9260253906,465968.2890014648,1503779.0473632812,1245722.8386230469,1124843.6298828125,517413.45135498047,1427377.32421875 +211,South Africa,3333156.025390625,4661123.259765625,3544382.9453125,3911894.35546875,3184409.755859375,4091119.435546875,3443054.0546875,4165171.146484375,3550099.62890625,4268598.62109375,3393031.650390625,4865711.130859375,3392742.5234375,4207677.90625,2885922.3173828125,3547850.11328125,3178855.283203125,3781086.921875,3049997.5498046875,3491333.37890625,2845390.396484375,3677166.697265625,2894668.1484375,3812512.333984375,3162987.185546875,3635412.5546875,2686652.389648437,3251235.927734375,2454241.55859375,3303612.22265625,2980219.19921875,3467969.376953125,2101249.623535156,3758649.89453125,3377545.6640625,3771593.951171875,3027557.255859375,4085166.85546875,3403153.435546875,3712604.818359375,3372983.521484375,4000274.173828125,2655429.244140625,3951099.94921875,3513379.630859375,3976828.744140625,3413711.166015625,4452959.5859375,3652484.470703125,4442505.619140625 +212,South Georgia and the South Sandwich Islands (U.K.),9296.64013671875,18467.98962402344,9483.488830566406,11291.00927734375,25273.162353515625,11931.399658203123,6896.130432128906,11503.120849609377,20270.285095214844,14402.949951171877,10046.819274902344,10319.919921875,16070.600341796877,16609.398803710938,6084.060211181641,8146.199768066406,33125.152587890625,10219.90869140625,6033.0001220703125,8356.570434570312,26810.372497558597,9618.990783691406,4279.909393310547,10172.001037597656,28997.54345703125,12000.211547851562,4333.419555664063,7864.900329589844,38379.61987304688,11657.509948730469,6357.27099609375,4016.719757080078,7515.71875,9990.790466308594,5455.909515380859,7123.569030761719,27727.47204589844,12201.81982421875,6951.400695800781,7508.789306640625,29969.05053710937,16425.60986328125,4971.929504394531,5904.900329589844,28189.14794921875,10547.111640930176,7594.078857421875,8621.809692382812,37384.2451171875,9728.430389404297 +213,South Sudan,1964188.4853515625,1030454.1188964844,669060.5327148438,758046.0261230469,1322473.171142578,998536.9045410156,384922.6645507813,715682.1552734375,1865179.8725585935,1021785.9787597656,423963.5864257813,815104.7307128906,1506612.8681640625,887309.8940429688,634188.2075195312,1120780.2014160156,1521172.774169922,725130.1131591797,404331.9973754883,641089.8431396484,1042565.7995605468,1065713.5676269531,393957.31854248047,936627.6826171876,903224.8425292968,750743.0480957031,609436.5057373047,644432.7073974609,588560.1176757812,582888.6928710938,310653.154296875,645766.1059570312,650976.6087646484,920275.6721191406,599868.6492919922,990975.9104003906,851644.1553955078,1061913.1657714844,609440.6721191406,907058.020263672,1146785.8073730469,958682.9675292968,440031.67041015625,941041.954711914,941348.7658691406,1307901.302734375,853621.9201660156,964372.8811035156,1615377.5395507812,1383311.775390625 +214,Sovereign Base Areas of Akrotiri and Dhekelia (U.K.),4175.56005859375,5264.9697265625,4558.76025390625,5013.16015625,4271.240234375,4292.31982421875,4782.62060546875,5561.39990234375,4559.3896484375,4789.77001953125,4465.2099609375,4991.58984375,4492.580078125,4894.6201171875,5050.5400390625,5117.27978515625,4282.73046875,5004.10009765625,5109.2900390625,5538.8798828125,4798.509765625,5199.93994140625,5451.76025390625,5488.8798828125,4320.09033203125,5554.349609375,5437.91015625,5636.06005859375,4224.2099609375,4841.009765625,4870.47998046875,4923.15966796875,3981.709716796875,4666.31982421875,4638.419921875,4485.919921875,3951.5302734375,4287.7197265625,4551.99951171875,4693.35009765625,3858.4599609375,4445.9599609375,4398.6201171875,4336.27001953125,4108.39990234375,4693.6103515625,4607.43994140625,4366.7099609375,4365.73974609375,4496.1201171875 +215,Spain,6058734.0986328125,5546847.405029297,5698700.02734375,5759192.828125,5079480.5673828125,5609850.8115234375,5037060.035644531,5388733.213134766,4892767.7666015625,5324086.729980469,4796746.400878906,5784706.237304688,5312285.301269531,5262853.340087891,4664815.182617188,4916584.1796875,4909596.983154297,4951793.885498047,4477477.567871094,5139581.526855469,4994381.090332031,5169440.117431641,4681149.541503906,5370697.021728516,4805314.2470703125,4704011.2578125,4555293.536621094,4562798.791259766,4895546.457275391,4823787.049072266,4492590.922363281,4890902.078857422,4060940.096313477,4311156.171386719,5044257.564697266,4773670.5205078125,6179738.657958984,4635234.591796875,5020194.433349609,4908256.691894531,5015500.322021484,5038008.593994141,4864380.134765625,4759105.87902832,5276259.126953125,5190328.726806641,5064560.571289063,5276675.118530273,5316777.0380859375,5378483.312011719 +216,Sri Lanka,125876.72082519533,176223.7684326172,136934.09002685547,89650.33016967773,103775.77893066406,181057.56982421875,124666.67986297607,166867.9080810547,108548.54125976562,180978.9326171875,165914.15856933594,159281.59936523438,121065.13098144533,187761.8876953125,194462.58276367188,175044.611328125,110665.240234375,201749.11596679688,197274.70043945312,189606.3103027344,134167.53735351562,213618.33837890625,129493.86730957033,166140.37915039062,111110.94006347656,191720.31982421875,107918.21138000488,174736.34912109375,105871.47778320312,192290.61791992188,166723.2703857422,151856.56982421875,113515.22094726562,215635.05712890625,158777.97094726562,207964.39013671875,133842.9276123047,234881.07006835935,233815.24536132807,201819.6474609375,167589.27026367188,234350.7734375,193906.47290039065,199562.5283203125,148623.78735351562,253914.728515625,217134.18872070312,157860.32885742188,141901.73852539062,253084.34130859372 +217,Sudan,2142925.4887695312,3807544.2377929688,2174284.34246254,2842088.8540039062,1539685.1752319336,3017913.328491211,1721130.8962402344,2791165.4338378906,1470406.5396728516,3590723.3178710938,1685596.181213379,3116731.598876953,1985926.7817382808,3619909.677001953,2145191.913085937,2545422.3056640625,1046963.3175048828,2363604.2799072266,1498858.0357666016,2493670.3049316406,1297596.6772460938,3103644.686767578,1524768.039428711,3313834.830078125,1186608.9692382812,2605652.9001464844,1786092.4318847656,2372221.2915039062,717603.0621032715,2101886.1904296875,1251898.5451049805,2037430.8979492188,702797.0000457764,3311092.164550781,2175732.060180664,2740606.146972656,1531216.7184448242,3357779.303222656,2466015.009033203,2939018.6909179688,2108057.153198242,3482671.0009765625,1864972.83972168,3086956.8322753906,2154527.266845703,4397306.044433594,2498876.508300781,3626009.981689453,2160033.795410156,3893925.490478516 +218,Suriname,143175.06796646118,233454.65644836423,113481.75762939452,206169.4169006348,130993.21994018556,229725.79248046875,167969.56909179688,185945.7751464844,145112.9104309082,305982.3782043457,127337.35949707033,195259.82791137692,135075.1402130127,250646.5993347168,217390.3320617676,261039.5369567871,104803.1635131836,237395.02938842773,133786.369140625,179209.443359375,92510.0181503296,306973.2590637207,133038.40577697754,231624.71528625488,121615.88389587402,314273.48860168457,211935.3971710205,182015.1943359375,55176.13919830322,154564.96186828613,128231.87126159668,174225.96409606934,64091.48983764648,299212.5655822754,191472.60791015625,231227.2803955078,122830.43074035645,289759.2367858887,188204.98614501956,282801.68438720703,154775.96725463867,250663.48429870603,192565.88706970212,300662.52838134766,155509.98085021973,334602.73876953125,191693.7087249756,232384.25958251956,182642.88162231445,341125.94494628906 +219,Svalbard and Jan Mayen Islands (Nor.),13143.59765625,0.0,0.0,10202.6591796875,10290.3095703125,7274.22021484375,0.0,5940.779296875,7463.41943359375,5244.2890625,0.0,6578.87060546875,14066.734375,0.0,0.0,6177.18017578125,11315.599609375,10690.0908203125,0.0,6688.8291015625,12612.611328125,410.6000061035156,0.0,5761.9013671875,11768.271484375,3943.379638671875,0.0,6027.63134765625,8577.3798828125,680.1499633789062,0.0,4858.91943359375,8537.298828125,0.0,0.0,7870.900390625,7520.38916015625,9193.1904296875,0.0,6624.60107421875,8603.66015625,4100.55029296875,0.0,7924.77978515625,9966.8720703125,0.0,0.0,3038.2294921875,6491.21826171875,445.8100280761719 +220,Swaziland,48242.679443359375,54861.15036010742,52709.2109375,78519.85195922852,42121.17030334473,50989.82925415039,39536.23049926758,58800.13009643555,42918.589920043945,53556.340423583984,49099.540130615234,71067.1089477539,36053.61994934082,52578.41000366211,49857.86996459961,62101.88973999024,41691.12965393066,54307.65930175781,44462.78987121582,46481.079528808594,36720.98037719727,52923.52951049805,40888.91957092285,56428.48028564453,39585.85002136231,46696.33981323242,33110.470207214355,36331.97052001953,29816.500122070312,41257.80969238281,60823.75975036621,41587.93957519531,27482.899940490723,47445.10005187988,48091.05058288574,53268.97967529297,38087.85986328125,60659.71026611328,49075.58996582031,47750.39974975586,40906.63975524902,53153.13079833984,39332.689208984375,63379.40914916992,55321.91998291016,61799.9599609375,55522.30990600586,75034.52014160156,48920.14994812012,74523.04940795898 +221,Sweden,8250315.022155762,8419186.932739258,2530852.3686676025,3958042.048339844,6629640.348266602,3981355.778686523,851140.7326049805,3577810.3998413086,3769144.407775879,4458141.279296875,2645118.0132255554,4421639.859924316,8476312.432861328,6134769.824951172,1120002.9031848907,3431852.435546875,7627669.810058594,5633571.846435547,1753364.0015821457,4285143.987976074,5061514.897827148,4378160.910095215,2917622.903778076,3382618.236755371,5219384.912597656,5050287.8982543945,1806791.5661010745,3137447.727722168,5831820.985229492,4076821.105834961,1617884.8379936218,3401022.071899414,3365919.0337524414,4998440.440307617,2516145.139190674,4289238.923095703,6794993.169189453,4479287.5322265625,1621534.9630126953,4297762.341186523,6492943.891296387,5180025.658508301,1591159.8872680664,4551757.832458496,5049376.005096436,4912185.965148926,1212160.5873260498,5589228.190246582,8601514.3878479,4619640.890014648 +222,Switzerland,339856.8956298828,399455.9001464844,375489.3346557617,395323.9997558594,516568.2482910156,353798.9356689453,380905.62658691406,284505.994140625,403233.614440918,394481.6224365234,335705.45330810547,403911.5348510742,501333.0941162109,419202.79217529297,355192.51654052734,321700.41510009766,524229.4620361328,380740.9970703125,374075.4927978516,369880.0682373047,550568.0961303711,414882.59869384766,351545.5408935547,374082.6190185547,321908.6039428711,411228.7214355469,351956.9272460937,331099.78771972656,386992.92736816406,362093.2581787109,367598.53515625,315599.5959472656,285701.68560791016,353332.2117919922,376451.9336547852,315484.704284668,554444.1575927734,384045.5358276367,373238.3720092773,298853.3662109375,390860.5904541016,357490.4387207031,390151.93603515625,308049.0023803711,507907.9764404297,312824.65045166016,348989.1882324219,311904.0124511719,404330.7651367188,362286.0350341797 +223,Syrian Arab Republic,868878.3648681641,1146281.1748046875,1055317.1364746094,1207357.9376831057,605507.9948120117,705529.8360595703,711714.5300292969,848715.778137207,460308.1567077637,806483.7057495117,584612.2928771973,690299.4056091309,424524.9736633301,575500.6455688477,525086.8454284668,600499.5650939941,394932.6571960449,481985.03045654297,506616.5497741699,784279.7425231934,610248.3903427124,955258.4903411864,629890.3192443848,763720.2493896484,420718.7421264648,524751.8478240967,595954.3799133301,663167.4258422852,445432.0210876465,532874.4349975586,641671.4705810547,778806.4847106934,334481.223526001,614804.0122680664,680447.6315307617,748380.4035339355,548343.3688659668,554344.1283874512,740064.8050537109,756935.012802124,611271.6635894775,706404.0746154785,699255.9500274658,684774.3706054688,642724.3854064941,675231.3102722168,727901.7549591064,777726.6825866699,667753.7281799316,748611.6059875488 +224,São Tomé and Príncipe,1845.029922485352,2441.190078735352,2245.2399291992188,2186.489959716797,1607.5199127197266,2440.790069580078,1954.969970703125,2345.0199432373047,1964.9601745605469,3978.6099853515625,2062.9100341796875,2770.569808959961,2321.860076904297,2746.339904785156,2154.320022583008,3529.219665527344,1925.500099182129,3554.459716796875,2158.089889526367,2900.9898681640625,2009.939971923828,4008.1798400878906,2207.3499298095703,3757.050384521485,2329.46989440918,3475.379821777344,2140.009994506836,3152.4698181152344,1338.5500030517578,3062.5599060058594,1722.269905090332,2653.2200775146484,1275.5999488830566,3212.8700256347656,2718.0398559570312,3748.109893798828,2423.410049438477,3355.7099609375,2438.1900939941406,3482.050201416016,2573.590148925781,3414.52001953125,2109.689971923828,3787.970031738281,2321.5,4783.010162353516,2334.909942626953,4154.210113525391,2585.4800415039062,3958.749877929688 +225,Tajikistan,529020.799987793,445098.5798339844,381024.9024658203,471052.4354248047,391307.33514404297,409610.333984375,274180.52001953125,476600.89453125,346239.16009521484,322774.0412597656,226573.85345458984,471587.8293457031,403716.0358276367,407392.6691894531,267123.5871582031,314404.58642578125,299214.63525390625,315823.044921875,225786.02435302731,416845.4174194336,467062.3201293945,290646.0376586914,310804.7204589844,475610.0007324219,309817.9105834961,285087.72399902344,297395.865234375,388403.7482910156,391482.7795410156,314053.7476196289,268718.68182373047,431950.89599609375,303999.79681396484,337140.3958129883,414838.6950683594,414799.3074951172,373643.24627685547,353314.38220214844,445959.8721923828,469040.66955566406,479081.4815673828,457912.560546875,390830.48303222656,426051.8059082031,654633.1882324219,423974.9971923828,513615.8708496094,472708.0458984375,495623.7978515625,406905.2876586914 +226,Tanzania,848932.6912307739,1847354.1981687543,1229258.6348266602,1375961.6414794922,822532.2436676025,1417387.141418457,1014163.203277588,1213294.217254639,1170922.5806884766,1778920.014892578,844758.8180541992,1481048.5624389648,1086642.5328063965,1226205.4866027832,1017789.7954559326,1797131.8908996582,664972.6334114075,1621896.1732177734,818714.1692657471,1233003.107879639,815976.5686798096,1761979.1364135742,724134.2098693848,1422216.9731445312,872767.1371154785,1256977.9787826538,798266.243850708,1327395.8954162598,362682.7794723511,1055472.6762237549,594218.6357421875,1098399.3700256348,489525.44910144806,1680629.8598327637,1232174.0023498535,1563695.862365723,978328.8026123048,1759516.3817443848,1138141.705657959,1558730.5321044922,1068472.683746338,1691703.8446044922,794012.0242614746,2080241.601013184,1117429.9186706543,2180133.3673095703,1551318.3395080566,1800081.221282959,775846.0660171509,2083471.657775879 +227,Thailand,1611685.947522521,1918884.3003798723,334967.66995057464,1661844.516092658,1797718.914783001,2502759.899715424,336092.8587245047,1940943.2184519768,1819018.4265573025,2352655.1346488,1707773.7341887504,2269495.0257959366,1964933.7031433585,2845403.895879745,1552449.6883693335,2210962.368578911,1928247.503496766,2639338.6660745144,827784.7634910643,1595215.14533782,1968130.4488464596,2735614.4141139984,1847487.5926824808,2417970.758712769,1906056.8244609835,2912379.7701022625,888494.009501934,2316017.9234838486,1977417.824563593,2713498.329725265,1596064.190878734,2494584.535818577,2262850.404841006,2977967.651339054,2199474.0151770115,2207353.803791285,2711025.499649048,3262823.741783619,2322869.8981921677,2182046.6790099144,3025693.784935236,3208969.2307624817,2127298.8703772426,2609551.521329522,3208615.596951008,3776894.307105064,1325545.8048056662,3261870.4132778645,3397591.058437586,3967144.204184532 +228,The Bahamas,49048.73046875,65175.7421875,47186.16015625,47960.15234375,43755.765625,58222.02734375,47725.1015625,52995.09375,44890.875,61976.5859375,43536.16015625,60505.98828125,45078.5546875,64681.59375,45991.0546875,48565.30078125,40146.24609375,52018.35546875,40820.16015625,38128.66796875,37704.9296875,52190.8671875,39671.90625,49819.6171875,33352.44140625,46318.1328125,39615.2578125,44645.5546875,33625.26953125,44049.97265625,35498.99609375,41614.48046875,26581.96875,48199.15625,38554.3046875,38119.51171875,36575.27734375,48102.02734375,43476.45703125,45992.16796875,42563.6640625,56253.55859375,40909.859375,51927.40234375,46639.07421875,62537.359375,48995.58984375,53386.0703125,47940.56640625,60377.95703125 +229,The Gambia,26594.65983390808,24400.44972229004,15619.689995765686,19692.429895401,13595.949898719788,23219.75980758667,16948.829944610596,16875.949955940247,13456.26003074646,29144.7600440979,15332.060037612917,18985.68938446045,12736.970103263857,21714.42968940735,20415.14970397949,18684.02980041504,11415.610054969788,26254.449981689453,17023.51011657715,15850.379886627195,15132.899931430817,20416.30952835083,14048.180145263672,23372.03057861328,14192.290202140808,21827.689769744877,18020.149894714355,18258.43978881836,8076.349974632263,18153.199882507324,13394.049926757812,18544.1999874115,9172.270103216171,24819.6097946167,18646.409748077396,22866.53979873657,21254.640391349792,25381.1395111084,23344.920335769653,23038.619522094727,18290.70991706848,27705.19972229004,20987.2400932312,28098.8406124115,24588.259895324707,43136.52006912232,26263.109832763672,29496.10006904602,25448.67063522339,41095.059478759766 +230,The Netherlands,2142871.51953125,2114566.859375,1451098.0,2173996.435546875,2246240.34375,1968313.2734375,1518451.14453125,2263920.611328125,2230515.142578125,2027196.62109375,1547259.4609375,2098364.20703125,2380768.09375,2014598.890625,1408592.30078125,1833313.298828125,2044501.05859375,2215476.591796875,1506348.00390625,2126449.126953125,1911543.25390625,1991573.51953125,1589240.41015625,2051800.970703125,1717610.205078125,2064555.57421875,1512005.73046875,2107651.05859375,1795685.642578125,1738657.8203125,1553675.359375,1738480.451171875,1499830.693359375,1504942.853515625,1696218.19140625,1861313.42578125,1614941.30078125,1558975.142578125,1654936.92578125,1520337.453125,1766749.15234375,1248135.2265625,1216098.62890625,1223096.83984375,1042457.603515625,1203327.572265625,1214467.7890625,1324045.90234375,1555702.8828125,1177131.330078125 +231,Timor-Leste,22952.0396938324,29671.42985534668,14640.749797821043,22739.800128936768,4743.739999204874,26280.24977874756,18793.369941711426,24306.92007446289,18124.23985004425,30911.25983428955,14429.130323410034,26855.960151672363,22914.939880371094,23115.379776000977,19463.840259552,26780.16974639893,18719.98038864136,28451.949798583984,17444.060012817383,22357.79021453857,4644.579975366592,27594.14958953857,11536.8100566864,25625.149742126465,4159.270010918379,28985.539764404297,22066.039993286133,20671.360061645508,11197.979948043823,19471.98012542725,13448.460090637209,23752.069862365723,10454.799926757812,30846.509635925293,18544.55010986328,23057.41000366211,21705.6300201416,30444.210021972656,19023.17002105713,26786.939750671387,22152.559886932373,27151.519340515137,12671.340072631836,21947.26001358032,19782.38004684448,31186.11009979248,22756.13993835449,30976.840057373047,12423.239998042583,32765.970390319824 +232,Togo,81176.3017578125,130390.13928222656,73596.70025634766,76868.69900512695,77807.13958740234,80643.40017700195,67690.8724975586,85126.85037231445,91972.5711669922,97825.6986694336,70855.75067138672,79113.84973144531,82325.68978881836,103462.00592041016,78288.81201171875,95914.13970947266,107352.05139160156,92865.6098022461,71696.11148071289,92809.47821044922,89808.16064453125,115350.8286743164,59434.81121826172,132431.90252685547,83402.42877197266,97979.22784423828,89043.46102905273,109628.4810180664,63388.330711364746,73406.26992797852,44103.790267944336,100564.91040039062,80111.65939331055,107816.90966796876,75834.4211730957,122733.1180419922,114840.87268066406,115894.5889892578,96387.62176513672,129305.228515625,122520.00982666016,136584.61029052734,63248.469787597656,151321.90869140625,110705.56030273438,147658.6798095703,113053.56072998048,145746.78057861328,137475.193359375,156152.8585205078 +233,Tokelau (N.Z.),27.25,26.190000534057617,13.6899995803833,21.38999938964844,6.279999732971191,19.709999084472656,11.940000534057615,19.729999542236328,23.759998321533203,22.30000114440918,12.260000228881836,21.32000160217285,12.25,21.989999771118164,13.129999160766602,18.290000915527344,13.199999809265137,20.380001068115234,10.18000030517578,18.299999237060547,11.649999618530272,27.639997482299805,4.670000076293945,22.520000457763672,15.459999084472656,21.40999984741211,9.15999984741211,13.059999465942385,8.880000114440918,14.189998626708984,4.850000381469727,11.019999504089355,2.3600001335144043,24.309999465942383,12.18000030517578,22.780000686645508,22.86000061035156,27.36000061035156,12.199999809265137,27.46999931335449,18.80000114440918,23.76000022888184,5.840000152587891,24.229999542236328,18.57999992370605,36.18000030517578,13.579999923706056,25.920000076293945,18.700000762939453,28.779998779296875 +234,Tonga,1199.35986328125,1756.2498779296875,1479.8201904296875,1866.22998046875,1567.0802001953125,1699.4300537109375,1355.9798583984375,1918.5299072265625,1653.1500244140625,1431.6400146484375,1487.3499755859375,1537.679931640625,1756.72998046875,1819.68994140625,1285.56982421875,1578.72998046875,1724.7899169921875,1557.9100341796875,1053.8699951171875,1598.2799072265625,1597.210205078125,1716.10009765625,1404.9698486328125,2046.830078125,1651.760009765625,1573.4798583984375,1252.3798828125,1543.599853515625,1466.199951171875,1667.360107421875,1267.130126953125,1761.4000244140625,1395.369873046875,2226.909912109375,1811.35009765625,1766.5198974609375,2092.929931640625,3298.22021484375,2784.7001953125,3213.369873046875,2106.14990234375,2251.56982421875,1542.3800048828125,2130.7099609375,2236.81982421875,2447.489990234375,1999.3402099609373,2477.190185546875,1181.389892578125,2089.040283203125 +235,Trinidad and Tobago,152027.81103515625,164804.43603515625,168536.4775390625,149309.40698242188,139053.3623046875,170622.7685546875,148889.75170898438,147306.9569091797,148979.7626953125,145471.39038085938,148721.7919921875,155020.00659179688,149605.2471923828,154409.29052734375,146723.63208007812,149867.89624023438,141323.81103515625,157856.89819335938,144427.23120117188,141741.09912109375,135597.41040039062,152287.37963867188,139597.37036132812,143735.58935546875,127634.390625,141148.3818359375,139094.90869140625,142980.6580810547,141707.22827148438,154535.65014648438,147055.30981445312,145628.642578125,141188.08959960938,152829.83984375,141625.11206054688,151939.2392578125,120496.73681640624,156900.7119140625,141012.73876953125,140298.25024414062,146027.7294921875,151896.53686523438,143764.48999023438,146677.09033203125,140761.5390625,169060.0078125,155558.7001953125,158986.0703125,150356.03344726562,166357.78930664062 +236,Tunisia,654699.1192626953,738050.4098510742,753856.7958068848,747165.6213378906,690523.6510009766,688015.7363891602,715571.7514038086,774942.7288513184,668313.8743896484,753833.9101257324,723969.4479675293,845349.5467224121,711812.2888183594,753369.9094543457,754907.6953735352,712301.1002197266,795983.600982666,687916.1695556641,702900.1815490723,736026.0842895508,755754.958190918,706912.8782348633,708490.1244812012,901501.1307983398,831025.5234680176,707671.3768920898,767877.1126098633,783198.0476989746,638982.701751709,772957.7812805176,754064.6499023438,869754.3450317383,682560.8022003174,799682.8544921875,854675.8701782227,815018.4606628418,862214.7202453613,786372.8263549805,893281.7215576172,859645.4036865234,824849.0094909668,962211.7618408204,864739.6708984375,975368.9248046876,944612.934173584,992972.2939453124,924889.0076293944,1079738.9865112305,1121703.120727539,1011095.6256713868 +237,Turkey,6463643.283408642,4638913.319242477,4511076.657109737,5173637.649960995,5749596.596514225,4478333.787920237,4412721.320792913,5399477.503082514,4287542.002916694,4792922.831274986,4427680.87623024,5379083.164668083,5557831.605581403,5186842.061350346,4761589.362006068,4798193.864771366,5582957.97668767,5143098.97960186,4747354.921004534,5718631.099448681,7494505.197145224,5711307.292269826,5679352.16565764,6590769.898231506,5505241.866018057,5760828.870782971,5919598.902290821,5805160.18211484,7052322.94537437,5911482.26545012,5959230.134900212,6920265.363420486,6812139.125526667,6409479.056526303,6874508.259021759,6751944.773754597,9015192.92407751,6368934.813086271,7237157.374571085,6902978.463542461,9151649.888099909,7480276.331279278,7190356.625946522,7435291.388278961,7525831.801781654,7280455.72530365,7909944.494273901,7886603.05425787,8475220.350067377,7921473.064367294 +238,Turkmenistan,2181133.03125,1831758.5,1897745.4375,2463981.78125,1724249.0625,1855036.40625,1621179.5078125,2136468.9375,1600687.703125,2170989.078125,1240178.6328125,2158416.5625,1560376.546875,1768337.015625,1393047.1796875,1755291.9375,1484038.09375,1424448.25,1199979.4453125,2033989.1875,1899631.171875,1520521.5,1532589.984375,2227470.984375,1427400.78125,1566204.453125,1457817.6015625,1616210.046875,1292971.015625,1466548.203125,1305948.4453125,2046426.328125,1237571.234375,1386135.203125,1866457.8125,1932502.65625,1732571.484375,1410749.9375,1700224.78125,1761957.234375,1718625.90625,1780870.125,1507389.3125,1674716.671875,1971414.78125,1719253.25,1857880.140625,1956674.0625,2176071.8125,1754134.234375 +239,Turks and Caicos Islands (U.K.),3866.190048217773,4407.889842987061,3492.57963180542,3409.9499549865723,3653.1200523376474,4070.340202331543,3431.440078735352,3750.129985809326,3843.5500869750977,4111.88981628418,3383.879997253418,3753.700244903565,3350.010025024414,4192.310031890869,3546.669891357422,3601.6299591064453,3754.779838562012,3946.720050811768,3533.0398139953613,3770.4599800109854,3944.5797576904297,4415.719799041748,3592.8598861694336,2829.430075645447,2748.700057029724,4195.059946060181,3183.6001234054565,3877.129859924317,3603.720014572144,3786.3097076416016,3841.9901638031006,4363.65018081665,3757.029987335205,4524.909931182861,4284.15002822876,4260.980220794678,4453.040107727051,4708.929929733276,4610.050163269043,4736.22003364563,4987.599906921387,5423.7999057769775,4918.980070114136,4722.339963912964,5099.939794540405,5856.219707489014,4831.390199661255,5126.690149307251,5136.749977111816,5320.42001914978 +240,Tuvalu,39.42000579833984,40.93000030517578,23.739999771118164,36.02999877929688,16.670000076293945,39.060001373291016,27.889997482299805,42.81999588012695,26.770000457763672,32.95000076293945,23.799999237060547,48.21999740600586,45.93000030517578,39.25,27.910001754760746,47.19000244140625,24.959997177124023,44.040000915527344,17.93000030517578,42.8800048828125,34.21000289916992,30.32000160217285,10.049999237060549,53.1099967956543,26.6200008392334,58.560001373291016,26.209997177124023,45.2599983215332,65.5199966430664,39.22999954223633,20.1299991607666,42.2400016784668,16.220001220703125,48.95000076293945,33.790000915527344,44.790000915527344,36.29000473022461,48.040000915527344,29.03999900817871,58.61000061035156,37.54999923706055,40.88999938964844,11.649999618530272,46.18000411987305,34.61000061035156,61.400001525878906,34.80999755859375,53.77999877929688,50.21000289916992,58.96999740600586 +241,Uganda,582602.1759386063,338845.5369987488,317032.9980626106,257717.6297016144,219710.15114331245,315318.43878030777,250835.3538761139,262114.98227745292,313994.1927318573,509145.9052410126,208138.26138305664,358464.68717861176,437258.1143360138,237805.2628326416,277104.1263771057,442957.0896873474,193626.38135051727,418460.796831131,232387.3721857071,242020.4919624329,416623.0605602264,558741.2461891174,221988.29103660583,363275.4149169922,370833.2481803894,277068.80061912537,279807.78551864624,295926.4220638275,185150.2383594513,263993.5209465027,145780.33059692383,271734.60301685333,155753.30871009827,343795.177904129,341190.14967536926,420952.2836875916,256386.76026153564,382784.1090431213,309480.3839559555,482126.8591918945,388294.7560882568,412940.3487815857,217393.78970718384,535682.8945846558,354759.62941741943,556900.9378223419,480412.07415390015,414418.20868110657,320008.7410583496,520208.8506546021 +242,Ukraine,5406051.4375,2885365.73828125,2895442.18359375,2858652.14453125,3930172.6875,2624764.37109375,2958966.73046875,2754537.21484375,3248684.0,2716202.87109375,2636809.74609375,3231399.02734375,3421646.181640625,2376559.05078125,2301279.57421875,2193226.802734375,4532932.7890625,2425536.244140625,2309704.095703125,2467091.12109375,3605075.7578125,2468825.7734375,2192415.974609375,2848878.84375,3603439.23828125,2625461.18359375,2467416.13671875,2278723.96875,4202899.6953125,2663237.25,2526271.869140625,2503958.271484375,1763584.419921875,1735300.017578125,3280381.41796875,2822704.740234375,5126452.45703125,2340377.783203125,3689929.078125,2581140.427734375,3802766.49609375,1619138.99609375,2879844.16015625,1933141.7265625,2582551.236328125,1749541.869140625,2744358.8125,2176750.408203125,4043183.15625,2292039.865234375 +243,United Arab Emirates,1467039.4597167969,1453985.4576721191,1530354.088256836,1556883.6498413086,1587259.3828735352,1598333.1348266602,1532271.1115112305,1618938.692138672,1658470.385803223,1656568.0645751953,1577198.456604004,1663700.4760742188,1621859.1557922363,1886459.295166016,1641217.0417175293,1632353.8375549316,1529628.6624450684,1660993.1893920898,1522071.2159423828,1582964.093383789,1521730.192138672,1589897.7444458008,1519758.8916015625,1704566.602935791,1614955.5823364258,1702733.2142333984,1603067.6196289062,1685602.3432006836,1688554.5377807615,1675975.5262756348,1649436.4727172852,1760728.0004882812,1680009.6877441406,1795841.1785888672,1698640.1525268557,1924228.9089355469,1942760.9592895508,1997559.56640625,1758818.776977539,1940132.8150634768,1858354.9934082031,2226024.2990722656,1711206.3883666992,1988354.3411865237,1762594.8669433594,2363987.541748047,1847991.484680176,2056314.431152344,2171432.580810547,2424377.398803711 +244,United Kingdom,4424153.7724609375,4874502.174316406,5741168.058746338,4195078.036865234,4660756.713867188,4667182.097290039,5916237.037887573,4057862.2412109375,4060366.280151367,4366589.768676758,5764416.073364258,4395121.486328125,5043886.727294922,4741663.719360352,4819730.828613281,3890392.262451172,4338428.565917969,4108359.935791016,4954232.098245621,3917485.990844727,3416879.827392578,3964689.912353516,4504301.974121094,3692427.243286133,3322917.2498779297,3508417.5053710938,4776305.7158203125,3436577.006958008,3234956.5053710938,3752436.033569336,4772050.826171875,3402530.1641845703,2501626.824279785,3302206.532348633,4965643.2626953125,3085257.8221435547,3700057.6799316406,3685340.2619628906,4963837.627929688,3136705.584960937,3654101.4931640634,3610280.507202149,5219005.679199219,3398000.618286133,3726085.427001953,3114596.447998047,4320119.131713867,3733968.420410156,3816975.885192871,3516230.6977539062 +245,United States Virgin Islands (U.S.),10139.579345703123,10852.52944946289,9374.150390625,5994.6998291015625,9587.460388183594,10792.720458984377,9425.550231933594,9259.12045288086,10116.130004882812,11045.389678955078,10230.309814453123,10428.950073242188,9888.540008544922,10065.449768066406,10069.06967163086,9898.770263671877,10048.009582519531,10095.620056152344,9706.939514160156,9625.209777832031,9455.180419921877,10289.400573730469,8794.829956054688,2373.869888305664,4916.040145874023,6740.889556884766,7346.689743041992,7691.510101318359,7874.950210571289,9563.01043701172,8550.9599609375,8715.629486083984,6930.739654541016,9243.529815673828,8971.45004272461,8870.649963378906,9804.050567626951,10212.4404296875,9045.98974609375,8267.85971069336,9599.490203857422,9081.990142822266,9034.549987792969,9239.040100097656,7981.22021484375,10548.22998046875,8940.680053710938,8928.480163574219,8263.450408935547,8610.369995117188 +246,United States of America,96403209.6153946,83077667.14131927,60638723.01145172,85986598.30173492,83719542.68879128,78276090.53865051,54113029.483795166,77249097.46705627,106264380.26069832,81262846.18531036,54867572.41460419,89985881.03699493,94974793.87835312,91359040.83130646,53736799.51713562,73773514.92613983,95639524.6223011,76013193.91479874,50693923.7947731,79472231.90243149,84214378.55451965,87076903.18930817,52598028.26984024,83447889.7129898,87438323.43223763,76765069.72903442,54956291.57920837,68984365.75920486,78231895.31871986,76309309.57089996,52879657.91256714,74297047.09571075,71495419.91010022,77522627.2532196,58591067.94861221,70831634.32238007,83013226.80851746,72886792.44567108,58965787.48966217,77134956.07310867,104958878.15408324,82397662.00793457,60845863.29193115,89042164.48400116,103551078.83776093,85760667.25513458,65108134.55287933,89023880.01808167,109446134.15174484,89398964.58566284 +247,Uruguay,457376.4990234375,623349.703125,451461.5859375,521757.947265625,497966.9150390625,591644.0458984375,451825.3583984375,492500.515625,490186.603515625,625819.7060546875,456089.8486328125,586696.4052734375,434078.99365234375,741228.365234375,477670.953125,462450.93359375,515755.181640625,499141.888671875,380587.1665039063,478453.017578125,414069.8427734375,506225.953125,359692.07373046875,531997.5625,483820.8251953125,505040.7333984375,350325.05712890625,414649.6489257813,400494.2724609375,523558.3193359375,393925.3051757813,412715.1762695313,341059.0749511719,630424.4794921875,437567.505859375,461841.55859375,536003.98046875,629837.81640625,455929.4423828125,499343.302734375,551083.767578125,669142.302734375,388824.9799804688,558950.8076171875,622460.5302734375,619486.419921875,609633.001953125,637764.607421875,597386.505859375,669534.0947265625 +248,Uzbekistan,2229148.9756519794,1779627.854116559,1683224.8380539415,2125733.521504402,1726909.8061054945,1591671.262466669,1265501.3708388803,1974040.3240052464,1533167.7978119254,1460758.8982177377,1107404.6062185168,1809827.5619089007,1477651.7933935523,1492939.8405698538,1019285.2276860476,1382813.630001485,1342951.4255204797,1096585.3164724112,919501.4768743812,1617674.5842415094,1539944.7232949138,1178718.2564144137,1115197.7597851155,1854118.624807179,1179072.7498866916,1065925.020592451,1032579.4077085257,1408286.9669345615,1376959.748765111,1220532.4122101665,1016644.7552868724,1558828.5255602598,989585.263141632,1172209.6371631026,1439221.933592081,1582740.2158819437,1707448.0720620155,1379142.8637936115,1623786.592277646,1632865.1752729416,1781994.3577651978,1743858.7539470196,1594656.8682943585,1651457.185775876,2147250.906987667,1669587.2933686972,1767218.968368411,1797698.473527193,2001702.392188907,1708085.1576952934 +249,Vanuatu,4230.220158576965,21217.72961425781,11254.150329589844,21483.590087890625,19532.049377441406,36460.907470703125,13189.969787597656,25749.30920410156,25725.0693359375,21450.821044921875,55225.98110961914,33556.79870605469,28704.959716796875,25549.040954589844,17223.461303710938,45567.21960449219,47676.52166748047,57823.97937011719,22023.49975585937,31730.08959960937,50071.258850097656,27667.409423828125,23307.720153808597,35582.05920410156,45618.85760498047,27104.099731445312,23289.88003540039,24709.381286621094,5063.559829711914,10424.640075683594,6767.700103759766,13439.28076171875,3599.4800567626958,20278.02978515625,9689.16015625,16096.83056640625,13291.97003173828,18272.25048828125,11843.759643554688,18651.64038085937,12590.239807128906,17661.601013183594,6492.910003662109,20080.29943847656,14358.240234375,20603.27978515625,13620.77996826172,24224.380126953125,11999.11065673828,18250.170288085938 +250,Vatican City,214.5599975585937,224.98001098632807,224.17999267578125,212.1699981689453,232.98001098632807,244.4900054931641,232.8500061035156,203.75,279.32000732421875,204.72999572753903,237.0599975585937,224.4199981689453,213.45999145507807,219.1100006103516,195.0599975585937,211.1300048828125,236.91000366210932,223.20999145507807,228.0,207.22999572753903,249.260009765625,233.6499938964844,208.1199951171875,203.01998901367188,145.30999755859375,204.22000122070312,218.94000244140625,169.489990234375,210.739990234375,188.8600006103516,168.55999755859375,157.14999389648438,160.05999755859375,143.8300018310547,138.42999267578125,121.72000122070312,126.55999755859376,114.52000427246094,121.27999877929688,126.0500030517578,114.11000061035156,91.73999786376952,127.5,120.52000427246094,108.1199951171875,129.35000610351562,113.52999877929688,105.82000732421876,109.44000244140624,128.33999633789062 +251,Vietnam,1161564.6161785126,1052934.1318912506,268111.28923232853,1246966.1623039246,1478110.249587059,1185841.4717330933,633975.525947541,1583117.2920484543,1774675.8131170273,1177755.2556791306,959159.2498226166,2224970.8190193176,2247509.973939896,1564387.0989570618,1056060.128115654,2062651.734668732,2194159.047337532,1767170.179347992,1044103.0996074677,2795015.635409355,2285811.434624672,1714934.3803329468,969837.9996156693,2475506.689142227,2135923.301223755,1964443.72902298,960836.4944972694,2375860.125328064,2986297.071267128,1629459.9443130493,1423856.331312418,3675012.48286438,3252822.685819626,2016005.147884369,1591874.9160842896,1535863.7697502377,2665574.2100524902,2221555.937149048,1721759.5856819153,2624644.912959099,2638082.013683319,1765142.745016098,2018460.4534710648,1629668.294335961,2601431.0250282288,2083940.2446517944,1308963.0186656115,2281340.4482135773,2684231.667333603,2071440.7470550537 +252,Wake Island (U.S.),25.809999465942383,33.58000183105469,22.14999771118164,33.36000061035156,18.32999992370605,26.709999084472656,28.25,20.63999938964844,12.140000343322754,27.61999893188477,18.080001831054688,22.079998016357425,11.260000228881836,27.36999893188477,21.900001525878903,45.74000549316406,13.959999084472656,24.540000915527344,20.459999084472656,20.229999542236328,11.229999542236328,24.939998626708984,17.130001068115234,22.21000099182129,14.56999969482422,24.900001525878903,23.310001373291016,19.189998626708984,8.010000228881836,20.39999961853028,20.32999992370605,22.520000457763672,44.85000228881836,68.61000061035156,67.13999938964844,26.670000076293945,20.770000457763672,29.1299991607666,25.989999771118164,26.229999542236328,17.490001678466797,31.779998779296875,24.520000457763672,35.25,20.540000915527344,32.23999786376953,33.44000244140625,28.799999237060547,17.15999984741211,31.21999931335449 +253,Wallis and Futuna (Fr.),156.3000030517578,272.5599975585937,193.1599884033203,265.67999267578125,106.6999969482422,223.3900146484375,151.79000854492188,278.3899841308594,202.95001220703125,223.47999572753903,145.00999450683594,262.2899780273437,205.759994506836,261.91998291015625,144.24000549316406,227.66998291015625,179.1899871826172,190.5800018310547,91.09000396728516,236.33999633789065,192.27999877929688,196.4399871826172,86.22999572753906,278.1799621582031,185.9199981689453,185.759994506836,143.9600067138672,230.8100128173828,127.31000518798828,213.1999969482422,109.77999877929688,180.91000366210932,113.24000549316406,283.4700012207031,176.17002868652344,321.84002685546875,266.2200012207031,353.29998779296875,202.239990234375,348.8300170898437,218.7199859619141,314.7699890136719,149.20999145507812,350.8499755859375,280.6500244140625,380.9299926757813,273.3099975585937,376.80999755859375,262.4900207519531,335.6099853515625 +254,West Bank and Gaza,135263.3807373047,186789.52709960935,179510.78979492188,173779.54907226562,172654.830078125,177838.27978515625,186034.1689453125,189585.29248046875,175612.97326660156,196493.9357910156,196025.89294433597,181364.38989257807,167515.5616455078,189905.85180664065,190120.47985839844,179265.20947265625,175963.8504638672,192678.9040527344,198869.0205078125,196751.52319335935,177151.48168945312,213134.90869140625,198014.0302734375,214872.88305664065,145103.22326660156,214329.8883056641,209958.2608642578,209087.91796875,187388.55908203125,223018.6298828125,229085.6813964844,236702.68334960935,177834.29223632812,228813.61669921875,231891.16430664065,241920.02026367188,205328.94262695312,261147.55541992188,268886.9919433594,270476.1237792969,204851.46997070312,291661.93310546875,310789.00732421875,286222.19580078125,302543.2463378906,348395.1108398437,318868.7670898437,276477.2209472656,286119.13024902344,315355.446685791 +255,Zambia,370153.248134613,1388243.9099121094,849288.7098388672,1293208.2316894531,760984.8115692139,1104275.5102539062,662688.9234619141,1115924.845703125,432058.0433432013,998959.5502929688,632456.7125244141,1422341.323486328,824076.0078125,1018072.9240722656,684165.5445556641,1300627.2204589844,575414.6960449219,995434.6267089844,663243.9454345703,1179684.6579589844,327099.5061950684,1065546.3371582031,487632.59765625,1343492.3596191406,692973.7037353516,1070681.1940917969,512187.0135498047,990761.3454589844,409314.2610473633,740751.08984375,554670.7738647461,904815.279296875,407686.47302246094,1044887.164794922,794477.8479003906,1255331.438232422,719664.7199401855,1273496.337890625,813493.1013183594,1187120.2932128906,931309.8208618164,1123450.8930664062,648113.9681396484,1395547.296142578,860395.8966064453,1222839.744140625,923405.3693847656,1492687.7175292969,763991.0022211075,1509794.6372070312 +256,Zimbabwe,494358.6951904297,691768.8359375,387979.6785888672,770830.9248046875,409574.85260009766,594042.5374755859,308121.66149902344,638530.5961914062,371346.2133789063,612581.021484375,278108.11376953125,1004171.6799316406,566260.9489746094,549574.3364257812,277168.0040283203,810862.9790039062,375672.7426757813,494812.3327636719,275622.9991455078,727820.4938964844,291219.1573486328,536023.7037353516,232875.9291381836,790438.8503417969,364020.5419921875,615223.5124511719,220351.27990722656,514302.4760742188,223624.31213378903,450431.0457763672,212350.24896240237,593748.5737304688,260921.19580078125,541337.7138671875,315139.26794433594,655695.7565917969,432938.8452529907,683864.5334472656,381576.9716796875,632444.6832275391,651477.2113037109,623507.0776367188,261307.2677001953,805811.1059570312,552391.474609375,629958.8349609375,491617.1450195313,938941.9709472656,500992.1610107422,799058.2149658203 +257,ccc,8810.359375,8058.24951171875,7463.89990234375,7312.75,9884.650390625,8065.0595703125,7387.490234375,7556.57958984375,6929.7294921875,8301.740234375,6854.7197265625,7849.650390625,12459.560546875,7717.5703125,6943.52978515625,6531.48046875,10143.099609375,7676.1904296875,6403.5,7409.580078125,7792.6298828125,7296.43994140625,7317.5498046875,7762.259765625,6177.849609375,8202.23046875,7141.75,6842.30029296875,9895.08984375,7972.37939453125,6909.39013671875,7415.78955078125,5219.39990234375,6724.62939453125,8595.58984375,6663.18017578125,8604.69921875,7716.83984375,9830.3701171875,7497.5595703125,8443.58984375,7891.73046875,10450.669921875,6783.23974609375,6996.2099609375,7212.56982421875,8961.240234375,7213.169921875,9409.73046875,6517.330078125 diff --git a/notebooks/INGESTION_SCHEMA.ipynb b/notebooks/INGESTION_SCHEMA.ipynb new file mode 100644 index 0000000..6501ba6 --- /dev/null +++ b/notebooks/INGESTION_SCHEMA.ipynb @@ -0,0 +1,503 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "9a4ff42c-ae19-41f1-9d58-063a4d358604", + "metadata": {}, + "source": [ + "# Exploring S2S input schema\n", + "\n", + "In order to ingest data into the S2S database, it needs to follow a specific schema. This notebook will explore and document that schema" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "ddf9a2ec-282b-487b-90c0-a4c6930c3c81", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/wb411133/.conda/envs/ee/lib/python3.9/site-packages/geopandas/_compat.py:106: UserWarning: The Shapely GEOS version (3.9.1-CAPI-1.14.2) is incompatible with the GEOS version PyGEOS was compiled with (3.10.4-CAPI-1.16.2). Conversions between both will be slow.\n", + " warnings.warn(\n" + ] + } + ], + "source": [ + "import sys\n", + "import os\n", + "import itertools\n", + "import rasterio\n", + "import boto3\n", + "\n", + "import geopandas as gpd\n", + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "from scipy.spatial import cKDTree\n", + "from shapely.geometry import Point\n", + "from operator import itemgetter\n", + "\n", + "sys.path.append(\"/home/wb411133/Code/GOSTrocks/src\")\n", + "\n", + "import GOSTrocks.ntlMisc as ntlMisc\n", + "import GOSTrocks.rasterMisc as rMisc\n", + "from GOSTrocks.misc import tPrint" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "be7cb1f6-4e8a-4fb9-a26f-5aa45bea2e38", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
hex_idsum_pop_f_0_2020sum_pop_f_10_2020sum_pop_f_15_2020sum_pop_f_1_2020sum_pop_f_20_2020sum_pop_f_25_2020sum_pop_f_30_2020sum_pop_f_35_2020sum_pop_f_40_2020...sum_pop_m_40_2020sum_pop_m_45_2020sum_pop_m_50_2020sum_pop_m_55_2020sum_pop_m_5_2020sum_pop_m_60_2020sum_pop_m_65_2020sum_pop_m_70_2020sum_pop_m_75_2020sum_pop_m_80_2020
0860000007ffffff-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0...-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0
186000000fffffff-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0...-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0
2860000017ffffff-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0...-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0
386000001fffffff-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0...-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0
4860000027ffffff-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0...-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0-1.0
\n", + "

5 rows × 37 columns

\n", + "
" + ], + "text/plain": [ + " hex_id sum_pop_f_0_2020 sum_pop_f_10_2020 sum_pop_f_15_2020 \\\n", + "0 860000007ffffff -1.0 -1.0 -1.0 \n", + "1 86000000fffffff -1.0 -1.0 -1.0 \n", + "2 860000017ffffff -1.0 -1.0 -1.0 \n", + "3 86000001fffffff -1.0 -1.0 -1.0 \n", + "4 860000027ffffff -1.0 -1.0 -1.0 \n", + "\n", + " sum_pop_f_1_2020 sum_pop_f_20_2020 sum_pop_f_25_2020 sum_pop_f_30_2020 \\\n", + "0 -1.0 -1.0 -1.0 -1.0 \n", + "1 -1.0 -1.0 -1.0 -1.0 \n", + "2 -1.0 -1.0 -1.0 -1.0 \n", + "3 -1.0 -1.0 -1.0 -1.0 \n", + "4 -1.0 -1.0 -1.0 -1.0 \n", + "\n", + " sum_pop_f_35_2020 sum_pop_f_40_2020 ... sum_pop_m_40_2020 \\\n", + "0 -1.0 -1.0 ... -1.0 \n", + "1 -1.0 -1.0 ... -1.0 \n", + "2 -1.0 -1.0 ... -1.0 \n", + "3 -1.0 -1.0 ... -1.0 \n", + "4 -1.0 -1.0 ... -1.0 \n", + "\n", + " sum_pop_m_45_2020 sum_pop_m_50_2020 sum_pop_m_55_2020 sum_pop_m_5_2020 \\\n", + "0 -1.0 -1.0 -1.0 -1.0 \n", + "1 -1.0 -1.0 -1.0 -1.0 \n", + "2 -1.0 -1.0 -1.0 -1.0 \n", + "3 -1.0 -1.0 -1.0 -1.0 \n", + "4 -1.0 -1.0 -1.0 -1.0 \n", + "\n", + " sum_pop_m_60_2020 sum_pop_m_65_2020 sum_pop_m_70_2020 sum_pop_m_75_2020 \\\n", + "0 -1.0 -1.0 -1.0 -1.0 \n", + "1 -1.0 -1.0 -1.0 -1.0 \n", + "2 -1.0 -1.0 -1.0 -1.0 \n", + "3 -1.0 -1.0 -1.0 -1.0 \n", + "4 -1.0 -1.0 -1.0 -1.0 \n", + "\n", + " sum_pop_m_80_2020 \n", + "0 -1.0 \n", + "1 -1.0 \n", + "2 -1.0 \n", + "3 -1.0 \n", + "4 -1.0 \n", + "\n", + "[5 rows x 37 columns]" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "good_schema_example = \"s3://wbg-geography01/Space2Stats/parquet/GLOBAL/combined_population.parquet\"\n", + "good_schema = pd.read_parquet(good_schema_example)\n", + "good_schema.head()" + ] + }, + { + "cell_type": "markdown", + "id": "382fb61c-a0f3-4be1-b0aa-74face0424b3", + "metadata": {}, + "source": [ + "The table schema for tables to be imported into Space2Stats is simple with only two columns required:\n", + "- hex_id: the h3 grid id for the polygon used in the zonal calculation; default is h3 level 6\n", + "- sum_pop_f_0_2020: attribute of interest to be ingested, should be written in the following style __f'{aggregation_method}_{attribute_name}'__" + ] + }, + { + "cell_type": "markdown", + "id": "c03d5244-c6c1-4414-972a-c2203b4f7ebf", + "metadata": {}, + "source": [ + "## Create table of nighttime lights values" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "5fb496a3-066d-4eef-9e88-392550cc53d5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Completed loop: 0\n" + ] + } + ], + "source": [ + "# This contains nighttime light zonal stats for all individual months \n", + "# Define the AWS variables\n", + "# Define S3 parameters\n", + "bucket = 'wbg-geography01' \n", + "prefix = 'Space2Stats/parquet/GLOBAL/NTL_VIIRS_LEN/'\n", + "region = 'us-east-1'\n", + "s3client = boto3.client('s3', region_name=region)\n", + "\n", + "# Loop through the S3 bucket and get all the keys for files that are .tif \n", + "more_results = True\n", + "loops = 0\n", + "verbose=True\n", + "good_res = []\n", + "while more_results:\n", + " if verbose:\n", + " print(f\"Completed loop: {loops}\")\n", + " if loops > 0:\n", + " objects = s3client.list_objects_v2(Bucket=bucket, Prefix=prefix, ContinuationToken=token)\n", + " else:\n", + " objects = s3client.list_objects_v2(Bucket=bucket, Prefix=prefix)\n", + " more_results = objects['IsTruncated']\n", + " if more_results:\n", + " token = objects['NextContinuationToken']\n", + " loops += 1\n", + " for res in objects['Contents']:\n", + " if res['Key'].endswith('parquet'): \n", + " cur_variable = res['Key'].split(\"/\")[-3]\n", + " good_res.append(res['Key'])\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c9eaee22-eea4-4f63-a5b0-6d536c7cd58b", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "11:28:23\t201201\n", + "11:28:52\t201202\n", + "11:29:23\t201203\n", + "11:29:53\t201204\n", + "11:30:18\t201205\n", + "11:30:47\t201206\n", + "11:31:18\t201207\n", + "11:31:48\t201208\n", + "11:32:16\t201209\n", + "11:32:43\t201210\n", + "11:33:11\t201211\n", + "11:33:40\t201212\n", + "11:34:11\t201301\n", + "11:34:41\t201302\n", + "11:35:08\t201303\n", + "11:35:35\t201304\n", + "11:36:04\t201305\n", + "11:36:31\t201306\n", + "11:36:59\t201307\n", + "11:37:27\t201308\n", + "11:37:53\t201309\n", + "11:38:20\t201310\n", + "11:38:49\t201311\n", + "11:39:16\t201312\n", + "11:39:45\t201401\n", + "11:40:12\t201402\n", + "11:40:41\t201404\n", + "11:41:09\t201405\n", + "11:41:38\t201406\n", + "11:42:04\t201407\n", + "11:42:30\t201408\n", + "11:42:57\t201409\n", + "11:43:27\t201410\n", + "11:43:54\t201411\n", + "11:44:21\t201412\n", + "11:44:48\t201501\n", + "11:45:15\t201502\n", + "11:45:41\t201503\n", + "11:46:08\t201504\n", + "11:46:35\t201505\n", + "11:47:02\t201506\n", + "11:47:28\t201507\n", + "11:47:54\t201508\n", + "11:48:21\t201509\n", + "11:48:46\t201510\n", + "11:49:11\t201511\n", + "11:49:37\t201512\n", + "11:50:03\t201601\n", + "11:50:27\t201602\n", + "11:50:53\t201603\n", + "11:51:19\t201604\n", + "11:51:46\t201605\n", + "11:52:14\t201606\n", + "11:52:39\t201607\n", + "11:53:05\t201608\n", + "11:53:33\t201609\n", + "11:54:00\t201610\n", + "11:54:27\t201611\n", + "11:54:55\t201612\n", + "11:55:20\t201701\n", + "11:55:46\t201702\n", + "11:56:10\t201703\n", + "11:56:38\t201704\n", + "11:57:03\t201705\n", + "11:57:30\t201706\n", + "11:57:55\t201707\n", + "11:58:22\t201708\n", + "11:58:51\t201709\n", + "11:59:18\t201710\n", + "11:59:45\t201711\n", + "12:00:10\t201712\n" + ] + } + ], + "source": [ + "all_res = []\n", + "for in_file in good_res:\n", + " full_path = f's3://{bucket}/{in_file}'\n", + " date = os.path.basename(in_file).split(\"_\")[2][:6]\n", + " img_type = os.path.basename(in_file).split(\"_\")[1]\n", + " if img_type == 'npp':\n", + " tPrint(date)\n", + " curD = pd.read_parquet(full_path)\n", + " date = os.path.basename(in_file).split(\"_\")[2][:6]\n", + " # Name the columns according to the standards above\n", + " columns = [f'{x}_VIIRS_NTL_{date}' for x in curD.columns]\n", + " columns[-1] = 'hex_id'\n", + " curD.columns = columns\n", + " curD = curD.set_index('hex_id')\n", + " # Convert the previous nodata values (-1) to NoData\n", + " curD[curD<0] = None\n", + " all_res.append(curD.copy())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3c5b37bd-ce82-48cd-9cee-c331d892b2b6", + "metadata": {}, + "outputs": [], + "source": [ + "### This causes memory errors :(\n", + "sum_res = []\n", + "min_res = []\n", + "max_res = []\n", + "mean_res = []\n", + "for c_res in all_res:\n", + " sum_res.append(c_res.loc[:,[x for x in c_res.columns if \"SUM\" in x]].copy())\n", + " min_res.append(c_res.loc[:,[x for x in c_res.columns if \"MIN\" in x]].copy())\n", + " max_res.append(c_res.loc[:,[x for x in c_res.columns if \"MAX\" in x]].copy())\n", + " mean_res.append(c_res.loc[:,[x for x in c_res.columns if \"MEAN\" in x]].copy())\n", + "\n", + "i = 0\n", + "for c_res in sum_res:\n", + " tPrint(i)\n", + " try:\n", + " final = final.join(c_res)\n", + " except:\n", + " final = c_res\n", + " i += 1" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Earth Engine", + "language": "python", + "name": "ee" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 1d9e4d0c48b0b64a15b8bae681c75acce08a4809 Mon Sep 17 00:00:00 2001 From: bpstewar Date: Wed, 30 Oct 2024 11:53:04 -0400 Subject: [PATCH 4/4] Misc zonal updates --- notebooks/INGESTION_SCHEMA.ipynb | 1251 ++++++++++++++++---- notebooks/MP_SCRIPTS/testing.ipynb | 313 +++-- notebooks/MP_SCRIPTS/zonal_urbanization.py | 40 +- src/global_zonal.py | 38 +- 4 files changed, 1304 insertions(+), 338 deletions(-) diff --git a/notebooks/INGESTION_SCHEMA.ipynb b/notebooks/INGESTION_SCHEMA.ipynb index 6501ba6..ad0d43a 100644 --- a/notebooks/INGESTION_SCHEMA.ipynb +++ b/notebooks/INGESTION_SCHEMA.ipynb @@ -49,7 +49,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 7, "id": "be7cb1f6-4e8a-4fb9-a26f-5aa45bea2e38", "metadata": {}, "outputs": [ @@ -77,24 +77,6 @@ " hex_id\n", " sum_pop_f_0_2020\n", " sum_pop_f_10_2020\n", - " sum_pop_f_15_2020\n", - " sum_pop_f_1_2020\n", - " sum_pop_f_20_2020\n", - " sum_pop_f_25_2020\n", - " sum_pop_f_30_2020\n", - " sum_pop_f_35_2020\n", - " sum_pop_f_40_2020\n", - " ...\n", - " sum_pop_m_40_2020\n", - " sum_pop_m_45_2020\n", - " sum_pop_m_50_2020\n", - " sum_pop_m_55_2020\n", - " sum_pop_m_5_2020\n", - " sum_pop_m_60_2020\n", - " sum_pop_m_65_2020\n", - " sum_pop_m_70_2020\n", - " sum_pop_m_75_2020\n", - " sum_pop_m_80_2020\n", " \n", " \n", " \n", @@ -103,179 +85,51 @@ " 860000007ffffff\n", " -1.0\n", " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " ...\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", " \n", " \n", " 1\n", " 86000000fffffff\n", " -1.0\n", " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " ...\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", " \n", " \n", " 2\n", " 860000017ffffff\n", " -1.0\n", " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " ...\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", " \n", " \n", " 3\n", " 86000001fffffff\n", " -1.0\n", " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " ...\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", " \n", " \n", " 4\n", " 860000027ffffff\n", " -1.0\n", " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " ...\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", - " -1.0\n", " \n", " \n", "\n", - "

5 rows × 37 columns

\n", "" ], "text/plain": [ - " hex_id sum_pop_f_0_2020 sum_pop_f_10_2020 sum_pop_f_15_2020 \\\n", - "0 860000007ffffff -1.0 -1.0 -1.0 \n", - "1 86000000fffffff -1.0 -1.0 -1.0 \n", - "2 860000017ffffff -1.0 -1.0 -1.0 \n", - "3 86000001fffffff -1.0 -1.0 -1.0 \n", - "4 860000027ffffff -1.0 -1.0 -1.0 \n", - "\n", - " sum_pop_f_1_2020 sum_pop_f_20_2020 sum_pop_f_25_2020 sum_pop_f_30_2020 \\\n", - "0 -1.0 -1.0 -1.0 -1.0 \n", - "1 -1.0 -1.0 -1.0 -1.0 \n", - "2 -1.0 -1.0 -1.0 -1.0 \n", - "3 -1.0 -1.0 -1.0 -1.0 \n", - "4 -1.0 -1.0 -1.0 -1.0 \n", - "\n", - " sum_pop_f_35_2020 sum_pop_f_40_2020 ... sum_pop_m_40_2020 \\\n", - "0 -1.0 -1.0 ... -1.0 \n", - "1 -1.0 -1.0 ... -1.0 \n", - "2 -1.0 -1.0 ... -1.0 \n", - "3 -1.0 -1.0 ... -1.0 \n", - "4 -1.0 -1.0 ... -1.0 \n", - "\n", - " sum_pop_m_45_2020 sum_pop_m_50_2020 sum_pop_m_55_2020 sum_pop_m_5_2020 \\\n", - "0 -1.0 -1.0 -1.0 -1.0 \n", - "1 -1.0 -1.0 -1.0 -1.0 \n", - "2 -1.0 -1.0 -1.0 -1.0 \n", - "3 -1.0 -1.0 -1.0 -1.0 \n", - "4 -1.0 -1.0 -1.0 -1.0 \n", - "\n", - " sum_pop_m_60_2020 sum_pop_m_65_2020 sum_pop_m_70_2020 sum_pop_m_75_2020 \\\n", - "0 -1.0 -1.0 -1.0 -1.0 \n", - "1 -1.0 -1.0 -1.0 -1.0 \n", - "2 -1.0 -1.0 -1.0 -1.0 \n", - "3 -1.0 -1.0 -1.0 -1.0 \n", - "4 -1.0 -1.0 -1.0 -1.0 \n", - "\n", - " sum_pop_m_80_2020 \n", - "0 -1.0 \n", - "1 -1.0 \n", - "2 -1.0 \n", - "3 -1.0 \n", - "4 -1.0 \n", - "\n", - "[5 rows x 37 columns]" + " hex_id sum_pop_f_0_2020 sum_pop_f_10_2020\n", + "0 860000007ffffff -1.0 -1.0\n", + "1 86000000fffffff -1.0 -1.0\n", + "2 860000017ffffff -1.0 -1.0\n", + "3 86000001fffffff -1.0 -1.0\n", + "4 860000027ffffff -1.0 -1.0" ] }, - "execution_count": 2, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "good_schema_example = \"s3://wbg-geography01/Space2Stats/parquet/GLOBAL/combined_population.parquet\"\n", + "good_schema_example = \"s3://wbg-geography01/Space2Stats/parquet/GLOBAL/combined_population_sample.parquet\"\n", "good_schema = pd.read_parquet(good_schema_example)\n", "good_schema.head()" ] @@ -292,16 +146,16 @@ }, { "cell_type": "markdown", - "id": "c03d5244-c6c1-4414-972a-c2203b4f7ebf", + "id": "4142f498-c657-46d1-a497-2fffd1206344", "metadata": {}, "source": [ - "## Create table of nighttime lights values" + "# Combine output CSV files into single parquet" ] }, { "cell_type": "code", "execution_count": 3, - "id": "5fb496a3-066d-4eef-9e88-392550cc53d5", + "id": "f9ff028f-65e4-4b0f-a548-e1ee6846fd51", "metadata": {}, "outputs": [ { @@ -317,7 +171,7 @@ "# Define the AWS variables\n", "# Define S3 parameters\n", "bucket = 'wbg-geography01' \n", - "prefix = 'Space2Stats/parquet/GLOBAL/NTL_VIIRS_LEN/'\n", + "prefix = 'Space2Stats/h3_stats_data/GLOBAL/Urbanization/'\n", "region = 'us-east-1'\n", "s3client = boto3.client('s3', region_name=region)\n", "\n", @@ -338,7 +192,7 @@ " token = objects['NextContinuationToken']\n", " loops += 1\n", " for res in objects['Contents']:\n", - " if res['Key'].endswith('parquet'): \n", + " if res['Key'].endswith('.csv'): \n", " cur_variable = res['Key'].split(\"/\")[-3]\n", " good_res.append(res['Key'])\n", " " @@ -346,90 +200,927 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "c9eaee22-eea4-4f63-a5b0-6d536c7cd58b", - "metadata": { - "scrolled": true - }, + "execution_count": 5, + "id": "22f6d53a-39ca-461a-b232-32cc41c64af4", + "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "11:28:23\t201201\n", - "11:28:52\t201202\n", - "11:29:23\t201203\n", - "11:29:53\t201204\n", - "11:30:18\t201205\n", - "11:30:47\t201206\n", - "11:31:18\t201207\n", - "11:31:48\t201208\n", - "11:32:16\t201209\n", - "11:32:43\t201210\n", - "11:33:11\t201211\n", - "11:33:40\t201212\n", - "11:34:11\t201301\n", - "11:34:41\t201302\n", - "11:35:08\t201303\n", - "11:35:35\t201304\n", - "11:36:04\t201305\n", - "11:36:31\t201306\n", - "11:36:59\t201307\n", - "11:37:27\t201308\n", - "11:37:53\t201309\n", - "11:38:20\t201310\n", - "11:38:49\t201311\n", - "11:39:16\t201312\n", - "11:39:45\t201401\n", - "11:40:12\t201402\n", - "11:40:41\t201404\n", - "11:41:09\t201405\n", - "11:41:38\t201406\n", - "11:42:04\t201407\n", - "11:42:30\t201408\n", - "11:42:57\t201409\n", - "11:43:27\t201410\n", - "11:43:54\t201411\n", - "11:44:21\t201412\n", - "11:44:48\t201501\n", - "11:45:15\t201502\n", - "11:45:41\t201503\n", - "11:46:08\t201504\n", - "11:46:35\t201505\n", - "11:47:02\t201506\n", - "11:47:28\t201507\n", - "11:47:54\t201508\n", - "11:48:21\t201509\n", - "11:48:46\t201510\n", - "11:49:11\t201511\n", - "11:49:37\t201512\n", - "11:50:03\t201601\n", - "11:50:27\t201602\n", - "11:50:53\t201603\n", - "11:51:19\t201604\n", - "11:51:46\t201605\n", - "11:52:14\t201606\n", - "11:52:39\t201607\n", - "11:53:05\t201608\n", - "11:53:33\t201609\n", - "11:54:00\t201610\n", - "11:54:27\t201611\n", - "11:54:55\t201612\n", - "11:55:20\t201701\n", - "11:55:46\t201702\n", - "11:56:10\t201703\n", - "11:56:38\t201704\n", - "11:57:03\t201705\n", - "11:57:30\t201706\n", - "11:57:55\t201707\n", - "11:58:22\t201708\n", - "11:58:51\t201709\n", - "11:59:18\t201710\n", - "11:59:45\t201711\n", - "12:00:10\t201712\n" + "11:31:31\tCompleted 1 of 842\n", + "11:31:32\tCompleted 2 of 842\n", + "11:31:32\tCompleted 3 of 842\n", + "11:31:32\tCompleted 4 of 842\n", + "11:31:32\tCompleted 5 of 842\n", + "11:31:32\tCompleted 6 of 842\n", + "11:31:33\tCompleted 7 of 842\n", + "11:31:33\tCompleted 8 of 842\n", + "11:31:33\tCompleted 9 of 842\n", + "11:31:33\tCompleted 10 of 842\n", + "11:31:33\tCompleted 11 of 842\n", + "11:31:33\tCompleted 12 of 842\n", + "11:31:34\tCompleted 13 of 842\n", + "11:31:34\tCompleted 14 of 842\n", + "11:31:34\tCompleted 15 of 842\n", + "11:31:34\tCompleted 16 of 842\n", + "11:31:35\tCompleted 17 of 842\n", + "11:31:35\tCompleted 18 of 842\n", + "11:31:35\tCompleted 19 of 842\n", + "11:31:35\tCompleted 20 of 842\n", + "11:31:35\tCompleted 21 of 842\n", + "11:31:36\tCompleted 22 of 842\n", + "11:31:36\tCompleted 23 of 842\n", + "11:31:36\tCompleted 24 of 842\n", + "11:31:36\tCompleted 25 of 842\n", + "11:31:36\tCompleted 26 of 842\n", + "11:31:37\tCompleted 27 of 842\n", + "11:31:37\tCompleted 28 of 842\n", + "11:31:37\tCompleted 29 of 842\n", + "11:31:37\tCompleted 30 of 842\n", + "11:31:37\tCompleted 31 of 842\n", + "11:31:38\tCompleted 32 of 842\n", + "11:31:38\tCompleted 33 of 842\n", + "11:31:38\tCompleted 34 of 842\n", + "11:31:38\tCompleted 35 of 842\n", + "11:31:39\tCompleted 36 of 842\n", + "11:31:39\tCompleted 37 of 842\n", + "11:31:39\tCompleted 38 of 842\n", + "11:31:39\tCompleted 39 of 842\n", + "11:31:39\tCompleted 40 of 842\n", + "11:31:40\tCompleted 41 of 842\n", + "11:31:40\tCompleted 42 of 842\n", + "11:31:40\tCompleted 43 of 842\n", + "11:31:40\tCompleted 44 of 842\n", + "11:31:40\tCompleted 45 of 842\n", + "11:31:41\tCompleted 46 of 842\n", + "11:31:41\tCompleted 47 of 842\n", + "11:31:41\tCompleted 48 of 842\n", + "11:31:41\tCompleted 49 of 842\n", + "11:31:42\tCompleted 50 of 842\n", + "11:31:42\tCompleted 51 of 842\n", + "11:31:42\tCompleted 52 of 842\n", + "11:31:42\tCompleted 53 of 842\n", + "11:31:43\tCompleted 54 of 842\n", + "11:31:43\tCompleted 55 of 842\n", + "11:31:43\tCompleted 56 of 842\n", + "11:31:43\tCompleted 57 of 842\n", + "11:31:43\tCompleted 58 of 842\n", + "11:31:43\tCompleted 59 of 842\n", + "11:31:44\tCompleted 60 of 842\n", + "11:31:44\tCompleted 61 of 842\n", + "11:31:44\tCompleted 62 of 842\n", + "11:31:44\tCompleted 63 of 842\n", + "11:31:44\tCompleted 64 of 842\n", + "11:31:44\tCompleted 65 of 842\n", + "11:31:45\tCompleted 66 of 842\n", + "11:31:45\tCompleted 67 of 842\n", + "11:31:45\tCompleted 68 of 842\n", + "11:31:45\tCompleted 69 of 842\n", + "11:31:45\tCompleted 70 of 842\n", + "11:31:46\tCompleted 71 of 842\n", + "11:31:46\tCompleted 72 of 842\n", + "11:31:46\tCompleted 73 of 842\n", + "11:31:46\tCompleted 74 of 842\n", + "11:31:46\tCompleted 75 of 842\n", + "11:31:46\tCompleted 76 of 842\n", + "11:31:47\tCompleted 77 of 842\n", + "11:31:47\tCompleted 78 of 842\n", + "11:31:47\tCompleted 79 of 842\n", + "11:31:47\tCompleted 80 of 842\n", + "11:31:48\tCompleted 81 of 842\n", + "11:31:48\tCompleted 82 of 842\n", + "11:31:48\tCompleted 83 of 842\n", + "11:31:48\tCompleted 84 of 842\n", + "11:31:48\tCompleted 85 of 842\n", + "11:31:48\tCompleted 86 of 842\n", + "11:31:49\tCompleted 87 of 842\n", + "11:31:49\tCompleted 88 of 842\n", + "11:31:49\tCompleted 89 of 842\n", + "11:31:49\tCompleted 90 of 842\n", + "11:31:49\tCompleted 91 of 842\n", + "11:31:49\tCompleted 92 of 842\n", + "11:31:50\tCompleted 93 of 842\n", + "11:31:50\tCompleted 94 of 842\n", + "11:31:50\tCompleted 95 of 842\n", + "11:31:50\tCompleted 96 of 842\n", + "11:31:50\tCompleted 97 of 842\n", + "11:31:51\tCompleted 98 of 842\n", + "11:31:51\tCompleted 99 of 842\n", + "11:31:51\tCompleted 100 of 842\n", + "11:31:51\tCompleted 101 of 842\n", + "11:31:52\tCompleted 102 of 842\n", + "11:31:52\tCompleted 103 of 842\n", + "11:31:52\tCompleted 104 of 842\n", + "11:31:52\tCompleted 105 of 842\n", + "11:31:52\tCompleted 106 of 842\n", + "11:31:53\tCompleted 107 of 842\n", + "11:31:53\tCompleted 108 of 842\n", + "11:31:53\tCompleted 109 of 842\n", + "11:31:53\tCompleted 110 of 842\n", + "11:31:53\tCompleted 111 of 842\n", + "11:31:53\tCompleted 112 of 842\n", + "11:31:54\tCompleted 113 of 842\n", + "11:31:54\tCompleted 114 of 842\n", + "11:31:54\tCompleted 115 of 842\n", + "11:31:54\tCompleted 116 of 842\n", + "11:31:54\tCompleted 117 of 842\n", + "11:31:54\tCompleted 118 of 842\n", + "11:31:55\tCompleted 119 of 842\n", + "11:31:55\tCompleted 120 of 842\n", + "11:31:55\tCompleted 121 of 842\n", + "11:31:55\tCompleted 122 of 842\n", + "11:31:55\tCompleted 123 of 842\n", + "11:31:55\tCompleted 124 of 842\n", + "11:31:56\tCompleted 125 of 842\n", + "11:31:56\tCompleted 126 of 842\n", + "11:31:56\tCompleted 127 of 842\n", + "11:31:56\tCompleted 128 of 842\n", + "11:31:57\tCompleted 129 of 842\n", + "11:31:57\tCompleted 130 of 842\n", + "11:31:57\tCompleted 131 of 842\n", + "11:31:57\tCompleted 132 of 842\n", + "11:31:57\tCompleted 133 of 842\n", + "11:31:57\tCompleted 134 of 842\n", + "11:31:58\tCompleted 135 of 842\n", + "11:31:58\tCompleted 136 of 842\n", + "11:31:58\tCompleted 137 of 842\n", + "11:31:58\tCompleted 138 of 842\n", + "11:31:58\tCompleted 139 of 842\n", + "11:31:59\tCompleted 140 of 842\n", + "11:31:59\tCompleted 141 of 842\n", + "11:31:59\tCompleted 142 of 842\n", + "11:31:59\tCompleted 143 of 842\n", + "11:31:59\tCompleted 144 of 842\n", + "11:32:00\tCompleted 145 of 842\n", + "11:32:00\tCompleted 146 of 842\n", + "11:32:00\tCompleted 147 of 842\n", + "11:32:00\tCompleted 148 of 842\n", + "11:32:01\tCompleted 149 of 842\n", + "11:32:01\tCompleted 150 of 842\n", + "11:32:01\tCompleted 151 of 842\n", + "11:32:01\tCompleted 152 of 842\n", + "11:32:01\tCompleted 153 of 842\n", + "11:32:01\tCompleted 154 of 842\n", + "11:32:02\tCompleted 155 of 842\n", + "11:32:02\tCompleted 156 of 842\n", + "11:32:02\tCompleted 157 of 842\n", + "11:32:02\tCompleted 158 of 842\n", + "11:32:02\tCompleted 159 of 842\n", + "11:32:03\tCompleted 160 of 842\n", + "11:32:03\tCompleted 161 of 842\n", + "11:32:03\tCompleted 162 of 842\n", + "11:32:03\tCompleted 163 of 842\n", + "11:32:03\tCompleted 164 of 842\n", + "11:32:04\tCompleted 165 of 842\n", + "11:32:04\tCompleted 166 of 842\n", + "11:32:04\tCompleted 167 of 842\n", + "11:32:04\tCompleted 168 of 842\n", + "11:32:04\tCompleted 169 of 842\n", + "11:32:05\tCompleted 170 of 842\n", + "11:32:05\tCompleted 171 of 842\n", + "11:32:05\tCompleted 172 of 842\n", + "11:32:05\tCompleted 173 of 842\n", + "11:32:05\tCompleted 174 of 842\n", + "11:32:05\tCompleted 175 of 842\n", + "11:32:06\tCompleted 176 of 842\n", + "11:32:06\tCompleted 177 of 842\n", + "11:32:06\tCompleted 178 of 842\n", + "11:32:06\tCompleted 179 of 842\n", + "11:32:06\tCompleted 180 of 842\n", + "11:32:07\tCompleted 181 of 842\n", + "11:32:07\tCompleted 182 of 842\n", + "11:32:07\tCompleted 183 of 842\n", + "11:32:07\tCompleted 184 of 842\n", + "11:32:07\tCompleted 185 of 842\n", + "11:32:07\tCompleted 186 of 842\n", + "11:32:08\tCompleted 187 of 842\n", + "11:32:08\tCompleted 188 of 842\n", + "11:32:08\tCompleted 189 of 842\n", + "11:32:08\tCompleted 190 of 842\n", + "11:32:08\tCompleted 191 of 842\n", + "11:32:09\tCompleted 192 of 842\n", + "11:32:09\tCompleted 193 of 842\n", + "11:32:09\tCompleted 194 of 842\n", + "11:32:09\tCompleted 195 of 842\n", + "11:32:09\tCompleted 196 of 842\n", + "11:32:10\tCompleted 197 of 842\n", + "11:32:10\tCompleted 198 of 842\n", + "11:32:10\tCompleted 199 of 842\n", + "11:32:10\tCompleted 200 of 842\n", + "11:32:10\tCompleted 201 of 842\n", + "11:32:11\tCompleted 202 of 842\n", + "11:32:11\tCompleted 203 of 842\n", + "11:32:11\tCompleted 204 of 842\n", + "11:32:11\tCompleted 205 of 842\n", + "11:32:11\tCompleted 206 of 842\n", + "11:32:12\tCompleted 207 of 842\n", + "11:32:12\tCompleted 208 of 842\n", + "11:32:12\tCompleted 209 of 842\n", + "11:32:12\tCompleted 210 of 842\n", + "11:32:12\tCompleted 211 of 842\n", + "11:32:13\tCompleted 212 of 842\n", + "11:32:13\tCompleted 213 of 842\n", + "11:32:13\tCompleted 214 of 842\n", + "11:32:13\tCompleted 215 of 842\n", + "11:32:13\tCompleted 216 of 842\n", + "11:32:13\tCompleted 217 of 842\n", + "11:32:14\tCompleted 218 of 842\n", + "11:32:14\tCompleted 219 of 842\n", + "11:32:14\tCompleted 220 of 842\n", + "11:32:14\tCompleted 221 of 842\n", + "11:32:15\tCompleted 222 of 842\n", + "11:32:15\tCompleted 223 of 842\n", + "11:32:15\tCompleted 224 of 842\n", + "11:32:15\tCompleted 225 of 842\n", + "11:32:15\tCompleted 226 of 842\n", + "11:32:15\tCompleted 227 of 842\n", + "11:32:16\tCompleted 228 of 842\n", + "11:32:16\tCompleted 229 of 842\n", + "11:32:16\tCompleted 230 of 842\n", + "11:32:16\tCompleted 231 of 842\n", + "11:32:16\tCompleted 232 of 842\n", + "11:32:17\tCompleted 233 of 842\n", + "11:32:17\tCompleted 234 of 842\n", + "11:32:17\tCompleted 235 of 842\n", + "11:32:17\tCompleted 236 of 842\n", + "11:32:17\tCompleted 237 of 842\n", + "11:32:18\tCompleted 238 of 842\n", + "11:32:18\tCompleted 239 of 842\n", + "11:32:18\tCompleted 240 of 842\n", + "11:32:18\tCompleted 241 of 842\n", + "11:32:18\tCompleted 242 of 842\n", + "11:32:19\tCompleted 243 of 842\n", + "11:32:19\tCompleted 244 of 842\n", + "11:32:19\tCompleted 245 of 842\n", + "11:32:19\tCompleted 246 of 842\n", + "11:32:19\tCompleted 247 of 842\n", + "11:32:20\tCompleted 248 of 842\n", + "11:32:20\tCompleted 249 of 842\n", + "11:32:20\tCompleted 250 of 842\n", + "11:32:20\tCompleted 251 of 842\n", + "11:32:20\tCompleted 252 of 842\n", + "11:32:20\tCompleted 253 of 842\n", + "11:32:21\tCompleted 254 of 842\n", + "11:32:21\tCompleted 255 of 842\n", + "11:32:21\tCompleted 256 of 842\n", + "11:32:21\tCompleted 257 of 842\n", + "11:32:21\tCompleted 258 of 842\n", + "11:32:21\tCompleted 259 of 842\n", + "11:32:22\tCompleted 260 of 842\n", + "11:32:22\tCompleted 261 of 842\n", + "11:32:22\tCompleted 262 of 842\n", + "11:32:22\tCompleted 263 of 842\n", + "11:32:22\tCompleted 264 of 842\n", + "11:32:22\tCompleted 265 of 842\n", + "11:32:23\tCompleted 266 of 842\n", + "11:32:23\tCompleted 267 of 842\n", + "11:32:23\tCompleted 268 of 842\n", + "11:32:23\tCompleted 269 of 842\n", + "11:32:24\tCompleted 270 of 842\n", + "11:32:24\tCompleted 271 of 842\n", + "11:32:24\tCompleted 272 of 842\n", + "11:32:24\tCompleted 273 of 842\n", + "11:32:25\tCompleted 274 of 842\n", + "11:32:25\tCompleted 275 of 842\n", + "11:32:25\tCompleted 276 of 842\n", + "11:32:25\tCompleted 277 of 842\n", + "11:32:25\tCompleted 278 of 842\n", + "11:32:26\tCompleted 279 of 842\n", + "11:32:26\tCompleted 280 of 842\n", + "11:32:26\tCompleted 281 of 842\n", + "11:32:26\tCompleted 282 of 842\n", + "11:32:26\tCompleted 283 of 842\n", + "11:32:26\tCompleted 284 of 842\n", + "11:32:27\tCompleted 285 of 842\n", + "11:32:27\tCompleted 286 of 842\n", + "11:32:27\tCompleted 287 of 842\n", + "11:32:27\tCompleted 288 of 842\n", + "11:32:27\tCompleted 289 of 842\n", + "11:32:28\tCompleted 290 of 842\n", + "11:32:28\tCompleted 291 of 842\n", + "11:32:28\tCompleted 292 of 842\n", + "11:32:28\tCompleted 293 of 842\n", + "11:32:28\tCompleted 294 of 842\n", + "11:32:29\tCompleted 295 of 842\n", + "11:32:29\tCompleted 296 of 842\n", + "11:32:29\tCompleted 297 of 842\n", + "11:32:29\tCompleted 298 of 842\n", + "11:32:29\tCompleted 299 of 842\n", + "11:32:29\tCompleted 300 of 842\n", + "11:32:30\tCompleted 301 of 842\n", + "11:32:30\tCompleted 302 of 842\n", + "11:32:30\tCompleted 303 of 842\n", + "11:32:30\tCompleted 304 of 842\n", + "11:32:30\tCompleted 305 of 842\n", + "11:32:30\tCompleted 306 of 842\n", + "11:32:31\tCompleted 307 of 842\n", + "11:32:31\tCompleted 308 of 842\n", + "11:32:31\tCompleted 309 of 842\n", + "11:32:31\tCompleted 310 of 842\n", + "11:32:31\tCompleted 311 of 842\n", + "11:32:32\tCompleted 312 of 842\n", + "11:32:32\tCompleted 313 of 842\n", + "11:32:32\tCompleted 314 of 842\n", + "11:32:32\tCompleted 315 of 842\n", + "11:32:32\tCompleted 316 of 842\n", + "11:32:32\tCompleted 317 of 842\n", + "11:32:33\tCompleted 318 of 842\n", + "11:32:33\tCompleted 319 of 842\n", + "11:32:33\tCompleted 320 of 842\n", + "11:32:33\tCompleted 321 of 842\n", + "11:32:33\tCompleted 322 of 842\n", + "11:32:34\tCompleted 323 of 842\n", + "11:32:34\tCompleted 324 of 842\n", + "11:32:34\tCompleted 325 of 842\n", + "11:32:34\tCompleted 326 of 842\n", + "11:32:34\tCompleted 327 of 842\n", + "11:32:34\tCompleted 328 of 842\n", + "11:32:34\tCompleted 329 of 842\n", + "11:32:35\tCompleted 330 of 842\n", + "11:32:35\tCompleted 331 of 842\n", + "11:32:35\tCompleted 332 of 842\n", + "11:32:35\tCompleted 333 of 842\n", + "11:32:35\tCompleted 334 of 842\n", + "11:32:36\tCompleted 335 of 842\n", + "11:32:36\tCompleted 336 of 842\n", + "11:32:36\tCompleted 337 of 842\n", + "11:32:36\tCompleted 338 of 842\n", + "11:32:36\tCompleted 339 of 842\n", + "11:32:37\tCompleted 340 of 842\n", + "11:32:37\tCompleted 341 of 842\n", + "11:32:37\tCompleted 342 of 842\n", + "11:32:37\tCompleted 343 of 842\n", + "11:32:37\tCompleted 344 of 842\n", + "11:32:37\tCompleted 345 of 842\n", + "11:32:38\tCompleted 346 of 842\n", + "11:32:38\tCompleted 347 of 842\n", + "11:32:38\tCompleted 348 of 842\n", + "11:32:38\tCompleted 349 of 842\n", + "11:32:38\tCompleted 350 of 842\n", + "11:32:39\tCompleted 351 of 842\n", + "11:32:39\tCompleted 352 of 842\n", + "11:32:39\tCompleted 353 of 842\n", + "11:32:39\tCompleted 354 of 842\n", + "11:32:39\tCompleted 355 of 842\n", + "11:32:39\tCompleted 356 of 842\n", + "11:32:40\tCompleted 357 of 842\n", + "11:32:40\tCompleted 358 of 842\n", + "11:32:40\tCompleted 359 of 842\n", + "11:32:40\tCompleted 360 of 842\n", + "11:32:40\tCompleted 361 of 842\n", + "11:32:41\tCompleted 362 of 842\n", + "11:32:41\tCompleted 363 of 842\n", + "11:32:41\tCompleted 364 of 842\n", + "11:32:41\tCompleted 365 of 842\n", + "11:32:41\tCompleted 366 of 842\n", + "11:32:42\tCompleted 367 of 842\n", + "11:32:42\tCompleted 368 of 842\n", + "11:32:42\tCompleted 369 of 842\n", + "11:32:42\tCompleted 370 of 842\n", + "11:32:42\tCompleted 371 of 842\n", + "11:32:43\tCompleted 372 of 842\n", + "11:32:43\tCompleted 373 of 842\n", + "11:32:43\tCompleted 374 of 842\n", + "11:32:43\tCompleted 375 of 842\n", + "11:32:43\tCompleted 376 of 842\n", + "11:32:44\tCompleted 377 of 842\n", + "11:32:44\tCompleted 378 of 842\n", + "11:32:44\tCompleted 379 of 842\n", + "11:32:44\tCompleted 380 of 842\n", + "11:32:44\tCompleted 381 of 842\n", + "11:32:45\tCompleted 382 of 842\n", + "11:32:45\tCompleted 383 of 842\n", + "11:32:45\tCompleted 384 of 842\n", + "11:32:45\tCompleted 385 of 842\n", + "11:32:45\tCompleted 386 of 842\n", + "11:32:45\tCompleted 387 of 842\n", + "11:32:46\tCompleted 388 of 842\n", + "11:32:46\tCompleted 389 of 842\n", + "11:32:46\tCompleted 390 of 842\n", + "11:32:46\tCompleted 391 of 842\n", + "11:32:46\tCompleted 392 of 842\n", + "11:32:46\tCompleted 393 of 842\n", + "11:32:47\tCompleted 394 of 842\n", + "11:32:47\tCompleted 395 of 842\n", + "11:32:47\tCompleted 396 of 842\n", + "11:32:47\tCompleted 397 of 842\n", + "11:32:47\tCompleted 398 of 842\n", + "11:32:48\tCompleted 399 of 842\n", + "11:32:48\tCompleted 400 of 842\n", + "11:32:48\tCompleted 401 of 842\n", + "11:32:48\tCompleted 402 of 842\n", + "11:32:49\tCompleted 403 of 842\n", + "11:32:49\tCompleted 404 of 842\n", + "11:32:49\tCompleted 405 of 842\n", + "11:32:49\tCompleted 406 of 842\n", + "11:32:49\tCompleted 407 of 842\n", + "11:32:50\tCompleted 408 of 842\n", + "11:32:50\tCompleted 409 of 842\n", + "11:32:50\tCompleted 410 of 842\n", + "11:32:50\tCompleted 411 of 842\n", + "11:32:50\tCompleted 412 of 842\n", + "11:32:50\tCompleted 413 of 842\n", + "11:32:51\tCompleted 414 of 842\n", + "11:32:51\tCompleted 415 of 842\n", + "11:32:51\tCompleted 416 of 842\n", + "11:32:51\tCompleted 417 of 842\n", + "11:32:51\tCompleted 418 of 842\n", + "11:32:52\tCompleted 419 of 842\n", + "11:32:52\tCompleted 420 of 842\n", + "11:32:52\tCompleted 421 of 842\n", + "11:32:52\tCompleted 422 of 842\n", + "11:32:52\tCompleted 423 of 842\n", + "11:32:53\tCompleted 424 of 842\n", + "11:32:53\tCompleted 425 of 842\n", + "11:32:53\tCompleted 426 of 842\n", + "11:32:53\tCompleted 427 of 842\n", + "11:32:53\tCompleted 428 of 842\n", + "11:32:53\tCompleted 429 of 842\n", + "11:32:54\tCompleted 430 of 842\n", + "11:32:54\tCompleted 431 of 842\n", + "11:32:54\tCompleted 432 of 842\n", + "11:32:54\tCompleted 433 of 842\n", + "11:32:54\tCompleted 434 of 842\n", + "11:32:55\tCompleted 435 of 842\n", + "11:32:55\tCompleted 436 of 842\n", + "11:32:55\tCompleted 437 of 842\n", + "11:32:55\tCompleted 438 of 842\n", + "11:32:55\tCompleted 439 of 842\n", + "11:32:56\tCompleted 440 of 842\n", + "11:32:56\tCompleted 441 of 842\n", + "11:32:56\tCompleted 442 of 842\n", + "11:32:56\tCompleted 443 of 842\n", + "11:32:57\tCompleted 444 of 842\n", + "11:32:57\tCompleted 445 of 842\n", + "11:32:57\tCompleted 446 of 842\n", + "11:32:57\tCompleted 447 of 842\n", + "11:32:57\tCompleted 448 of 842\n", + "11:32:57\tCompleted 449 of 842\n", + "11:32:58\tCompleted 450 of 842\n", + "11:32:58\tCompleted 451 of 842\n", + "11:32:58\tCompleted 452 of 842\n", + "11:32:58\tCompleted 453 of 842\n", + "11:32:59\tCompleted 454 of 842\n", + "11:32:59\tCompleted 455 of 842\n", + "11:32:59\tCompleted 456 of 842\n", + "11:32:59\tCompleted 457 of 842\n", + "11:32:59\tCompleted 458 of 842\n", + "11:33:00\tCompleted 459 of 842\n", + "11:33:00\tCompleted 460 of 842\n", + "11:33:00\tCompleted 461 of 842\n", + "11:33:00\tCompleted 462 of 842\n", + "11:33:01\tCompleted 463 of 842\n", + "11:33:01\tCompleted 464 of 842\n", + "11:33:01\tCompleted 465 of 842\n", + "11:33:01\tCompleted 466 of 842\n", + "11:33:01\tCompleted 467 of 842\n", + "11:33:01\tCompleted 468 of 842\n", + "11:33:01\tCompleted 469 of 842\n", + "11:33:02\tCompleted 470 of 842\n", + "11:33:02\tCompleted 471 of 842\n", + "11:33:02\tCompleted 472 of 842\n", + "11:33:02\tCompleted 473 of 842\n", + "11:33:03\tCompleted 474 of 842\n", + "11:33:03\tCompleted 475 of 842\n", + "11:33:03\tCompleted 476 of 842\n", + "11:33:03\tCompleted 477 of 842\n", + "11:33:04\tCompleted 478 of 842\n", + "11:33:04\tCompleted 479 of 842\n", + "11:33:04\tCompleted 480 of 842\n", + "11:33:04\tCompleted 481 of 842\n", + "11:33:04\tCompleted 482 of 842\n", + "11:33:05\tCompleted 483 of 842\n", + "11:33:05\tCompleted 484 of 842\n", + "11:33:05\tCompleted 485 of 842\n", + "11:33:05\tCompleted 486 of 842\n", + "11:33:05\tCompleted 487 of 842\n", + "11:33:06\tCompleted 488 of 842\n", + "11:33:06\tCompleted 489 of 842\n", + "11:33:06\tCompleted 490 of 842\n", + "11:33:06\tCompleted 491 of 842\n", + "11:33:06\tCompleted 492 of 842\n", + "11:33:07\tCompleted 493 of 842\n", + "11:33:07\tCompleted 494 of 842\n", + "11:33:07\tCompleted 495 of 842\n", + "11:33:07\tCompleted 496 of 842\n", + "11:33:08\tCompleted 497 of 842\n", + "11:33:08\tCompleted 498 of 842\n", + "11:33:08\tCompleted 499 of 842\n", + "11:33:08\tCompleted 500 of 842\n", + "11:33:08\tCompleted 501 of 842\n", + "11:33:08\tCompleted 502 of 842\n", + "11:33:09\tCompleted 503 of 842\n", + "11:33:09\tCompleted 504 of 842\n", + "11:33:09\tCompleted 505 of 842\n", + "11:33:09\tCompleted 506 of 842\n", + "11:33:09\tCompleted 507 of 842\n", + "11:33:10\tCompleted 508 of 842\n", + "11:33:10\tCompleted 509 of 842\n", + "11:33:10\tCompleted 510 of 842\n", + "11:33:10\tCompleted 511 of 842\n", + "11:33:10\tCompleted 512 of 842\n", + "11:33:11\tCompleted 513 of 842\n", + "11:33:11\tCompleted 514 of 842\n", + "11:33:11\tCompleted 515 of 842\n", + "11:33:12\tCompleted 516 of 842\n", + "11:33:12\tCompleted 517 of 842\n", + "11:33:12\tCompleted 518 of 842\n", + "11:33:12\tCompleted 519 of 842\n", + "11:33:13\tCompleted 520 of 842\n", + "11:33:13\tCompleted 521 of 842\n", + "11:33:13\tCompleted 522 of 842\n", + "11:33:13\tCompleted 523 of 842\n", + "11:33:13\tCompleted 524 of 842\n", + "11:33:14\tCompleted 525 of 842\n", + "11:33:14\tCompleted 526 of 842\n", + "11:33:14\tCompleted 527 of 842\n", + "11:33:14\tCompleted 528 of 842\n", + "11:33:14\tCompleted 529 of 842\n", + "11:33:15\tCompleted 530 of 842\n", + "11:33:15\tCompleted 531 of 842\n", + "11:33:15\tCompleted 532 of 842\n", + "11:33:15\tCompleted 533 of 842\n", + "11:33:15\tCompleted 534 of 842\n", + "11:33:16\tCompleted 535 of 842\n", + "11:33:16\tCompleted 536 of 842\n", + "11:33:16\tCompleted 537 of 842\n", + "11:33:16\tCompleted 538 of 842\n", + "11:33:16\tCompleted 539 of 842\n", + "11:33:17\tCompleted 540 of 842\n", + "11:33:17\tCompleted 541 of 842\n", + "11:33:17\tCompleted 542 of 842\n", + "11:33:17\tCompleted 543 of 842\n", + "11:33:17\tCompleted 544 of 842\n", + "11:33:18\tCompleted 545 of 842\n", + "11:33:18\tCompleted 546 of 842\n", + "11:33:18\tCompleted 547 of 842\n", + "11:33:18\tCompleted 548 of 842\n", + "11:33:19\tCompleted 549 of 842\n", + "11:33:19\tCompleted 550 of 842\n", + "11:33:19\tCompleted 551 of 842\n", + "11:33:19\tCompleted 552 of 842\n", + "11:33:19\tCompleted 553 of 842\n", + "11:33:20\tCompleted 554 of 842\n", + "11:33:20\tCompleted 555 of 842\n", + "11:33:20\tCompleted 556 of 842\n", + "11:33:20\tCompleted 557 of 842\n", + "11:33:20\tCompleted 558 of 842\n", + "11:33:20\tCompleted 559 of 842\n", + "11:33:21\tCompleted 560 of 842\n", + "11:33:21\tCompleted 561 of 842\n", + "11:33:21\tCompleted 562 of 842\n", + "11:33:21\tCompleted 563 of 842\n", + "11:33:21\tCompleted 564 of 842\n", + "11:33:21\tCompleted 565 of 842\n", + "11:33:22\tCompleted 566 of 842\n", + "11:33:22\tCompleted 567 of 842\n", + "11:33:22\tCompleted 568 of 842\n", + "11:33:22\tCompleted 569 of 842\n", + "11:33:22\tCompleted 570 of 842\n", + "11:33:23\tCompleted 571 of 842\n", + "11:33:23\tCompleted 572 of 842\n", + "11:33:23\tCompleted 573 of 842\n", + "11:33:23\tCompleted 574 of 842\n", + "11:33:24\tCompleted 575 of 842\n", + "11:33:24\tCompleted 576 of 842\n", + "11:33:24\tCompleted 577 of 842\n", + "11:33:24\tCompleted 578 of 842\n", + "11:33:24\tCompleted 579 of 842\n", + "11:33:25\tCompleted 580 of 842\n", + "11:33:25\tCompleted 581 of 842\n", + "11:33:25\tCompleted 582 of 842\n", + "11:33:25\tCompleted 583 of 842\n", + "11:33:25\tCompleted 584 of 842\n", + "11:33:26\tCompleted 585 of 842\n", + "11:33:26\tCompleted 586 of 842\n", + "11:33:26\tCompleted 587 of 842\n", + "11:33:26\tCompleted 588 of 842\n", + "11:33:26\tCompleted 589 of 842\n", + "11:33:26\tCompleted 590 of 842\n", + "11:33:27\tCompleted 591 of 842\n", + "11:33:27\tCompleted 592 of 842\n", + "11:33:27\tCompleted 593 of 842\n", + "11:33:27\tCompleted 594 of 842\n", + "11:33:27\tCompleted 595 of 842\n", + "11:33:28\tCompleted 596 of 842\n", + "11:33:28\tCompleted 597 of 842\n", + "11:33:28\tCompleted 598 of 842\n", + "11:33:28\tCompleted 599 of 842\n", + "11:33:28\tCompleted 600 of 842\n", + "11:33:28\tCompleted 601 of 842\n", + "11:33:29\tCompleted 602 of 842\n", + "11:33:29\tCompleted 603 of 842\n", + "11:33:29\tCompleted 604 of 842\n", + "11:33:29\tCompleted 605 of 842\n", + "11:33:29\tCompleted 606 of 842\n", + "11:33:30\tCompleted 607 of 842\n", + "11:33:30\tCompleted 608 of 842\n", + "11:33:30\tCompleted 609 of 842\n", + "11:33:30\tCompleted 610 of 842\n", + "11:33:30\tCompleted 611 of 842\n", + "11:33:31\tCompleted 612 of 842\n", + "11:33:31\tCompleted 613 of 842\n", + "11:33:31\tCompleted 614 of 842\n", + "11:33:31\tCompleted 615 of 842\n", + "11:33:31\tCompleted 616 of 842\n", + "11:33:31\tCompleted 617 of 842\n", + "11:33:32\tCompleted 618 of 842\n", + "11:33:32\tCompleted 619 of 842\n", + "11:33:32\tCompleted 620 of 842\n", + "11:33:32\tCompleted 621 of 842\n", + "11:33:33\tCompleted 622 of 842\n", + "11:33:33\tCompleted 623 of 842\n", + "11:33:33\tCompleted 624 of 842\n", + "11:33:33\tCompleted 625 of 842\n", + "11:33:33\tCompleted 626 of 842\n", + "11:33:33\tCompleted 627 of 842\n", + "11:33:34\tCompleted 628 of 842\n", + "11:33:34\tCompleted 629 of 842\n", + "11:33:34\tCompleted 630 of 842\n", + "11:33:34\tCompleted 631 of 842\n", + "11:33:34\tCompleted 632 of 842\n", + "11:33:35\tCompleted 633 of 842\n", + "11:33:35\tCompleted 634 of 842\n", + "11:33:35\tCompleted 635 of 842\n", + "11:33:35\tCompleted 636 of 842\n", + "11:33:35\tCompleted 637 of 842\n", + "11:33:36\tCompleted 638 of 842\n", + "11:33:36\tCompleted 639 of 842\n", + "11:33:36\tCompleted 640 of 842\n", + "11:33:36\tCompleted 641 of 842\n", + "11:33:36\tCompleted 642 of 842\n", + "11:33:36\tCompleted 643 of 842\n", + "11:33:37\tCompleted 644 of 842\n", + "11:33:37\tCompleted 645 of 842\n", + "11:33:37\tCompleted 646 of 842\n", + "11:33:37\tCompleted 647 of 842\n", + "11:33:37\tCompleted 648 of 842\n", + "11:33:38\tCompleted 649 of 842\n", + "11:33:38\tCompleted 650 of 842\n", + "11:33:38\tCompleted 651 of 842\n", + "11:33:38\tCompleted 652 of 842\n", + "11:33:38\tCompleted 653 of 842\n", + "11:33:39\tCompleted 654 of 842\n", + "11:33:39\tCompleted 655 of 842\n", + "11:33:39\tCompleted 656 of 842\n", + "11:33:39\tCompleted 657 of 842\n", + "11:33:39\tCompleted 658 of 842\n", + "11:33:40\tCompleted 659 of 842\n", + "11:33:40\tCompleted 660 of 842\n", + "11:33:40\tCompleted 661 of 842\n", + "11:33:40\tCompleted 662 of 842\n", + "11:33:40\tCompleted 663 of 842\n", + "11:33:41\tCompleted 664 of 842\n", + "11:33:41\tCompleted 665 of 842\n", + "11:33:41\tCompleted 666 of 842\n", + "11:33:41\tCompleted 667 of 842\n", + "11:33:42\tCompleted 668 of 842\n", + "11:33:42\tCompleted 669 of 842\n", + "11:33:42\tCompleted 670 of 842\n", + "11:33:42\tCompleted 671 of 842\n", + "11:33:42\tCompleted 672 of 842\n", + "11:33:42\tCompleted 673 of 842\n", + "11:33:43\tCompleted 674 of 842\n", + "11:33:43\tCompleted 675 of 842\n", + "11:33:43\tCompleted 676 of 842\n", + "11:33:43\tCompleted 677 of 842\n", + "11:33:43\tCompleted 678 of 842\n", + "11:33:44\tCompleted 679 of 842\n", + "11:33:44\tCompleted 680 of 842\n", + "11:33:44\tCompleted 681 of 842\n", + "11:33:44\tCompleted 682 of 842\n", + "11:33:44\tCompleted 683 of 842\n", + "11:33:45\tCompleted 684 of 842\n", + "11:33:45\tCompleted 685 of 842\n", + "11:33:45\tCompleted 686 of 842\n", + "11:33:45\tCompleted 687 of 842\n", + "11:33:45\tCompleted 688 of 842\n", + "11:33:46\tCompleted 689 of 842\n", + "11:33:46\tCompleted 690 of 842\n", + "11:33:46\tCompleted 691 of 842\n", + "11:33:46\tCompleted 692 of 842\n", + "11:33:46\tCompleted 693 of 842\n", + "11:33:47\tCompleted 694 of 842\n", + "11:33:47\tCompleted 695 of 842\n", + "11:33:47\tCompleted 696 of 842\n", + "11:33:47\tCompleted 697 of 842\n", + "11:33:47\tCompleted 698 of 842\n", + "11:33:48\tCompleted 699 of 842\n", + "11:33:48\tCompleted 700 of 842\n", + "11:33:48\tCompleted 701 of 842\n", + "11:33:48\tCompleted 702 of 842\n", + "11:33:49\tCompleted 703 of 842\n", + "11:33:49\tCompleted 704 of 842\n", + "11:33:49\tCompleted 705 of 842\n", + "11:33:49\tCompleted 706 of 842\n", + "11:33:49\tCompleted 707 of 842\n", + "11:33:50\tCompleted 708 of 842\n", + "11:33:50\tCompleted 709 of 842\n", + "11:33:50\tCompleted 710 of 842\n", + "11:33:50\tCompleted 711 of 842\n", + "11:33:50\tCompleted 712 of 842\n", + "11:33:51\tCompleted 713 of 842\n", + "11:33:51\tCompleted 714 of 842\n", + "11:33:51\tCompleted 715 of 842\n", + "11:33:51\tCompleted 716 of 842\n", + "11:33:51\tCompleted 717 of 842\n", + "11:33:51\tCompleted 718 of 842\n", + "11:33:52\tCompleted 719 of 842\n", + "11:33:52\tCompleted 720 of 842\n", + "11:33:52\tCompleted 721 of 842\n", + "11:33:52\tCompleted 722 of 842\n", + "11:33:52\tCompleted 723 of 842\n", + "11:33:52\tCompleted 724 of 842\n", + "11:33:53\tCompleted 725 of 842\n", + "11:33:53\tCompleted 726 of 842\n", + "11:33:53\tCompleted 727 of 842\n", + "11:33:53\tCompleted 728 of 842\n", + "11:33:53\tCompleted 729 of 842\n", + "11:33:54\tCompleted 730 of 842\n", + "11:33:54\tCompleted 731 of 842\n", + "11:33:54\tCompleted 732 of 842\n", + "11:33:54\tCompleted 733 of 842\n", + "11:33:54\tCompleted 734 of 842\n", + "11:33:54\tCompleted 735 of 842\n", + "11:33:55\tCompleted 736 of 842\n", + "11:33:55\tCompleted 737 of 842\n", + "11:33:55\tCompleted 738 of 842\n", + "11:33:55\tCompleted 739 of 842\n", + "11:33:55\tCompleted 740 of 842\n", + "11:33:56\tCompleted 741 of 842\n", + "11:33:56\tCompleted 742 of 842\n", + "11:33:56\tCompleted 743 of 842\n", + "11:33:56\tCompleted 744 of 842\n", + "11:33:56\tCompleted 745 of 842\n", + "11:33:57\tCompleted 746 of 842\n", + "11:33:57\tCompleted 747 of 842\n", + "11:33:57\tCompleted 748 of 842\n", + "11:33:57\tCompleted 749 of 842\n", + "11:33:57\tCompleted 750 of 842\n", + "11:33:58\tCompleted 751 of 842\n", + "11:33:58\tCompleted 752 of 842\n", + "11:33:58\tCompleted 753 of 842\n", + "11:33:58\tCompleted 754 of 842\n", + "11:33:58\tCompleted 755 of 842\n", + "11:33:59\tCompleted 756 of 842\n", + "11:33:59\tCompleted 757 of 842\n", + "11:33:59\tCompleted 758 of 842\n", + "11:33:59\tCompleted 759 of 842\n", + "11:33:59\tCompleted 760 of 842\n", + "11:34:00\tCompleted 761 of 842\n", + "11:34:00\tCompleted 762 of 842\n", + "11:34:00\tCompleted 763 of 842\n", + "11:34:00\tCompleted 764 of 842\n", + "11:34:00\tCompleted 765 of 842\n", + "11:34:00\tCompleted 766 of 842\n", + "11:34:01\tCompleted 767 of 842\n", + "11:34:01\tCompleted 768 of 842\n", + "11:34:01\tCompleted 769 of 842\n", + "11:34:01\tCompleted 770 of 842\n", + "11:34:01\tCompleted 771 of 842\n", + "11:34:02\tCompleted 772 of 842\n", + "11:34:02\tCompleted 773 of 842\n", + "11:34:02\tCompleted 774 of 842\n", + "11:34:02\tCompleted 775 of 842\n", + "11:34:02\tCompleted 776 of 842\n", + "11:34:03\tCompleted 777 of 842\n", + "11:34:03\tCompleted 778 of 842\n", + "11:34:03\tCompleted 779 of 842\n", + "11:34:03\tCompleted 780 of 842\n", + "11:34:04\tCompleted 781 of 842\n", + "11:34:04\tCompleted 782 of 842\n", + "11:34:04\tCompleted 783 of 842\n", + "11:34:04\tCompleted 784 of 842\n", + "11:34:04\tCompleted 785 of 842\n", + "11:34:05\tCompleted 786 of 842\n", + "11:34:05\tCompleted 787 of 842\n", + "11:34:05\tCompleted 788 of 842\n", + "11:34:05\tCompleted 789 of 842\n", + "11:34:05\tCompleted 790 of 842\n", + "11:34:06\tCompleted 791 of 842\n", + "11:34:06\tCompleted 792 of 842\n", + "11:34:06\tCompleted 793 of 842\n", + "11:34:06\tCompleted 794 of 842\n", + "11:34:06\tCompleted 795 of 842\n", + "11:34:06\tCompleted 796 of 842\n", + "11:34:07\tCompleted 797 of 842\n", + "11:34:07\tCompleted 798 of 842\n", + "11:34:07\tCompleted 799 of 842\n", + "11:34:07\tCompleted 800 of 842\n", + "11:34:07\tCompleted 801 of 842\n", + "11:34:08\tCompleted 802 of 842\n", + "11:34:08\tCompleted 803 of 842\n", + "11:34:08\tCompleted 804 of 842\n", + "11:34:08\tCompleted 805 of 842\n", + "11:34:08\tCompleted 806 of 842\n", + "11:34:09\tCompleted 807 of 842\n", + "11:34:09\tCompleted 808 of 842\n", + "11:34:09\tCompleted 809 of 842\n", + "11:34:09\tCompleted 810 of 842\n", + "11:34:09\tCompleted 811 of 842\n", + "11:34:10\tCompleted 812 of 842\n", + "11:34:10\tCompleted 813 of 842\n", + "11:34:10\tCompleted 814 of 842\n", + "11:34:10\tCompleted 815 of 842\n", + "11:34:10\tCompleted 816 of 842\n", + "11:34:11\tCompleted 817 of 842\n", + "11:34:11\tCompleted 818 of 842\n", + "11:34:11\tCompleted 819 of 842\n", + "11:34:11\tCompleted 820 of 842\n", + "11:34:11\tCompleted 821 of 842\n", + "11:34:11\tCompleted 822 of 842\n", + "11:34:12\tCompleted 823 of 842\n", + "11:34:12\tCompleted 824 of 842\n", + "11:34:12\tCompleted 825 of 842\n", + "11:34:12\tCompleted 826 of 842\n", + "11:34:12\tCompleted 827 of 842\n", + "11:34:12\tCompleted 828 of 842\n", + "11:34:13\tCompleted 829 of 842\n", + "11:34:13\tCompleted 830 of 842\n", + "11:34:13\tCompleted 831 of 842\n", + "11:34:13\tCompleted 832 of 842\n", + "11:34:13\tCompleted 833 of 842\n", + "11:34:14\tCompleted 834 of 842\n", + "11:34:14\tCompleted 835 of 842\n", + "11:34:14\tCompleted 836 of 842\n", + "11:34:14\tCompleted 837 of 842\n", + "11:34:14\tCompleted 838 of 842\n", + "11:34:14\tCompleted 839 of 842\n", + "11:34:15\tCompleted 840 of 842\n", + "11:34:15\tCompleted 841 of 842\n", + "11:34:15\tCompleted 842 of 842\n" ] } ], + "source": [ + "all_res = []\n", + "i = 0\n", + "for in_file in good_res:\n", + " full_path = f's3://{bucket}/{in_file}'\n", + " curD = pd.read_csv(full_path)\n", + " all_res.append(curD)\n", + " i += 1\n", + " tPrint(f\"Completed {i} of {len(good_res)}\")\n", + "\n", + "final_res = pd.concat(all_res)\n", + "final_res.drop(['Unnamed: 0'], axis=1).to_parquet(f's3://{bucket}/Space2Stats/parquet/GLOBAL/GHS_SMOD_Counts.parquet')" + ] + }, + { + "cell_type": "markdown", + "id": "c03d5244-c6c1-4414-972a-c2203b4f7ebf", + "metadata": {}, + "source": [ + "## Create table of nighttime lights values" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5fb496a3-066d-4eef-9e88-392550cc53d5", + "metadata": {}, + "outputs": [], + "source": [ + "# This contains nighttime light zonal stats for all individual months \n", + "# Define the AWS variables\n", + "# Define S3 parameters\n", + "bucket = 'wbg-geography01' \n", + "prefix = 'Space2Stats/parquet/GLOBAL/Urbanization/'\n", + "region = 'us-east-1'\n", + "s3client = boto3.client('s3', region_name=region)\n", + "\n", + "# Loop through the S3 bucket and get all the keys for files that are .tif \n", + "more_results = True\n", + "loops = 0\n", + "verbose=True\n", + "good_res = []\n", + "while more_results:\n", + " if verbose:\n", + " print(f\"Completed loop: {loops}\")\n", + " if loops > 0:\n", + " objects = s3client.list_objects_v2(Bucket=bucket, Prefix=prefix, ContinuationToken=token)\n", + " else:\n", + " objects = s3client.list_objects_v2(Bucket=bucket, Prefix=prefix)\n", + " more_results = objects['IsTruncated']\n", + " if more_results:\n", + " token = objects['NextContinuationToken']\n", + " loops += 1\n", + " for res in objects['Contents']:\n", + " if res['Key'].endswith('parquet'): \n", + " cur_variable = res['Key'].split(\"/\")[-3]\n", + " good_res.append(res['Key'])\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c9eaee22-eea4-4f63-a5b0-6d536c7cd58b", + "metadata": { + "scrolled": true + }, + "outputs": [], "source": [ "all_res = []\n", "for in_file in good_res:\n", @@ -450,6 +1141,40 @@ " all_res.append(curD.copy())" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "53520bb6-a04d-40e9-9d8a-fc22079f0eba", + "metadata": {}, + "outputs": [], + "source": [ + "f's3://{bucket}/{prefix[:-1]}_combined.parquet'" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f8c08f64-62ad-432f-8979-8ce1b83cdcea", + "metadata": {}, + "outputs": [], + "source": [ + "# loop through the features of the datasets and write iteravely to a parquet file\n", + "out_parquet = f's3://{bucket}/{prefix[:-1]}_combined.parquet'\n", + "\n", + "for c_res in all_res\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5cb03b3b-b25b-40cc-ac74-494410a55b2d", + "metadata": {}, + "outputs": [], + "source": [ + "c_res = all_res[0]\n", + "c_res.columns[0][-6:-2]" + ] + }, { "cell_type": "code", "execution_count": null, @@ -462,21 +1187,53 @@ "min_res = []\n", "max_res = []\n", "mean_res = []\n", + "annual_sums = {}\n", "for c_res in all_res:\n", - " sum_res.append(c_res.loc[:,[x for x in c_res.columns if \"SUM\" in x]].copy())\n", - " min_res.append(c_res.loc[:,[x for x in c_res.columns if \"MIN\" in x]].copy())\n", - " max_res.append(c_res.loc[:,[x for x in c_res.columns if \"MAX\" in x]].copy())\n", - " mean_res.append(c_res.loc[:,[x for x in c_res.columns if \"MEAN\" in x]].copy())\n", - "\n", - "i = 0\n", - "for c_res in sum_res:\n", - " tPrint(i)\n", + " #sum_res.append(c_res.loc[:,[x for x in c_res.columns if \"SUM\" in x]].copy())\n", + " #min_res.append(c_res.loc[:,[x for x in c_res.columns if \"MIN\" in x]].copy())\n", + " #max_res.append(c_res.loc[:,[x for x in c_res.columns if \"MAX\" in x]].copy())\n", + " #mean_res.append(c_res.loc[:,[x for x in c_res.columns if \"MEAN\" in x]].copy())\n", + " year = c_res.columns[0][-6:-2]\n", " try:\n", - " final = final.join(c_res)\n", + " annual_sums[year].append(c_res)\n", " except:\n", - " final = c_res\n", - " i += 1" + " annual_sums[year] = [c_res] \n", + "\n", + " \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4b3f71f3-1175-4530-8dd0-54f5241a618d", + "metadata": {}, + "outputs": [], + "source": [ + "annual_sums.keys()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c5bcbd4d-7111-4146-98d4-fda20b28ab7d", + "metadata": {}, + "outputs": [], + "source": [ + "tPrint(\"*** Start\")\n", + "for year, cur_data in annual_sums.items():\n", + " out_parquet = f's3://{bucket}/{prefix[:-1]}_{year}_combined.parquet'\n", + " yearly_res = pd.concat(cur_data, axis=1)\n", + " yearly_res.to_parquet(out_parquet)\n", + " tPrint(year)\n" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f77d3991-3022-4139-8b29-08c1b37d4ef8", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/notebooks/MP_SCRIPTS/testing.ipynb b/notebooks/MP_SCRIPTS/testing.ipynb index a1df7c5..3538c9b 100644 --- a/notebooks/MP_SCRIPTS/testing.ipynb +++ b/notebooks/MP_SCRIPTS/testing.ipynb @@ -2,9 +2,18 @@ "cells": [ { "cell_type": "code", - "execution_count": 4, + "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/wb411133/.conda/envs/ee/lib/python3.9/site-packages/geopandas/_compat.py:106: UserWarning: The Shapely GEOS version (3.9.1-CAPI-1.14.2) is incompatible with the GEOS version PyGEOS was compiled with (3.10.4-CAPI-1.16.2). Conversions between both will be slow.\n", + " warnings.warn(\n" + ] + } + ], "source": [ "import sys, os, multiprocessing, rasterio\n", "\n", @@ -20,6 +29,7 @@ "\n", "sys.path.append(\"../../src\")\n", "import h3_helper\n", + "import global_zonal\n", "\n", "AWS_S3_BUCKET = 'wbg-geography01'\n", "AWS_ACCESS_KEY_ID = os.getenv(\"AWS_ACCESS_KEY_ID\")\n", @@ -29,98 +39,269 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Loading pickle file h1_dictionary_of_h6_geodata_frames.pickle: it exists True\n" + ] + } + ], + "source": [ + "h3_1_list = h3_helper.generate_lvl1_lists(6, return_gdf=True, buffer0=True, read_pickle=True, write_pickle=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, "metadata": {}, "outputs": [], "source": [ - "# Get list of nighttime lights VIIRS data\n", - "### VPN OFF\n", - "ntl_files = ntl.aws_search_ntl()\n", - "xx = rasterio.open(ntl_files[0])" + "''' Run zonal stats on a continuous raster file using a matching categorical raster \n", + " file and a list of h3 cells. For each defined category in the categorical \n", + " raster file, calculate the sum, min, max, mean for that category.\n", + "\n", + " Parameters\n", + " ----------\n", + " gdf : geopandas.GeoDataFrame\n", + " data frame of polygons to run zonal stats with\n", + " gdf_id : str\n", + " column in gdf with unique id\n", + " raster_file : str\n", + " path to raster file of continuous values to summarize with gdf\n", + " category_raster_file : str\n", + " path to raster file of categorical data to categorize the raster_file\n", + " out_file : str\n", + " path to write results\n", + " categories : list of numbers, optional\n", + " List of unique categories in category_raster_file to summarize, defaults to None.\n", + " One of categories and reclass_dict must be defined\n", + " reclass_dict : dictionary\n", + " describes how to reclass category_raster_file if it is a continuous dataset, defaults to None.\n", + " One of categories and reclass_dict must be defined\n", + " buffer0 : boolean\n", + " Should gdf be buffered by 0 (fixes shapely shapes), defaults to False.\n", + " minVal : int\n", + " minimum value to summarize in raster_file, anything less than minVal is set to 0, defaults to None.\n", + " maxVal : int\n", + " maximum value to summarize in raster_file, anything more than maxVal is set to 0, defaults to None.\n", + " verbose : bool\n", + " print extraneous updates using print statements\n", + " '''\n", + "gdf = h3_1_list['81753ffffffffff']\n", + "ghsl_folder = \"/home/public/Data/GLOBAL/GHSL/\"\n", + "category_raster_file = os.path.join(ghsl_folder, \"SMOD\", \"GHS_SMOD_E2020_GLOBE_R2023A_54009_1000_V1_0.tif\")\n", + "raster_file = os.path.join(ghsl_folder, \"Pop\", \"GHS_POP_E2020_GLOBE_R2023A_54009_100_V1_0.tif\") \n", + "categories = [11,12,13,21,22,23,30]\n", + "minVal = 0\n", + "maxVal = 1000000\n", + "gdf_id = 'shape_id'\n", + "verbose = True" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "#extract category raster to gdf extent\n", + "cat_d, cat_profile = rMisc.clipRaster(rasterio.open(category_raster_file), gdf)\n", + "# extract raster to gdf extent\n", + "rast_d, rast_profile = rMisc.clipRaster(rasterio.open(raster_file), gdf)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, "metadata": {}, "outputs": [ { - "ename": "SSLError", - "evalue": "SSL validation failed for https://globalnightlight.s3.amazonaws.com/?list-type=2&prefix=composites&encoding-type=url [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1000)", + "name": "stdout", + "output_type": "stream", + "text": [ + "10:03:33\tProcessing 1000 of 16807\n", + "10:03:34\tProcessing 2000 of 16807\n", + "10:03:36\tProcessing 3000 of 16807\n", + "10:03:38\tProcessing 4000 of 16807\n", + "10:03:39\tProcessing 5000 of 16807\n", + "10:03:41\tProcessing 6000 of 16807\n", + "10:03:42\tProcessing 7000 of 16807\n", + "10:03:44\tProcessing 8000 of 16807\n", + "10:03:46\tProcessing 9000 of 16807\n", + "10:03:47\tProcessing 10000 of 16807\n", + "10:03:49\tProcessing 11000 of 16807\n", + "10:03:50\tProcessing 12000 of 16807\n", + "10:03:52\tProcessing 13000 of 16807\n", + "10:03:54\tProcessing 14000 of 16807\n", + "10:03:55\tProcessing 15000 of 16807\n", + "10:03:57\tProcessing 16000 of 16807\n" + ] + }, + { + "ename": "NameError", + "evalue": "name 'gdf_id' is not defined", "output_type": "error", "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mSSLCertVerificationError\u001b[0m Traceback (most recent call last)", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\urllib3\\connectionpool.py:468\u001b[0m, in \u001b[0;36mHTTPConnectionPool._make_request\u001b[1;34m(self, conn, method, url, body, headers, retries, timeout, chunked, response_conn, preload_content, decode_content, enforce_content_length)\u001b[0m\n\u001b[0;32m 467\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m--> 468\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_validate_conn(conn)\n\u001b[0;32m 469\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m (SocketTimeout, BaseSSLError) \u001b[38;5;28;01mas\u001b[39;00m e:\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\urllib3\\connectionpool.py:1097\u001b[0m, in \u001b[0;36mHTTPSConnectionPool._validate_conn\u001b[1;34m(self, conn)\u001b[0m\n\u001b[0;32m 1096\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m conn\u001b[38;5;241m.\u001b[39mis_closed:\n\u001b[1;32m-> 1097\u001b[0m conn\u001b[38;5;241m.\u001b[39mconnect()\n\u001b[0;32m 1099\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m conn\u001b[38;5;241m.\u001b[39mis_verified:\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\urllib3\\connection.py:642\u001b[0m, in \u001b[0;36mHTTPSConnection.connect\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 634\u001b[0m warnings\u001b[38;5;241m.\u001b[39mwarn(\n\u001b[0;32m 635\u001b[0m (\n\u001b[0;32m 636\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mSystem time is way off (before \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mRECENT_DATE\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m). This will probably \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 639\u001b[0m SystemTimeWarning,\n\u001b[0;32m 640\u001b[0m )\n\u001b[1;32m--> 642\u001b[0m sock_and_verified \u001b[38;5;241m=\u001b[39m _ssl_wrap_socket_and_match_hostname(\n\u001b[0;32m 643\u001b[0m sock\u001b[38;5;241m=\u001b[39msock,\n\u001b[0;32m 644\u001b[0m cert_reqs\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcert_reqs,\n\u001b[0;32m 645\u001b[0m ssl_version\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mssl_version,\n\u001b[0;32m 646\u001b[0m ssl_minimum_version\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mssl_minimum_version,\n\u001b[0;32m 647\u001b[0m ssl_maximum_version\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mssl_maximum_version,\n\u001b[0;32m 648\u001b[0m ca_certs\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mca_certs,\n\u001b[0;32m 649\u001b[0m ca_cert_dir\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mca_cert_dir,\n\u001b[0;32m 650\u001b[0m ca_cert_data\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mca_cert_data,\n\u001b[0;32m 651\u001b[0m cert_file\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcert_file,\n\u001b[0;32m 652\u001b[0m key_file\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mkey_file,\n\u001b[0;32m 653\u001b[0m key_password\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mkey_password,\n\u001b[0;32m 654\u001b[0m server_hostname\u001b[38;5;241m=\u001b[39mserver_hostname,\n\u001b[0;32m 655\u001b[0m ssl_context\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mssl_context,\n\u001b[0;32m 656\u001b[0m tls_in_tls\u001b[38;5;241m=\u001b[39mtls_in_tls,\n\u001b[0;32m 657\u001b[0m assert_hostname\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39massert_hostname,\n\u001b[0;32m 658\u001b[0m assert_fingerprint\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39massert_fingerprint,\n\u001b[0;32m 659\u001b[0m )\n\u001b[0;32m 660\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msock \u001b[38;5;241m=\u001b[39m sock_and_verified\u001b[38;5;241m.\u001b[39msocket\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\urllib3\\connection.py:783\u001b[0m, in \u001b[0;36m_ssl_wrap_socket_and_match_hostname\u001b[1;34m(sock, cert_reqs, ssl_version, ssl_minimum_version, ssl_maximum_version, cert_file, key_file, key_password, ca_certs, ca_cert_dir, ca_cert_data, assert_hostname, assert_fingerprint, server_hostname, ssl_context, tls_in_tls)\u001b[0m\n\u001b[0;32m 781\u001b[0m server_hostname \u001b[38;5;241m=\u001b[39m normalized\n\u001b[1;32m--> 783\u001b[0m ssl_sock \u001b[38;5;241m=\u001b[39m ssl_wrap_socket(\n\u001b[0;32m 784\u001b[0m sock\u001b[38;5;241m=\u001b[39msock,\n\u001b[0;32m 785\u001b[0m keyfile\u001b[38;5;241m=\u001b[39mkey_file,\n\u001b[0;32m 786\u001b[0m certfile\u001b[38;5;241m=\u001b[39mcert_file,\n\u001b[0;32m 787\u001b[0m key_password\u001b[38;5;241m=\u001b[39mkey_password,\n\u001b[0;32m 788\u001b[0m ca_certs\u001b[38;5;241m=\u001b[39mca_certs,\n\u001b[0;32m 789\u001b[0m ca_cert_dir\u001b[38;5;241m=\u001b[39mca_cert_dir,\n\u001b[0;32m 790\u001b[0m ca_cert_data\u001b[38;5;241m=\u001b[39mca_cert_data,\n\u001b[0;32m 791\u001b[0m server_hostname\u001b[38;5;241m=\u001b[39mserver_hostname,\n\u001b[0;32m 792\u001b[0m ssl_context\u001b[38;5;241m=\u001b[39mcontext,\n\u001b[0;32m 793\u001b[0m tls_in_tls\u001b[38;5;241m=\u001b[39mtls_in_tls,\n\u001b[0;32m 794\u001b[0m )\n\u001b[0;32m 796\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\urllib3\\util\\ssl_.py:471\u001b[0m, in \u001b[0;36mssl_wrap_socket\u001b[1;34m(sock, keyfile, certfile, cert_reqs, ca_certs, server_hostname, ssl_version, ciphers, ssl_context, ca_cert_dir, key_password, ca_cert_data, tls_in_tls)\u001b[0m\n\u001b[0;32m 469\u001b[0m \u001b[38;5;28;01mpass\u001b[39;00m\n\u001b[1;32m--> 471\u001b[0m ssl_sock \u001b[38;5;241m=\u001b[39m _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)\n\u001b[0;32m 472\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m ssl_sock\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\urllib3\\util\\ssl_.py:515\u001b[0m, in \u001b[0;36m_ssl_wrap_socket_impl\u001b[1;34m(sock, ssl_context, tls_in_tls, server_hostname)\u001b[0m\n\u001b[0;32m 513\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m SSLTransport(sock, ssl_context, server_hostname)\n\u001b[1;32m--> 515\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m ssl_context\u001b[38;5;241m.\u001b[39mwrap_socket(sock, server_hostname\u001b[38;5;241m=\u001b[39mserver_hostname)\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\ssl.py:455\u001b[0m, in \u001b[0;36mSSLContext.wrap_socket\u001b[1;34m(self, sock, server_side, do_handshake_on_connect, suppress_ragged_eofs, server_hostname, session)\u001b[0m\n\u001b[0;32m 449\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mwrap_socket\u001b[39m(\u001b[38;5;28mself\u001b[39m, sock, server_side\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m,\n\u001b[0;32m 450\u001b[0m do_handshake_on_connect\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m,\n\u001b[0;32m 451\u001b[0m suppress_ragged_eofs\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m,\n\u001b[0;32m 452\u001b[0m server_hostname\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, session\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[0;32m 453\u001b[0m \u001b[38;5;66;03m# SSLSocket class handles server_hostname encoding before it calls\u001b[39;00m\n\u001b[0;32m 454\u001b[0m \u001b[38;5;66;03m# ctx._wrap_socket()\u001b[39;00m\n\u001b[1;32m--> 455\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msslsocket_class\u001b[38;5;241m.\u001b[39m_create(\n\u001b[0;32m 456\u001b[0m sock\u001b[38;5;241m=\u001b[39msock,\n\u001b[0;32m 457\u001b[0m server_side\u001b[38;5;241m=\u001b[39mserver_side,\n\u001b[0;32m 458\u001b[0m do_handshake_on_connect\u001b[38;5;241m=\u001b[39mdo_handshake_on_connect,\n\u001b[0;32m 459\u001b[0m suppress_ragged_eofs\u001b[38;5;241m=\u001b[39msuppress_ragged_eofs,\n\u001b[0;32m 460\u001b[0m server_hostname\u001b[38;5;241m=\u001b[39mserver_hostname,\n\u001b[0;32m 461\u001b[0m context\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m,\n\u001b[0;32m 462\u001b[0m session\u001b[38;5;241m=\u001b[39msession\n\u001b[0;32m 463\u001b[0m )\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\ssl.py:1042\u001b[0m, in \u001b[0;36mSSLSocket._create\u001b[1;34m(cls, sock, server_side, do_handshake_on_connect, suppress_ragged_eofs, server_hostname, context, session)\u001b[0m\n\u001b[0;32m 1041\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdo_handshake_on_connect should not be specified for non-blocking sockets\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m-> 1042\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdo_handshake()\n\u001b[0;32m 1043\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m:\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\ssl.py:1320\u001b[0m, in \u001b[0;36mSSLSocket.do_handshake\u001b[1;34m(self, block)\u001b[0m\n\u001b[0;32m 1319\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msettimeout(\u001b[38;5;28;01mNone\u001b[39;00m)\n\u001b[1;32m-> 1320\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_sslobj\u001b[38;5;241m.\u001b[39mdo_handshake()\n\u001b[0;32m 1321\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n", - "\u001b[1;31mSSLCertVerificationError\u001b[0m: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1000)", - "\nDuring handling of the above exception, another exception occurred:\n", - "\u001b[1;31mSSLError\u001b[0m Traceback (most recent call last)", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\botocore\\httpsession.py:464\u001b[0m, in \u001b[0;36mURLLib3Session.send\u001b[1;34m(self, request)\u001b[0m\n\u001b[0;32m 463\u001b[0m request_target \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_request_target(request\u001b[38;5;241m.\u001b[39murl, proxy_url)\n\u001b[1;32m--> 464\u001b[0m urllib_response \u001b[38;5;241m=\u001b[39m conn\u001b[38;5;241m.\u001b[39murlopen(\n\u001b[0;32m 465\u001b[0m method\u001b[38;5;241m=\u001b[39mrequest\u001b[38;5;241m.\u001b[39mmethod,\n\u001b[0;32m 466\u001b[0m url\u001b[38;5;241m=\u001b[39mrequest_target,\n\u001b[0;32m 467\u001b[0m body\u001b[38;5;241m=\u001b[39mrequest\u001b[38;5;241m.\u001b[39mbody,\n\u001b[0;32m 468\u001b[0m headers\u001b[38;5;241m=\u001b[39mrequest\u001b[38;5;241m.\u001b[39mheaders,\n\u001b[0;32m 469\u001b[0m retries\u001b[38;5;241m=\u001b[39mRetry(\u001b[38;5;28;01mFalse\u001b[39;00m),\n\u001b[0;32m 470\u001b[0m assert_same_host\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m,\n\u001b[0;32m 471\u001b[0m preload_content\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m,\n\u001b[0;32m 472\u001b[0m decode_content\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m,\n\u001b[0;32m 473\u001b[0m chunked\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_chunked(request\u001b[38;5;241m.\u001b[39mheaders),\n\u001b[0;32m 474\u001b[0m )\n\u001b[0;32m 476\u001b[0m http_response \u001b[38;5;241m=\u001b[39m botocore\u001b[38;5;241m.\u001b[39mawsrequest\u001b[38;5;241m.\u001b[39mAWSResponse(\n\u001b[0;32m 477\u001b[0m request\u001b[38;5;241m.\u001b[39murl,\n\u001b[0;32m 478\u001b[0m urllib_response\u001b[38;5;241m.\u001b[39mstatus,\n\u001b[0;32m 479\u001b[0m urllib_response\u001b[38;5;241m.\u001b[39mheaders,\n\u001b[0;32m 480\u001b[0m urllib_response,\n\u001b[0;32m 481\u001b[0m )\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\urllib3\\connectionpool.py:845\u001b[0m, in \u001b[0;36mHTTPConnectionPool.urlopen\u001b[1;34m(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, preload_content, decode_content, **response_kw)\u001b[0m\n\u001b[0;32m 843\u001b[0m new_e \u001b[38;5;241m=\u001b[39m ProtocolError(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mConnection aborted.\u001b[39m\u001b[38;5;124m\"\u001b[39m, new_e)\n\u001b[1;32m--> 845\u001b[0m retries \u001b[38;5;241m=\u001b[39m retries\u001b[38;5;241m.\u001b[39mincrement(\n\u001b[0;32m 846\u001b[0m method, url, error\u001b[38;5;241m=\u001b[39mnew_e, _pool\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m, _stacktrace\u001b[38;5;241m=\u001b[39msys\u001b[38;5;241m.\u001b[39mexc_info()[\u001b[38;5;241m2\u001b[39m]\n\u001b[0;32m 847\u001b[0m )\n\u001b[0;32m 848\u001b[0m retries\u001b[38;5;241m.\u001b[39msleep()\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\urllib3\\util\\retry.py:445\u001b[0m, in \u001b[0;36mRetry.increment\u001b[1;34m(self, method, url, response, error, _pool, _stacktrace)\u001b[0m\n\u001b[0;32m 443\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtotal \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mFalse\u001b[39;00m \u001b[38;5;129;01mand\u001b[39;00m error:\n\u001b[0;32m 444\u001b[0m \u001b[38;5;66;03m# Disabled, indicate to re-raise the error.\u001b[39;00m\n\u001b[1;32m--> 445\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m reraise(\u001b[38;5;28mtype\u001b[39m(error), error, _stacktrace)\n\u001b[0;32m 447\u001b[0m total \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mtotal\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\urllib3\\util\\util.py:39\u001b[0m, in \u001b[0;36mreraise\u001b[1;34m(tp, value, tb)\u001b[0m\n\u001b[0;32m 38\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m value\u001b[38;5;241m.\u001b[39mwith_traceback(tb)\n\u001b[1;32m---> 39\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m value\n\u001b[0;32m 40\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\urllib3\\connectionpool.py:791\u001b[0m, in \u001b[0;36mHTTPConnectionPool.urlopen\u001b[1;34m(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, preload_content, decode_content, **response_kw)\u001b[0m\n\u001b[0;32m 790\u001b[0m \u001b[38;5;66;03m# Make the request on the HTTPConnection object\u001b[39;00m\n\u001b[1;32m--> 791\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_make_request(\n\u001b[0;32m 792\u001b[0m conn,\n\u001b[0;32m 793\u001b[0m method,\n\u001b[0;32m 794\u001b[0m url,\n\u001b[0;32m 795\u001b[0m timeout\u001b[38;5;241m=\u001b[39mtimeout_obj,\n\u001b[0;32m 796\u001b[0m body\u001b[38;5;241m=\u001b[39mbody,\n\u001b[0;32m 797\u001b[0m headers\u001b[38;5;241m=\u001b[39mheaders,\n\u001b[0;32m 798\u001b[0m chunked\u001b[38;5;241m=\u001b[39mchunked,\n\u001b[0;32m 799\u001b[0m retries\u001b[38;5;241m=\u001b[39mretries,\n\u001b[0;32m 800\u001b[0m response_conn\u001b[38;5;241m=\u001b[39mresponse_conn,\n\u001b[0;32m 801\u001b[0m preload_content\u001b[38;5;241m=\u001b[39mpreload_content,\n\u001b[0;32m 802\u001b[0m decode_content\u001b[38;5;241m=\u001b[39mdecode_content,\n\u001b[0;32m 803\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mresponse_kw,\n\u001b[0;32m 804\u001b[0m )\n\u001b[0;32m 806\u001b[0m \u001b[38;5;66;03m# Everything went great!\u001b[39;00m\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\urllib3\\connectionpool.py:492\u001b[0m, in \u001b[0;36mHTTPConnectionPool._make_request\u001b[1;34m(self, conn, method, url, body, headers, retries, timeout, chunked, response_conn, preload_content, decode_content, enforce_content_length)\u001b[0m\n\u001b[0;32m 491\u001b[0m new_e \u001b[38;5;241m=\u001b[39m _wrap_proxy_error(new_e, conn\u001b[38;5;241m.\u001b[39mproxy\u001b[38;5;241m.\u001b[39mscheme)\n\u001b[1;32m--> 492\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m new_e\n\u001b[0;32m 494\u001b[0m \u001b[38;5;66;03m# conn.request() calls http.client.*.request, not the method in\u001b[39;00m\n\u001b[0;32m 495\u001b[0m \u001b[38;5;66;03m# urllib3.request. It also calls makefile (recv) on the socket.\u001b[39;00m\n", - "\u001b[1;31mSSLError\u001b[0m: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1000)", - "\nDuring handling of the above exception, another exception occurred:\n", - "\u001b[1;31mSSLError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[1;32mIn[6], line 3\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;66;03m# Get list of nighttime lights VIIRS data\u001b[39;00m\n\u001b[0;32m 2\u001b[0m \u001b[38;5;66;03m### VPN ON\u001b[39;00m\n\u001b[1;32m----> 3\u001b[0m ntl_files \u001b[38;5;241m=\u001b[39m ntl\u001b[38;5;241m.\u001b[39maws_search_ntl()\n\u001b[0;32m 4\u001b[0m xx \u001b[38;5;241m=\u001b[39m rasterio\u001b[38;5;241m.\u001b[39mopen(ntl_files[\u001b[38;5;241m0\u001b[39m])\n", - "File \u001b[1;32mC:\\WBG\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\GOSTrocks\\dataMisc.py:40\u001b[0m, in \u001b[0;36maws_search_ntl\u001b[1;34m(bucket, prefix, region, unsigned, verbose)\u001b[0m\n\u001b[0;32m 38\u001b[0m objects \u001b[38;5;241m=\u001b[39m s3client\u001b[38;5;241m.\u001b[39mlist_objects_v2(Bucket\u001b[38;5;241m=\u001b[39mbucket, Prefix\u001b[38;5;241m=\u001b[39mprefix, ContinuationToken\u001b[38;5;241m=\u001b[39mtoken)\n\u001b[0;32m 39\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m---> 40\u001b[0m objects \u001b[38;5;241m=\u001b[39m s3client\u001b[38;5;241m.\u001b[39mlist_objects_v2(Bucket\u001b[38;5;241m=\u001b[39mbucket, Prefix\u001b[38;5;241m=\u001b[39mprefix)\n\u001b[0;32m 41\u001b[0m more_results \u001b[38;5;241m=\u001b[39m objects[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mIsTruncated\u001b[39m\u001b[38;5;124m'\u001b[39m]\n\u001b[0;32m 42\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m more_results:\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\botocore\\client.py:553\u001b[0m, in \u001b[0;36mClientCreator._create_api_method.._api_call\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m 549\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m(\n\u001b[0;32m 550\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mpy_operation_name\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m() only accepts keyword arguments.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 551\u001b[0m )\n\u001b[0;32m 552\u001b[0m \u001b[38;5;66;03m# The \"self\" in this scope is referring to the BaseClient.\u001b[39;00m\n\u001b[1;32m--> 553\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_make_api_call(operation_name, kwargs)\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\botocore\\client.py:989\u001b[0m, in \u001b[0;36mBaseClient._make_api_call\u001b[1;34m(self, operation_name, api_params)\u001b[0m\n\u001b[0;32m 985\u001b[0m maybe_compress_request(\n\u001b[0;32m 986\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmeta\u001b[38;5;241m.\u001b[39mconfig, request_dict, operation_model\n\u001b[0;32m 987\u001b[0m )\n\u001b[0;32m 988\u001b[0m apply_request_checksum(request_dict)\n\u001b[1;32m--> 989\u001b[0m http, parsed_response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_make_request(\n\u001b[0;32m 990\u001b[0m operation_model, request_dict, request_context\n\u001b[0;32m 991\u001b[0m )\n\u001b[0;32m 993\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmeta\u001b[38;5;241m.\u001b[39mevents\u001b[38;5;241m.\u001b[39memit(\n\u001b[0;32m 994\u001b[0m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mafter-call.\u001b[39m\u001b[38;5;132;01m{service_id}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;132;01m{operation_name}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;241m.\u001b[39mformat(\n\u001b[0;32m 995\u001b[0m service_id\u001b[38;5;241m=\u001b[39mservice_id, operation_name\u001b[38;5;241m=\u001b[39moperation_name\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 1000\u001b[0m context\u001b[38;5;241m=\u001b[39mrequest_context,\n\u001b[0;32m 1001\u001b[0m )\n\u001b[0;32m 1003\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m http\u001b[38;5;241m.\u001b[39mstatus_code \u001b[38;5;241m>\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m300\u001b[39m:\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\botocore\\client.py:1015\u001b[0m, in \u001b[0;36mBaseClient._make_request\u001b[1;34m(self, operation_model, request_dict, request_context)\u001b[0m\n\u001b[0;32m 1013\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_make_request\u001b[39m(\u001b[38;5;28mself\u001b[39m, operation_model, request_dict, request_context):\n\u001b[0;32m 1014\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m-> 1015\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_endpoint\u001b[38;5;241m.\u001b[39mmake_request(operation_model, request_dict)\n\u001b[0;32m 1016\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[0;32m 1017\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmeta\u001b[38;5;241m.\u001b[39mevents\u001b[38;5;241m.\u001b[39memit(\n\u001b[0;32m 1018\u001b[0m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mafter-call-error.\u001b[39m\u001b[38;5;132;01m{service_id}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;132;01m{operation_name}\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;241m.\u001b[39mformat(\n\u001b[0;32m 1019\u001b[0m service_id\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_service_model\u001b[38;5;241m.\u001b[39mservice_id\u001b[38;5;241m.\u001b[39mhyphenize(),\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 1023\u001b[0m context\u001b[38;5;241m=\u001b[39mrequest_context,\n\u001b[0;32m 1024\u001b[0m )\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\botocore\\endpoint.py:119\u001b[0m, in \u001b[0;36mEndpoint.make_request\u001b[1;34m(self, operation_model, request_dict)\u001b[0m\n\u001b[0;32m 113\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mmake_request\u001b[39m(\u001b[38;5;28mself\u001b[39m, operation_model, request_dict):\n\u001b[0;32m 114\u001b[0m logger\u001b[38;5;241m.\u001b[39mdebug(\n\u001b[0;32m 115\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMaking request for \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m with params: \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m 116\u001b[0m operation_model,\n\u001b[0;32m 117\u001b[0m request_dict,\n\u001b[0;32m 118\u001b[0m )\n\u001b[1;32m--> 119\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_send_request(request_dict, operation_model)\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\botocore\\endpoint.py:202\u001b[0m, in \u001b[0;36mEndpoint._send_request\u001b[1;34m(self, request_dict, operation_model)\u001b[0m\n\u001b[0;32m 198\u001b[0m request \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcreate_request(request_dict, operation_model)\n\u001b[0;32m 199\u001b[0m success_response, exception \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_response(\n\u001b[0;32m 200\u001b[0m request, operation_model, context\n\u001b[0;32m 201\u001b[0m )\n\u001b[1;32m--> 202\u001b[0m \u001b[38;5;28;01mwhile\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_needs_retry(\n\u001b[0;32m 203\u001b[0m attempts,\n\u001b[0;32m 204\u001b[0m operation_model,\n\u001b[0;32m 205\u001b[0m request_dict,\n\u001b[0;32m 206\u001b[0m success_response,\n\u001b[0;32m 207\u001b[0m exception,\n\u001b[0;32m 208\u001b[0m ):\n\u001b[0;32m 209\u001b[0m attempts \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1\u001b[39m\n\u001b[0;32m 210\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_update_retries_context(context, attempts, success_response)\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\botocore\\endpoint.py:354\u001b[0m, in \u001b[0;36mEndpoint._needs_retry\u001b[1;34m(self, attempts, operation_model, request_dict, response, caught_exception)\u001b[0m\n\u001b[0;32m 352\u001b[0m service_id \u001b[38;5;241m=\u001b[39m operation_model\u001b[38;5;241m.\u001b[39mservice_model\u001b[38;5;241m.\u001b[39mservice_id\u001b[38;5;241m.\u001b[39mhyphenize()\n\u001b[0;32m 353\u001b[0m event_name \u001b[38;5;241m=\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mneeds-retry.\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mservice_id\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;132;01m{\u001b[39;00moperation_model\u001b[38;5;241m.\u001b[39mname\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m--> 354\u001b[0m responses \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_event_emitter\u001b[38;5;241m.\u001b[39memit(\n\u001b[0;32m 355\u001b[0m event_name,\n\u001b[0;32m 356\u001b[0m response\u001b[38;5;241m=\u001b[39mresponse,\n\u001b[0;32m 357\u001b[0m endpoint\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m,\n\u001b[0;32m 358\u001b[0m operation\u001b[38;5;241m=\u001b[39moperation_model,\n\u001b[0;32m 359\u001b[0m attempts\u001b[38;5;241m=\u001b[39mattempts,\n\u001b[0;32m 360\u001b[0m caught_exception\u001b[38;5;241m=\u001b[39mcaught_exception,\n\u001b[0;32m 361\u001b[0m request_dict\u001b[38;5;241m=\u001b[39mrequest_dict,\n\u001b[0;32m 362\u001b[0m )\n\u001b[0;32m 363\u001b[0m handler_response \u001b[38;5;241m=\u001b[39m first_non_none_response(responses)\n\u001b[0;32m 364\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m handler_response \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\botocore\\hooks.py:412\u001b[0m, in \u001b[0;36mEventAliaser.emit\u001b[1;34m(self, event_name, **kwargs)\u001b[0m\n\u001b[0;32m 410\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21memit\u001b[39m(\u001b[38;5;28mself\u001b[39m, event_name, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[0;32m 411\u001b[0m aliased_event_name \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_alias_event_name(event_name)\n\u001b[1;32m--> 412\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_emitter\u001b[38;5;241m.\u001b[39memit(aliased_event_name, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\botocore\\hooks.py:256\u001b[0m, in \u001b[0;36mHierarchicalEmitter.emit\u001b[1;34m(self, event_name, **kwargs)\u001b[0m\n\u001b[0;32m 245\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21memit\u001b[39m(\u001b[38;5;28mself\u001b[39m, event_name, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[0;32m 246\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[0;32m 247\u001b[0m \u001b[38;5;124;03m Emit an event by name with arguments passed as keyword args.\u001b[39;00m\n\u001b[0;32m 248\u001b[0m \n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 254\u001b[0m \u001b[38;5;124;03m handlers.\u001b[39;00m\n\u001b[0;32m 255\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[1;32m--> 256\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_emit(event_name, kwargs)\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\botocore\\hooks.py:239\u001b[0m, in \u001b[0;36mHierarchicalEmitter._emit\u001b[1;34m(self, event_name, kwargs, stop_on_response)\u001b[0m\n\u001b[0;32m 237\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m handler \u001b[38;5;129;01min\u001b[39;00m handlers_to_call:\n\u001b[0;32m 238\u001b[0m logger\u001b[38;5;241m.\u001b[39mdebug(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mEvent \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m: calling handler \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m'\u001b[39m, event_name, handler)\n\u001b[1;32m--> 239\u001b[0m response \u001b[38;5;241m=\u001b[39m handler(\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m 240\u001b[0m responses\u001b[38;5;241m.\u001b[39mappend((handler, response))\n\u001b[0;32m 241\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m stop_on_response \u001b[38;5;129;01mand\u001b[39;00m response \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\botocore\\retryhandler.py:207\u001b[0m, in \u001b[0;36mRetryHandler.__call__\u001b[1;34m(self, attempts, response, caught_exception, **kwargs)\u001b[0m\n\u001b[0;32m 204\u001b[0m retries_context \u001b[38;5;241m=\u001b[39m kwargs[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mrequest_dict\u001b[39m\u001b[38;5;124m'\u001b[39m][\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mcontext\u001b[39m\u001b[38;5;124m'\u001b[39m]\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mretries\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m 205\u001b[0m checker_kwargs\u001b[38;5;241m.\u001b[39mupdate({\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mretries_context\u001b[39m\u001b[38;5;124m'\u001b[39m: retries_context})\n\u001b[1;32m--> 207\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_checker(\u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mchecker_kwargs):\n\u001b[0;32m 208\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_action(attempts\u001b[38;5;241m=\u001b[39mattempts)\n\u001b[0;32m 209\u001b[0m logger\u001b[38;5;241m.\u001b[39mdebug(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mRetry needed, action of: \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m\"\u001b[39m, result)\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\botocore\\retryhandler.py:284\u001b[0m, in \u001b[0;36mMaxAttemptsDecorator.__call__\u001b[1;34m(self, attempt_number, response, caught_exception, retries_context)\u001b[0m\n\u001b[0;32m 279\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m retries_context:\n\u001b[0;32m 280\u001b[0m retries_context[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mmax\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mmax\u001b[39m(\n\u001b[0;32m 281\u001b[0m retries_context\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mmax\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;241m0\u001b[39m), \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_max_attempts\n\u001b[0;32m 282\u001b[0m )\n\u001b[1;32m--> 284\u001b[0m should_retry \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_should_retry(\n\u001b[0;32m 285\u001b[0m attempt_number, response, caught_exception\n\u001b[0;32m 286\u001b[0m )\n\u001b[0;32m 287\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m should_retry:\n\u001b[0;32m 288\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m attempt_number \u001b[38;5;241m>\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_max_attempts:\n\u001b[0;32m 289\u001b[0m \u001b[38;5;66;03m# explicitly set MaxAttemptsReached\u001b[39;00m\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\botocore\\retryhandler.py:320\u001b[0m, in \u001b[0;36mMaxAttemptsDecorator._should_retry\u001b[1;34m(self, attempt_number, response, caught_exception)\u001b[0m\n\u001b[0;32m 316\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[0;32m 317\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 318\u001b[0m \u001b[38;5;66;03m# If we've exceeded the max attempts we just let the exception\u001b[39;00m\n\u001b[0;32m 319\u001b[0m \u001b[38;5;66;03m# propagate if one has occurred.\u001b[39;00m\n\u001b[1;32m--> 320\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_checker(attempt_number, response, caught_exception)\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\botocore\\retryhandler.py:363\u001b[0m, in \u001b[0;36mMultiChecker.__call__\u001b[1;34m(self, attempt_number, response, caught_exception)\u001b[0m\n\u001b[0;32m 361\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__call__\u001b[39m(\u001b[38;5;28mself\u001b[39m, attempt_number, response, caught_exception):\n\u001b[0;32m 362\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m checker \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_checkers:\n\u001b[1;32m--> 363\u001b[0m checker_response \u001b[38;5;241m=\u001b[39m checker(\n\u001b[0;32m 364\u001b[0m attempt_number, response, caught_exception\n\u001b[0;32m 365\u001b[0m )\n\u001b[0;32m 366\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m checker_response:\n\u001b[0;32m 367\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m checker_response\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\botocore\\retryhandler.py:247\u001b[0m, in \u001b[0;36mBaseChecker.__call__\u001b[1;34m(self, attempt_number, response, caught_exception)\u001b[0m\n\u001b[0;32m 245\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_check_response(attempt_number, response)\n\u001b[0;32m 246\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m caught_exception \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m--> 247\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_check_caught_exception(\n\u001b[0;32m 248\u001b[0m attempt_number, caught_exception\n\u001b[0;32m 249\u001b[0m )\n\u001b[0;32m 250\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 251\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mBoth response and caught_exception are None.\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\botocore\\retryhandler.py:416\u001b[0m, in \u001b[0;36mExceptionRaiser._check_caught_exception\u001b[1;34m(self, attempt_number, caught_exception)\u001b[0m\n\u001b[0;32m 408\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_check_caught_exception\u001b[39m(\u001b[38;5;28mself\u001b[39m, attempt_number, caught_exception):\n\u001b[0;32m 409\u001b[0m \u001b[38;5;66;03m# This is implementation specific, but this class is useful by\u001b[39;00m\n\u001b[0;32m 410\u001b[0m \u001b[38;5;66;03m# coordinating with the MaxAttemptsDecorator.\u001b[39;00m\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 414\u001b[0m \u001b[38;5;66;03m# the MaxAttemptsDecorator is not interested in retrying the exception\u001b[39;00m\n\u001b[0;32m 415\u001b[0m \u001b[38;5;66;03m# then this exception just propagates out past the retry code.\u001b[39;00m\n\u001b[1;32m--> 416\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m caught_exception\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\botocore\\endpoint.py:281\u001b[0m, in \u001b[0;36mEndpoint._do_get_response\u001b[1;34m(self, request, operation_model, context)\u001b[0m\n\u001b[0;32m 279\u001b[0m http_response \u001b[38;5;241m=\u001b[39m first_non_none_response(responses)\n\u001b[0;32m 280\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m http_response \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m--> 281\u001b[0m http_response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_send(request)\n\u001b[0;32m 282\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m HTTPClientError \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[0;32m 283\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m (\u001b[38;5;28;01mNone\u001b[39;00m, e)\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\botocore\\endpoint.py:377\u001b[0m, in \u001b[0;36mEndpoint._send\u001b[1;34m(self, request)\u001b[0m\n\u001b[0;32m 376\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_send\u001b[39m(\u001b[38;5;28mself\u001b[39m, request):\n\u001b[1;32m--> 377\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhttp_session\u001b[38;5;241m.\u001b[39msend(request)\n", - "File \u001b[1;32mc:\\wbg\\Anaconda3\\envs\\urban_test\\Lib\\site-packages\\botocore\\httpsession.py:491\u001b[0m, in \u001b[0;36mURLLib3Session.send\u001b[1;34m(self, request)\u001b[0m\n\u001b[0;32m 489\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m http_response\n\u001b[0;32m 490\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m URLLib3SSLError \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m--> 491\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m SSLError(endpoint_url\u001b[38;5;241m=\u001b[39mrequest\u001b[38;5;241m.\u001b[39murl, error\u001b[38;5;241m=\u001b[39me)\n\u001b[0;32m 492\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m (NewConnectionError, socket\u001b[38;5;241m.\u001b[39mgaierror) \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[0;32m 493\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m EndpointConnectionError(endpoint_url\u001b[38;5;241m=\u001b[39mrequest\u001b[38;5;241m.\u001b[39murl, error\u001b[38;5;241m=\u001b[39me)\n", - "\u001b[1;31mSSLError\u001b[0m: SSL validation failed for https://globalnightlight.s3.amazonaws.com/?list-type=2&prefix=composites&encoding-type=url [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain (_ssl.c:1000)" + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mrMisc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mzonalStats\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgdf\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcur_rast_src\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mminVal\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mminVal\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmaxVal\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmaxVal\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mverbose\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mverbose\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreProj\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mDataFrame\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mres\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolumns\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34mf'{cur_cat}_SUM'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34mf'{cur_cat}_MIN'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34mf'{cur_cat}_MAX'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34mf'{cur_cat}_MEAN'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 13\u001b[0;31m \u001b[0mres\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'id'\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mgdf_id\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 14\u001b[0m \u001b[0mres\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_index\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'id'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minplace\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 15\u001b[0m \u001b[0mfinal_zonal_res\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mres\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'gdf_id' is not defined" ] } ], "source": [ - "# Get list of nighttime lights VIIRS data\n", - "### VPN ON\n", - "ntl_files = ntl.aws_search_ntl()\n", - "xx = rasterio.open(ntl_files[0])" + "# standardize categorical raster to zonal raster\n", + "final_zonal_res = []\n", + "with rMisc.create_rasterio_inmemory(rast_profile, rast_d) as rast_src:\n", + " with rMisc.create_rasterio_inmemory(cat_profile, cat_d) as cat_src:\n", + " cat_d, cat_profile = rMisc.standardizeInputRasters(cat_src, rast_src, resampling_type='nearest') \n", + " # Loop through each category\n", + " for cur_cat in categories:\n", + " cur_cat_d = (cat_d == cur_cat) * 1\n", + " cur_rast_d = rast_d * cur_cat_d\n", + " with rMisc.create_rasterio_inmemory(rast_profile, cur_rast_d) as cur_rast_src:\n", + " res = rMisc.zonalStats(gdf, cur_rast_src, minVal=minVal, maxVal=maxVal, verbose=verbose, reProj=True)\n", + " res = pd.DataFrame(res, columns=[f'{cur_cat}_SUM', f'{cur_cat}_MIN', f'{cur_cat}_MAX', f'{cur_cat}_MEAN'])\n", + " res['id'] = gdf[gdf_id].values\n", + " res.set_index('id', inplace=True)\n", + " final_zonal_res.append(res)\n", + "ret = pd.concat(final_zonal_res, axis=1)\n", + "if verbose:\n", + " tPrint(f'**** finished')\n" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 33, "metadata": {}, "outputs": [ { "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
geometryshape_id
86752842fffffffPOLYGON ((-1.13963 7.05408, -1.11190 7.06010, ...86752842fffffff
8675142cfffffffPOLYGON ((-5.32976 8.48204, -5.30549 8.46892, ...8675142cfffffff
86751e367ffffffPOLYGON ((-5.07600 6.44495, -5.05242 6.43263, ...86751e367ffffff
867509b27ffffffPOLYGON ((-1.37872 4.58718, -1.35177 4.59248, ...867509b27ffffff
867500da7ffffffPOLYGON ((-3.48467 8.21337, -3.45776 8.21978, ...867500da7ffffff
.........
867509127ffffffPOLYGON ((-1.72340 4.69916, -1.69657 4.70450, ...867509127ffffff
8675041afffffffPOLYGON ((-3.02919 8.64681, -3.00194 8.65335, ...8675041afffffff
8675326afffffffPOLYGON ((-5.46685 9.48987, -5.44223 9.47636, ...8675326afffffff
86752e8b7ffffffPOLYGON ((-1.37098 8.05540, -1.34309 8.06172, ...86752e8b7ffffff
86750838fffffffPOLYGON ((-2.33501 5.06551, -2.30837 5.07095, ...86750838fffffff
\n", + "

16807 rows × 2 columns

\n", + "
" + ], "text/plain": [ - "'https://globalnightlight.s3.amazonaws.com/composites/j01_202306_ops/DNB_j01_20230601-20230630_global_ecm-slcorr_v10_ops.avg_rade9.tif'" + " geometry \\\n", + "86752842fffffff POLYGON ((-1.13963 7.05408, -1.11190 7.06010, ... \n", + "8675142cfffffff POLYGON ((-5.32976 8.48204, -5.30549 8.46892, ... \n", + "86751e367ffffff POLYGON ((-5.07600 6.44495, -5.05242 6.43263, ... \n", + "867509b27ffffff POLYGON ((-1.37872 4.58718, -1.35177 4.59248, ... \n", + "867500da7ffffff POLYGON ((-3.48467 8.21337, -3.45776 8.21978, ... \n", + "... ... \n", + "867509127ffffff POLYGON ((-1.72340 4.69916, -1.69657 4.70450, ... \n", + "8675041afffffff POLYGON ((-3.02919 8.64681, -3.00194 8.65335, ... \n", + "8675326afffffff POLYGON ((-5.46685 9.48987, -5.44223 9.47636, ... \n", + "86752e8b7ffffff POLYGON ((-1.37098 8.05540, -1.34309 8.06172, ... \n", + "86750838fffffff POLYGON ((-2.33501 5.06551, -2.30837 5.07095, ... \n", + "\n", + " shape_id \n", + "86752842fffffff 86752842fffffff \n", + "8675142cfffffff 8675142cfffffff \n", + "86751e367ffffff 86751e367ffffff \n", + "867509b27ffffff 867509b27ffffff \n", + "867500da7ffffff 867500da7ffffff \n", + "... ... \n", + "867509127ffffff 867509127ffffff \n", + "8675041afffffff 8675041afffffff \n", + "8675326afffffff 8675326afffffff \n", + "86752e8b7ffffff 86752e8b7ffffff \n", + "86750838fffffff 86750838fffffff \n", + "\n", + "[16807 rows x 2 columns]" ] }, - "execution_count": 7, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "ntl_files[0]" + "gdf" ] }, { @@ -133,9 +314,9 @@ ], "metadata": { "kernelspec": { - "display_name": "urban_test", + "display_name": "Earth Engine", "language": "python", - "name": "python3" + "name": "ee" }, "language_info": { "codemirror_mode": { @@ -147,9 +328,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.2" + "version": "3.9.4" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/notebooks/MP_SCRIPTS/zonal_urbanization.py b/notebooks/MP_SCRIPTS/zonal_urbanization.py index 67f5e32..0f17ae9 100644 --- a/notebooks/MP_SCRIPTS/zonal_urbanization.py +++ b/notebooks/MP_SCRIPTS/zonal_urbanization.py @@ -23,7 +23,7 @@ multiprocess=True verbose = True run_urban = True - run_urban_pop = False + run_urban_pop = True tPrint("Starting") h3_level = 6 @@ -34,7 +34,7 @@ unq_urban = [11,12,13,21,22,23,30] ghsl_folder = "/home/public/Data/GLOBAL/GHSL/" ghs_smod = os.path.join(ghsl_folder, "SMOD", "GHS_SMOD_E2020_GLOBE_R2023A_54009_1000_V1_0.tif") - ghs_pop = os.path.join(ghsl_folder, "POP", "GHS_POP_E2020_GLOBE_R2023A_54009_100_V1_0.tif") + ghs_pop = os.path.join(ghsl_folder, "Pop", "GHS_POP_E2020_GLOBE_R2023A_54009_100_V1_0.tif") #h3_0_list = h3_helper.generate_lvl0_lists(h3_level, return_gdf=True, buffer0=False) #if verbose: @@ -47,20 +47,18 @@ urban_pop_args = [] urban_args = [] for h3_1_key, cur_gdf in h3_1_list.items(): - # Set up mp arguments for urban population - pop_filename = 'GHS_POP_2020_Urban_Breakdown.csv' - pop_out_s3_key = f'Space2Stats/h3_stats_data/GLOBAL/{data_prefix_pop}/{h3_1_key}/{pop_filename}' - pop_full_path = os.path.join("s3://", AWS_S3_BUCKET, pop_out_s3_key) - try: - tempPD = pd.read_csv(pop_full_path) - except: + if run_urban_pop: + # Set up mp arguments for urban population + pop_filename = 'GHS_POP_2020_Urban_Breakdown.csv' + pop_out_s3_key = f'Space2Stats/h3_stats_data/GLOBAL/{data_prefix_pop}/{h3_1_key}/{pop_filename}' + pop_full_path = os.path.join("s3://", AWS_S3_BUCKET, pop_out_s3_key) urban_pop_args.append([cur_gdf, "shape_id", ghs_pop, ghs_smod, pop_full_path, unq_urban]) - - # set up mp arguments for urban summary - urban_filename = 'GHS_SMOD_2020.csv' - urban_out_s3_key = f'Space2Stats/h3_stats_data/GLOBAL/{data_prefix}/{h3_1_key}/{urban_filename}' - urban_full_path = os.path.join("s3://", AWS_S3_BUCKET, urban_out_s3_key) - urban_args.append([cur_gdf, "shape_id", ghs_smod, unq_urban, urban_full_path]) + if run_urban: + # set up mp arguments for urban summary + urban_filename = 'GHS_SMOD_2020.csv' + urban_out_s3_key = f'Space2Stats/h3_stats_data/GLOBAL/{data_prefix}/{h3_1_key}/{urban_filename}' + urban_full_path = os.path.join("s3://", AWS_S3_BUCKET, urban_out_s3_key) + urban_args.append([cur_gdf, "shape_id", ghs_smod, unq_urban, urban_full_path]) if run_urban: tPrint(f"Running calculations on urban: {len(urban_args)} processes") @@ -71,12 +69,12 @@ else: for a in arg_list: results = run_zonal(*a) + tPrint(f"Finished urban calculations: {len(results)}") for combo in results: out_file = list(combo.keys())[0] res = combo[out_file] res.to_csv( - f"s3://{AWS_S3_BUCKET}/{out_file}", - index=False, + out_file, storage_options={ "key": AWS_ACCESS_KEY_ID, "secret": AWS_SECRET_ACCESS_KEY, @@ -85,6 +83,7 @@ ) if run_urban_pop: + tPrint(f"Running calculations on urban population: {len(urban_pop_args)} processes") # Run multi processing on urban_pop_calculations if multiprocess: with multiprocessing.Pool(processes=min([70,len(urban_pop_args)])) as pool: @@ -92,15 +91,16 @@ else: for a in arg_list: results = run_zonal(*a) + tPrint(f"Finished urban pop calculations: {len(results)}") for combo in results: out_file = list(combo.keys())[0] res = combo[out_file] res.to_csv( - f"s3://{AWS_S3_BUCKET}/{out_file}", - index=False, + out_file, storage_options={ "key": AWS_ACCESS_KEY_ID, "secret": AWS_SECRET_ACCESS_KEY, "token": AWS_SESSION_TOKEN, }, - ) \ No newline at end of file + ) + tPrint("Finished") \ No newline at end of file diff --git a/src/global_zonal.py b/src/global_zonal.py index cfeba2f..180e781 100755 --- a/src/global_zonal.py +++ b/src/global_zonal.py @@ -1,4 +1,5 @@ import boto3, os +import rasterio import pandas as pd import geopandas as gpd @@ -271,18 +272,45 @@ def zonal_stats_categories(gdf, gdf_id, raster_file, categories, out_file, def zonal_stats_categorical(gdf, gdf_id, raster_file, category_raster_file, out_file, categories=None, reclass_dict=None, - buffer0=False, minVal=None, maxVal=None, verbose=False): + buffer0=False, minVal='', maxVal='', verbose=False): ''' Run zonal stats on a continuous raster file using a matching categorical raster file and a list of h3 cells. For each defined category in the categorical raster file, calculate the sum, min, max, mean for that category. + + Parameters + ---------- + gdf : geopandas.GeoDataFrame + data frame of polygons to run zonal stats with + gdf_id : str + column in gdf with unique id + raster_file : str + path to raster file of continuous values to summarize with gdf + category_raster_file : str + path to raster file of categorical data to categorize the raster_file + out_file : str + path to write results + categories : list of numbers, optional + List of unique categories in category_raster_file to summarize, defaults to None. + One of categories and reclass_dict must be defined + reclass_dict : dictionary + describes how to reclass category_raster_file if it is a continuous dataset, defaults to None. + One of categories and reclass_dict must be defined + buffer0 : boolean + Should gdf be buffered by 0 (fixes shapely shapes), defaults to False. + minVal : int + minimum value to summarize in raster_file, anything less than minVal is set to 0, defaults to None. + maxVal : int + maximum value to summarize in raster_file, anything more than maxVal is set to 0, defaults to None. + verbose : bool + print extraneous updates using print statements ''' - - tPrint(f'Starting zonal stats on {out_file}') + if verbose: + tPrint(f'Starting zonal stats on {out_file}') if buffer0: gdf['geometry'] = gdf['geometry'].buffer(0) #extract category raster to gdf extent - cat_d, cat_profile = rMisc.clipRaster(category_raster_file, gdf) + cat_d, cat_profile = rMisc.clipRaster(rasterio.open(category_raster_file), gdf) # reclasify if necessary if not reclass_dict is None: categories = [] @@ -290,7 +318,7 @@ def zonal_stats_categorical(gdf, gdf_id, raster_file, category_raster_file, out_ cat_d[(cat_d >= range[0]) & (cat_d <= range[1])] = key categories.append(key) # extract raster to gdf extent - rast_d, rast_profile = rMisc.clipRaster(raster_file, gdf) + rast_d, rast_profile = rMisc.clipRaster(rasterio.open(raster_file), gdf) # standardize categorical raster to zonal raster final_zonal_res = []