From d92638a13768fd3af412fd80a4df425273a6512d Mon Sep 17 00:00:00 2001 From: Alexandre Dulaunoy Date: Mon, 24 Jan 2022 10:33:56 +0100 Subject: [PATCH] new: [server] Add additional information about the country including average location, complete name and numeric code --- bin/server.py | 22 +- db/country.json | 1954 +++++++++++++++++++++ etc/server.conf.sample | 1 + tools/countries_codes_and_coordinates.csv | 257 +++ tools/country.json | 1954 +++++++++++++++++++++ tools/read-csv.py | 11 + 6 files changed, 4198 insertions(+), 1 deletion(-) create mode 100644 db/country.json create mode 100644 tools/countries_codes_and_coordinates.csv create mode 100644 tools/country.json create mode 100644 tools/read-csv.py diff --git a/bin/server.py b/bin/server.py index 21e07d3..7853b1c 100644 --- a/bin/server.py +++ b/bin/server.py @@ -9,6 +9,7 @@ import configparser import time from ipaddress import ip_address +import json from wsgiref.simple_server import make_server import falcon @@ -20,9 +21,13 @@ config.read('../etc/server.conf') mmdb_file = config['global'].get('mmdb_file') pubsub = config['global'].getboolean('lookup_pubsub') port = config['global'].getint('port') +country_file = config['global'].get('country_file') + +with open(country_file) as j: + country_info = json.load(j) + if pubsub: import redis - rdb = redis.Redis(host='127.0.0.1') meta = {} @@ -50,6 +55,13 @@ def pubLookup(value: str) -> bool: return True +def countryLookup(country: str) -> dict: + if country != 'None' or country is not None: + return country_info[country] + else: + return {} + + class GeoLookup: def on_get(self, req, resp, value): ret = [] @@ -64,6 +76,10 @@ class GeoLookup: ret.append(georesult) georesult['meta'] = meta georesult['ip'] = value + if georesult['country']['iso_code'] != 'None': + georesult['country_info'] = countryLookup(country=georesult['country']['iso_code']) + else: + georesult['country_info'] = {} resp.media = ret return @@ -76,6 +92,10 @@ class MyGeoLookup: ret.append(georesult) georesult['meta'] = meta georesult['ip'] = ips[0] + if georesult['country']['iso_code'] != 'None': + georesult['country_info'] = countryLookup(country=georesult['country']['iso_code']) + else: + georesult['country_info'] = {} resp.media = ret return diff --git a/db/country.json b/db/country.json new file mode 100644 index 0000000..03325e7 --- /dev/null +++ b/db/country.json @@ -0,0 +1,1954 @@ +{ + "AF": { + "Country": "Afghanistan", + "Alpha-2 code": "AF", + "Alpha-3 code": "AFG", + "Numeric code": "4", + "Latitude (average)": "33", + "Longitude (average)": "65" + }, + "AL": { + "Country": "Albania", + "Alpha-2 code": "AL", + "Alpha-3 code": "ALB", + "Numeric code": "8", + "Latitude (average)": "41", + "Longitude (average)": "20" + }, + "DZ": { + "Country": "Algeria", + "Alpha-2 code": "DZ", + "Alpha-3 code": "DZA", + "Numeric code": "12", + "Latitude (average)": "28", + "Longitude (average)": "3" + }, + "AS": { + "Country": "American Samoa", + "Alpha-2 code": "AS", + "Alpha-3 code": "ASM", + "Numeric code": "16", + "Latitude (average)": "-14.3333", + "Longitude (average)": "-170" + }, + "AD": { + "Country": "Andorra", + "Alpha-2 code": "AD", + "Alpha-3 code": "AND", + "Numeric code": "20", + "Latitude (average)": "42.5", + "Longitude (average)": "1.6" + }, + "AO": { + "Country": "Angola", + "Alpha-2 code": "AO", + "Alpha-3 code": "AGO", + "Numeric code": "24", + "Latitude (average)": "-12.5", + "Longitude (average)": "18.5" + }, + "AI": { + "Country": "Anguilla", + "Alpha-2 code": "AI", + "Alpha-3 code": "AIA", + "Numeric code": "660", + "Latitude (average)": "18.25", + "Longitude (average)": "-63.1667" + }, + "AQ": { + "Country": "Antarctica", + "Alpha-2 code": "AQ", + "Alpha-3 code": "ATA", + "Numeric code": "10", + "Latitude (average)": "-90", + "Longitude (average)": "0" + }, + "AG": { + "Country": "Antigua and Barbuda", + "Alpha-2 code": "AG", + "Alpha-3 code": "ATG", + "Numeric code": "28", + "Latitude (average)": "17.05", + "Longitude (average)": "-61.8" + }, + "AR": { + "Country": "Argentina", + "Alpha-2 code": "AR", + "Alpha-3 code": "ARG", + "Numeric code": "32", + "Latitude (average)": "-34", + "Longitude (average)": "-64" + }, + "AM": { + "Country": "Armenia", + "Alpha-2 code": "AM", + "Alpha-3 code": "ARM", + "Numeric code": "51", + "Latitude (average)": "40", + "Longitude (average)": "45" + }, + "AW": { + "Country": "Aruba", + "Alpha-2 code": "AW", + "Alpha-3 code": "ABW", + "Numeric code": "533", + "Latitude (average)": "12.5", + "Longitude (average)": "-69.9667" + }, + "AU": { + "Country": "Australia", + "Alpha-2 code": "AU", + "Alpha-3 code": "AUS", + "Numeric code": "36", + "Latitude (average)": "-27", + "Longitude (average)": "133" + }, + "AT": { + "Country": "Austria", + "Alpha-2 code": "AT", + "Alpha-3 code": "AUT", + "Numeric code": "40", + "Latitude (average)": "47.3333", + "Longitude (average)": "13.3333" + }, + "AZ": { + "Country": "Azerbaijan", + "Alpha-2 code": "AZ", + "Alpha-3 code": "AZE", + "Numeric code": "31", + "Latitude (average)": "40.5", + "Longitude (average)": "47.5" + }, + "BS": { + "Country": "Bahamas", + "Alpha-2 code": "BS", + "Alpha-3 code": "BHS", + "Numeric code": "44", + "Latitude (average)": "24.25", + "Longitude (average)": "-76" + }, + "BH": { + "Country": "Bahrain", + "Alpha-2 code": "BH", + "Alpha-3 code": "BHR", + "Numeric code": "48", + "Latitude (average)": "26", + "Longitude (average)": "50.55" + }, + "BD": { + "Country": "Bangladesh", + "Alpha-2 code": "BD", + "Alpha-3 code": "BGD", + "Numeric code": "50", + "Latitude (average)": "24", + "Longitude (average)": "90" + }, + "BB": { + "Country": "Barbados", + "Alpha-2 code": "BB", + "Alpha-3 code": "BRB", + "Numeric code": "52", + "Latitude (average)": "13.1667", + "Longitude (average)": "-59.5333" + }, + "BY": { + "Country": "Belarus", + "Alpha-2 code": "BY", + "Alpha-3 code": "BLR", + "Numeric code": "112", + "Latitude (average)": "53", + "Longitude (average)": "28" + }, + "BE": { + "Country": "Belgium", + "Alpha-2 code": "BE", + "Alpha-3 code": "BEL", + "Numeric code": "56", + "Latitude (average)": "50.8333", + "Longitude (average)": "4" + }, + "BZ": { + "Country": "Belize", + "Alpha-2 code": "BZ", + "Alpha-3 code": "BLZ", + "Numeric code": "84", + "Latitude (average)": "17.25", + "Longitude (average)": "-88.75" + }, + "BJ": { + "Country": "Benin", + "Alpha-2 code": "BJ", + "Alpha-3 code": "BEN", + "Numeric code": "204", + "Latitude (average)": "9.5", + "Longitude (average)": "2.25" + }, + "BM": { + "Country": "Bermuda", + "Alpha-2 code": "BM", + "Alpha-3 code": "BMU", + "Numeric code": "60", + "Latitude (average)": "32.3333", + "Longitude (average)": "-64.75" + }, + "BT": { + "Country": "Bhutan", + "Alpha-2 code": "BT", + "Alpha-3 code": "BTN", + "Numeric code": "64", + "Latitude (average)": "27.5", + "Longitude (average)": "90.5" + }, + "BO": { + "Country": "Bolivia", + "Alpha-2 code": "BO", + "Alpha-3 code": "BOL", + "Numeric code": "68", + "Latitude (average)": "-17", + "Longitude (average)": "-65" + }, + "BA": { + "Country": "Bosnia and Herzegovina", + "Alpha-2 code": "BA", + "Alpha-3 code": "BIH", + "Numeric code": "70", + "Latitude (average)": "44", + "Longitude (average)": "18" + }, + "BW": { + "Country": "Botswana", + "Alpha-2 code": "BW", + "Alpha-3 code": "BWA", + "Numeric code": "72", + "Latitude (average)": "-22", + "Longitude (average)": "24" + }, + "BV": { + "Country": "Bouvet Island", + "Alpha-2 code": "BV", + "Alpha-3 code": "BVT", + "Numeric code": "74", + "Latitude (average)": "-54.4333", + "Longitude (average)": "3.4" + }, + "BR": { + "Country": "Brazil", + "Alpha-2 code": "BR", + "Alpha-3 code": "BRA", + "Numeric code": "76", + "Latitude (average)": "-10", + "Longitude (average)": "-55" + }, + "IO": { + "Country": "British Indian Ocean Territory", + "Alpha-2 code": "IO", + "Alpha-3 code": "IOT", + "Numeric code": "86", + "Latitude (average)": "-6", + "Longitude (average)": "71.5" + }, + "BN": { + "Country": "Brunei", + "Alpha-2 code": "BN", + "Alpha-3 code": "BRN", + "Numeric code": "96", + "Latitude (average)": "4.5", + "Longitude (average)": "114.6667" + }, + "BG": { + "Country": "Bulgaria", + "Alpha-2 code": "BG", + "Alpha-3 code": "BGR", + "Numeric code": "100", + "Latitude (average)": "43", + "Longitude (average)": "25" + }, + "BF": { + "Country": "Burkina Faso", + "Alpha-2 code": "BF", + "Alpha-3 code": "BFA", + "Numeric code": "854", + "Latitude (average)": "13", + "Longitude (average)": "-2" + }, + "BI": { + "Country": "Burundi", + "Alpha-2 code": "BI", + "Alpha-3 code": "BDI", + "Numeric code": "108", + "Latitude (average)": "-3.5", + "Longitude (average)": "30" + }, + "KH": { + "Country": "Cambodia", + "Alpha-2 code": "KH", + "Alpha-3 code": "KHM", + "Numeric code": "116", + "Latitude (average)": "13", + "Longitude (average)": "105" + }, + "CM": { + "Country": "Cameroon", + "Alpha-2 code": "CM", + "Alpha-3 code": "CMR", + "Numeric code": "120", + "Latitude (average)": "6", + "Longitude (average)": "12" + }, + "CA": { + "Country": "Canada", + "Alpha-2 code": "CA", + "Alpha-3 code": "CAN", + "Numeric code": "124", + "Latitude (average)": "60", + "Longitude (average)": "-95" + }, + "CV": { + "Country": "Cape Verde", + "Alpha-2 code": "CV", + "Alpha-3 code": "CPV", + "Numeric code": "132", + "Latitude (average)": "16", + "Longitude (average)": "-24" + }, + "KY": { + "Country": "Cayman Islands", + "Alpha-2 code": "KY", + "Alpha-3 code": "CYM", + "Numeric code": "136", + "Latitude (average)": "19.5", + "Longitude (average)": "-80.5" + }, + "CF": { + "Country": "Central African Republic", + "Alpha-2 code": "CF", + "Alpha-3 code": "CAF", + "Numeric code": "140", + "Latitude (average)": "7", + "Longitude (average)": "21" + }, + "TD": { + "Country": "Chad", + "Alpha-2 code": "TD", + "Alpha-3 code": "TCD", + "Numeric code": "148", + "Latitude (average)": "15", + "Longitude (average)": "19" + }, + "CL": { + "Country": "Chile", + "Alpha-2 code": "CL", + "Alpha-3 code": "CHL", + "Numeric code": "152", + "Latitude (average)": "-30", + "Longitude (average)": "-71" + }, + "CN": { + "Country": "China", + "Alpha-2 code": "CN", + "Alpha-3 code": "CHN", + "Numeric code": "156", + "Latitude (average)": "35", + "Longitude (average)": "105" + }, + "CX": { + "Country": "Christmas Island", + "Alpha-2 code": "CX", + "Alpha-3 code": "CXR", + "Numeric code": "162", + "Latitude (average)": "-10.5", + "Longitude (average)": "105.6667" + }, + "CC": { + "Country": "Cocos (Keeling) Islands", + "Alpha-2 code": "CC", + "Alpha-3 code": "CCK", + "Numeric code": "166", + "Latitude (average)": "-12.5", + "Longitude (average)": "96.8333" + }, + "CO": { + "Country": "Colombia", + "Alpha-2 code": "CO", + "Alpha-3 code": "COL", + "Numeric code": "170", + "Latitude (average)": "4", + "Longitude (average)": "-72" + }, + "KM": { + "Country": "Comoros", + "Alpha-2 code": "KM", + "Alpha-3 code": "COM", + "Numeric code": "174", + "Latitude (average)": "-12.1667", + "Longitude (average)": "44.25" + }, + "CG": { + "Country": "Congo", + "Alpha-2 code": "CG", + "Alpha-3 code": "COG", + "Numeric code": "178", + "Latitude (average)": "-1", + "Longitude (average)": "15" + }, + "CD": { + "Country": "Congo, the Democratic Republic of the", + "Alpha-2 code": "CD", + "Alpha-3 code": "COD", + "Numeric code": "180", + "Latitude (average)": "0", + "Longitude (average)": "25" + }, + "CK": { + "Country": "Cook Islands", + "Alpha-2 code": "CK", + "Alpha-3 code": "COK", + "Numeric code": "184", + "Latitude (average)": "-21.2333", + "Longitude (average)": "-159.7667" + }, + "CR": { + "Country": "Costa Rica", + "Alpha-2 code": "CR", + "Alpha-3 code": "CRI", + "Numeric code": "188", + "Latitude (average)": "10", + "Longitude (average)": "-84" + }, + "CI": { + "Country": "Ivory Coast", + "Alpha-2 code": "CI", + "Alpha-3 code": "CIV", + "Numeric code": "384", + "Latitude (average)": "8", + "Longitude (average)": "-5" + }, + "HR": { + "Country": "Croatia", + "Alpha-2 code": "HR", + "Alpha-3 code": "HRV", + "Numeric code": "191", + "Latitude (average)": "45.1667", + "Longitude (average)": "15.5" + }, + "CU": { + "Country": "Cuba", + "Alpha-2 code": "CU", + "Alpha-3 code": "CUB", + "Numeric code": "192", + "Latitude (average)": "21.5", + "Longitude (average)": "-80" + }, + "CY": { + "Country": "Cyprus", + "Alpha-2 code": "CY", + "Alpha-3 code": "CYP", + "Numeric code": "196", + "Latitude (average)": "35", + "Longitude (average)": "33" + }, + "CZ": { + "Country": "Czech Republic", + "Alpha-2 code": "CZ", + "Alpha-3 code": "CZE", + "Numeric code": "203", + "Latitude (average)": "49.75", + "Longitude (average)": "15.5" + }, + "DK": { + "Country": "Denmark", + "Alpha-2 code": "DK", + "Alpha-3 code": "DNK", + "Numeric code": "208", + "Latitude (average)": "56", + "Longitude (average)": "10" + }, + "DJ": { + "Country": "Djibouti", + "Alpha-2 code": "DJ", + "Alpha-3 code": "DJI", + "Numeric code": "262", + "Latitude (average)": "11.5", + "Longitude (average)": "43" + }, + "DM": { + "Country": "Dominica", + "Alpha-2 code": "DM", + "Alpha-3 code": "DMA", + "Numeric code": "212", + "Latitude (average)": "15.4167", + "Longitude (average)": "-61.3333" + }, + "DO": { + "Country": "Dominican Republic", + "Alpha-2 code": "DO", + "Alpha-3 code": "DOM", + "Numeric code": "214", + "Latitude (average)": "19", + "Longitude (average)": "-70.6667" + }, + "EC": { + "Country": "Ecuador", + "Alpha-2 code": "EC", + "Alpha-3 code": "ECU", + "Numeric code": "218", + "Latitude (average)": "-2", + "Longitude (average)": "-77.5" + }, + "EG": { + "Country": "Egypt", + "Alpha-2 code": "EG", + "Alpha-3 code": "EGY", + "Numeric code": "818", + "Latitude (average)": "27", + "Longitude (average)": "30" + }, + "SV": { + "Country": "El Salvador", + "Alpha-2 code": "SV", + "Alpha-3 code": "SLV", + "Numeric code": "222", + "Latitude (average)": "13.8333", + "Longitude (average)": "-88.9167" + }, + "GQ": { + "Country": "Equatorial Guinea", + "Alpha-2 code": "GQ", + "Alpha-3 code": "GNQ", + "Numeric code": "226", + "Latitude (average)": "2", + "Longitude (average)": "10" + }, + "ER": { + "Country": "Eritrea", + "Alpha-2 code": "ER", + "Alpha-3 code": "ERI", + "Numeric code": "232", + "Latitude (average)": "15", + "Longitude (average)": "39" + }, + "EE": { + "Country": "Estonia", + "Alpha-2 code": "EE", + "Alpha-3 code": "EST", + "Numeric code": "233", + "Latitude (average)": "59", + "Longitude (average)": "26" + }, + "ET": { + "Country": "Ethiopia", + "Alpha-2 code": "ET", + "Alpha-3 code": "ETH", + "Numeric code": "231", + "Latitude (average)": "8", + "Longitude (average)": "38" + }, + "FK": { + "Country": "Falkland Islands (Malvinas)", + "Alpha-2 code": "FK", + "Alpha-3 code": "FLK", + "Numeric code": "238", + "Latitude (average)": "-51.75", + "Longitude (average)": "-59" + }, + "FO": { + "Country": "Faroe Islands", + "Alpha-2 code": "FO", + "Alpha-3 code": "FRO", + "Numeric code": "234", + "Latitude (average)": "62", + "Longitude (average)": "-7" + }, + "FJ": { + "Country": "Fiji", + "Alpha-2 code": "FJ", + "Alpha-3 code": "FJI", + "Numeric code": "242", + "Latitude (average)": "-18", + "Longitude (average)": "175" + }, + "FI": { + "Country": "Finland", + "Alpha-2 code": "FI", + "Alpha-3 code": "FIN", + "Numeric code": "246", + "Latitude (average)": "64", + "Longitude (average)": "26" + }, + "FR": { + "Country": "France", + "Alpha-2 code": "FR", + "Alpha-3 code": "FRA", + "Numeric code": "250", + "Latitude (average)": "46", + "Longitude (average)": "2" + }, + "GF": { + "Country": "French Guiana", + "Alpha-2 code": "GF", + "Alpha-3 code": "GUF", + "Numeric code": "254", + "Latitude (average)": "4", + "Longitude (average)": "-53" + }, + "PF": { + "Country": "French Polynesia", + "Alpha-2 code": "PF", + "Alpha-3 code": "PYF", + "Numeric code": "258", + "Latitude (average)": "-15", + "Longitude (average)": "-140" + }, + "TF": { + "Country": "French Southern Territories", + "Alpha-2 code": "TF", + "Alpha-3 code": "ATF", + "Numeric code": "260", + "Latitude (average)": "-43", + "Longitude (average)": "67" + }, + "GA": { + "Country": "Gabon", + "Alpha-2 code": "GA", + "Alpha-3 code": "GAB", + "Numeric code": "266", + "Latitude (average)": "-1", + "Longitude (average)": "11.75" + }, + "GM": { + "Country": "Gambia", + "Alpha-2 code": "GM", + "Alpha-3 code": "GMB", + "Numeric code": "270", + "Latitude (average)": "13.4667", + "Longitude (average)": "-16.5667" + }, + "GE": { + "Country": "Georgia", + "Alpha-2 code": "GE", + "Alpha-3 code": "GEO", + "Numeric code": "268", + "Latitude (average)": "42", + "Longitude (average)": "43.5" + }, + "DE": { + "Country": "Germany", + "Alpha-2 code": "DE", + "Alpha-3 code": "DEU", + "Numeric code": "276", + "Latitude (average)": "51", + "Longitude (average)": "9" + }, + "GH": { + "Country": "Ghana", + "Alpha-2 code": "GH", + "Alpha-3 code": "GHA", + "Numeric code": "288", + "Latitude (average)": "8", + "Longitude (average)": "-2" + }, + "GI": { + "Country": "Gibraltar", + "Alpha-2 code": "GI", + "Alpha-3 code": "GIB", + "Numeric code": "292", + "Latitude (average)": "36.1833", + "Longitude (average)": "-5.3667" + }, + "GR": { + "Country": "Greece", + "Alpha-2 code": "GR", + "Alpha-3 code": "GRC", + "Numeric code": "300", + "Latitude (average)": "39", + "Longitude (average)": "22" + }, + "GL": { + "Country": "Greenland", + "Alpha-2 code": "GL", + "Alpha-3 code": "GRL", + "Numeric code": "304", + "Latitude (average)": "72", + "Longitude (average)": "-40" + }, + "GD": { + "Country": "Grenada", + "Alpha-2 code": "GD", + "Alpha-3 code": "GRD", + "Numeric code": "308", + "Latitude (average)": "12.1167", + "Longitude (average)": "-61.6667" + }, + "GP": { + "Country": "Guadeloupe", + "Alpha-2 code": "GP", + "Alpha-3 code": "GLP", + "Numeric code": "312", + "Latitude (average)": "16.25", + "Longitude (average)": "-61.5833" + }, + "GU": { + "Country": "Guam", + "Alpha-2 code": "GU", + "Alpha-3 code": "GUM", + "Numeric code": "316", + "Latitude (average)": "13.4667", + "Longitude (average)": "144.7833" + }, + "GT": { + "Country": "Guatemala", + "Alpha-2 code": "GT", + "Alpha-3 code": "GTM", + "Numeric code": "320", + "Latitude (average)": "15.5", + "Longitude (average)": "-90.25" + }, + "GG": { + "Country": "Guernsey", + "Alpha-2 code": "GG", + "Alpha-3 code": "GGY", + "Numeric code": "831", + "Latitude (average)": "49.5", + "Longitude (average)": "-2.56" + }, + "GN": { + "Country": "Guinea", + "Alpha-2 code": "GN", + "Alpha-3 code": "GIN", + "Numeric code": "324", + "Latitude (average)": "11", + "Longitude (average)": "-10" + }, + "GW": { + "Country": "Guinea-Bissau", + "Alpha-2 code": "GW", + "Alpha-3 code": "GNB", + "Numeric code": "624", + "Latitude (average)": "12", + "Longitude (average)": "-15" + }, + "GY": { + "Country": "Guyana", + "Alpha-2 code": "GY", + "Alpha-3 code": "GUY", + "Numeric code": "328", + "Latitude (average)": "5", + "Longitude (average)": "-59" + }, + "HT": { + "Country": "Haiti", + "Alpha-2 code": "HT", + "Alpha-3 code": "HTI", + "Numeric code": "332", + "Latitude (average)": "19", + "Longitude (average)": "-72.4167" + }, + "HM": { + "Country": "Heard Island and McDonald Islands", + "Alpha-2 code": "HM", + "Alpha-3 code": "HMD", + "Numeric code": "334", + "Latitude (average)": "-53.1", + "Longitude (average)": "72.5167" + }, + "VA": { + "Country": "Holy See (Vatican City State)", + "Alpha-2 code": "VA", + "Alpha-3 code": "VAT", + "Numeric code": "336", + "Latitude (average)": "41.9", + "Longitude (average)": "12.45" + }, + "HN": { + "Country": "Honduras", + "Alpha-2 code": "HN", + "Alpha-3 code": "HND", + "Numeric code": "340", + "Latitude (average)": "15", + "Longitude (average)": "-86.5" + }, + "HK": { + "Country": "Hong Kong", + "Alpha-2 code": "HK", + "Alpha-3 code": "HKG", + "Numeric code": "344", + "Latitude (average)": "22.25", + "Longitude (average)": "114.1667" + }, + "HU": { + "Country": "Hungary", + "Alpha-2 code": "HU", + "Alpha-3 code": "HUN", + "Numeric code": "348", + "Latitude (average)": "47", + "Longitude (average)": "20" + }, + "IS": { + "Country": "Iceland", + "Alpha-2 code": "IS", + "Alpha-3 code": "ISL", + "Numeric code": "352", + "Latitude (average)": "65", + "Longitude (average)": "-18" + }, + "IN": { + "Country": "India", + "Alpha-2 code": "IN", + "Alpha-3 code": "IND", + "Numeric code": "356", + "Latitude (average)": "20", + "Longitude (average)": "77" + }, + "ID": { + "Country": "Indonesia", + "Alpha-2 code": "ID", + "Alpha-3 code": "IDN", + "Numeric code": "360", + "Latitude (average)": "-5", + "Longitude (average)": "120" + }, + "IR": { + "Country": "Iran, Islamic Republic of", + "Alpha-2 code": "IR", + "Alpha-3 code": "IRN", + "Numeric code": "364", + "Latitude (average)": "32", + "Longitude (average)": "53" + }, + "IQ": { + "Country": "Iraq", + "Alpha-2 code": "IQ", + "Alpha-3 code": "IRQ", + "Numeric code": "368", + "Latitude (average)": "33", + "Longitude (average)": "44" + }, + "IE": { + "Country": "Ireland", + "Alpha-2 code": "IE", + "Alpha-3 code": "IRL", + "Numeric code": "372", + "Latitude (average)": "53", + "Longitude (average)": "-8" + }, + "IM": { + "Country": "Isle of Man", + "Alpha-2 code": "IM", + "Alpha-3 code": "IMN", + "Numeric code": "833", + "Latitude (average)": "54.23", + "Longitude (average)": "-4.55" + }, + "IL": { + "Country": "Israel", + "Alpha-2 code": "IL", + "Alpha-3 code": "ISR", + "Numeric code": "376", + "Latitude (average)": "31.5", + "Longitude (average)": "34.75" + }, + "IT": { + "Country": "Italy", + "Alpha-2 code": "IT", + "Alpha-3 code": "ITA", + "Numeric code": "380", + "Latitude (average)": "42.8333", + "Longitude (average)": "12.8333" + }, + "JM": { + "Country": "Jamaica", + "Alpha-2 code": "JM", + "Alpha-3 code": "JAM", + "Numeric code": "388", + "Latitude (average)": "18.25", + "Longitude (average)": "-77.5" + }, + "JP": { + "Country": "Japan", + "Alpha-2 code": "JP", + "Alpha-3 code": "JPN", + "Numeric code": "392", + "Latitude (average)": "36", + "Longitude (average)": "138" + }, + "JE": { + "Country": "Jersey", + "Alpha-2 code": "JE", + "Alpha-3 code": "JEY", + "Numeric code": "832", + "Latitude (average)": "49.21", + "Longitude (average)": "-2.13" + }, + "JO": { + "Country": "Jordan", + "Alpha-2 code": "JO", + "Alpha-3 code": "JOR", + "Numeric code": "400", + "Latitude (average)": "31", + "Longitude (average)": "36" + }, + "KZ": { + "Country": "Kazakhstan", + "Alpha-2 code": "KZ", + "Alpha-3 code": "KAZ", + "Numeric code": "398", + "Latitude (average)": "48", + "Longitude (average)": "68" + }, + "KE": { + "Country": "Kenya", + "Alpha-2 code": "KE", + "Alpha-3 code": "KEN", + "Numeric code": "404", + "Latitude (average)": "1", + "Longitude (average)": "38" + }, + "KI": { + "Country": "Kiribati", + "Alpha-2 code": "KI", + "Alpha-3 code": "KIR", + "Numeric code": "296", + "Latitude (average)": "1.4167", + "Longitude (average)": "173" + }, + "KP": { + "Country": "Korea, Democratic People's Republic of", + "Alpha-2 code": "KP", + "Alpha-3 code": "PRK", + "Numeric code": "408", + "Latitude (average)": "40", + "Longitude (average)": "127" + }, + "KR": { + "Country": "South Korea", + "Alpha-2 code": "KR", + "Alpha-3 code": "KOR", + "Numeric code": "410", + "Latitude (average)": "37", + "Longitude (average)": "127.5" + }, + "KW": { + "Country": "Kuwait", + "Alpha-2 code": "KW", + "Alpha-3 code": "KWT", + "Numeric code": "414", + "Latitude (average)": "29.3375", + "Longitude (average)": "47.6581" + }, + "KG": { + "Country": "Kyrgyzstan", + "Alpha-2 code": "KG", + "Alpha-3 code": "KGZ", + "Numeric code": "417", + "Latitude (average)": "41", + "Longitude (average)": "75" + }, + "LA": { + "Country": "Lao People's Democratic Republic", + "Alpha-2 code": "LA", + "Alpha-3 code": "LAO", + "Numeric code": "418", + "Latitude (average)": "18", + "Longitude (average)": "105" + }, + "LV": { + "Country": "Latvia", + "Alpha-2 code": "LV", + "Alpha-3 code": "LVA", + "Numeric code": "428", + "Latitude (average)": "57", + "Longitude (average)": "25" + }, + "LB": { + "Country": "Lebanon", + "Alpha-2 code": "LB", + "Alpha-3 code": "LBN", + "Numeric code": "422", + "Latitude (average)": "33.8333", + "Longitude (average)": "35.8333" + }, + "LS": { + "Country": "Lesotho", + "Alpha-2 code": "LS", + "Alpha-3 code": "LSO", + "Numeric code": "426", + "Latitude (average)": "-29.5", + "Longitude (average)": "28.5" + }, + "LR": { + "Country": "Liberia", + "Alpha-2 code": "LR", + "Alpha-3 code": "LBR", + "Numeric code": "430", + "Latitude (average)": "6.5", + "Longitude (average)": "-9.5" + }, + "LY": { + "Country": "Libya", + "Alpha-2 code": "LY", + "Alpha-3 code": "LBY", + "Numeric code": "434", + "Latitude (average)": "25", + "Longitude (average)": "17" + }, + "LI": { + "Country": "Liechtenstein", + "Alpha-2 code": "LI", + "Alpha-3 code": "LIE", + "Numeric code": "438", + "Latitude (average)": "47.1667", + "Longitude (average)": "9.5333" + }, + "LT": { + "Country": "Lithuania", + "Alpha-2 code": "LT", + "Alpha-3 code": "LTU", + "Numeric code": "440", + "Latitude (average)": "56", + "Longitude (average)": "24" + }, + "LU": { + "Country": "Luxembourg", + "Alpha-2 code": "LU", + "Alpha-3 code": "LUX", + "Numeric code": "442", + "Latitude (average)": "49.75", + "Longitude (average)": "6.1667" + }, + "MO": { + "Country": "Macao", + "Alpha-2 code": "MO", + "Alpha-3 code": "MAC", + "Numeric code": "446", + "Latitude (average)": "22.1667", + "Longitude (average)": "113.55" + }, + "MK": { + "Country": "Macedonia, the former Yugoslav Republic of", + "Alpha-2 code": "MK", + "Alpha-3 code": "MKD", + "Numeric code": "807", + "Latitude (average)": "41.8333", + "Longitude (average)": "22" + }, + "MG": { + "Country": "Madagascar", + "Alpha-2 code": "MG", + "Alpha-3 code": "MDG", + "Numeric code": "450", + "Latitude (average)": "-20", + "Longitude (average)": "47" + }, + "MW": { + "Country": "Malawi", + "Alpha-2 code": "MW", + "Alpha-3 code": "MWI", + "Numeric code": "454", + "Latitude (average)": "-13.5", + "Longitude (average)": "34" + }, + "MY": { + "Country": "Malaysia", + "Alpha-2 code": "MY", + "Alpha-3 code": "MYS", + "Numeric code": "458", + "Latitude (average)": "2.5", + "Longitude (average)": "112.5" + }, + "MV": { + "Country": "Maldives", + "Alpha-2 code": "MV", + "Alpha-3 code": "MDV", + "Numeric code": "462", + "Latitude (average)": "3.25", + "Longitude (average)": "73" + }, + "ML": { + "Country": "Mali", + "Alpha-2 code": "ML", + "Alpha-3 code": "MLI", + "Numeric code": "466", + "Latitude (average)": "17", + "Longitude (average)": "-4" + }, + "MT": { + "Country": "Malta", + "Alpha-2 code": "MT", + "Alpha-3 code": "MLT", + "Numeric code": "470", + "Latitude (average)": "35.8333", + "Longitude (average)": "14.5833" + }, + "MH": { + "Country": "Marshall Islands", + "Alpha-2 code": "MH", + "Alpha-3 code": "MHL", + "Numeric code": "584", + "Latitude (average)": "9", + "Longitude (average)": "168" + }, + "MQ": { + "Country": "Martinique", + "Alpha-2 code": "MQ", + "Alpha-3 code": "MTQ", + "Numeric code": "474", + "Latitude (average)": "14.6667", + "Longitude (average)": "-61" + }, + "MR": { + "Country": "Mauritania", + "Alpha-2 code": "MR", + "Alpha-3 code": "MRT", + "Numeric code": "478", + "Latitude (average)": "20", + "Longitude (average)": "-12" + }, + "MU": { + "Country": "Mauritius", + "Alpha-2 code": "MU", + "Alpha-3 code": "MUS", + "Numeric code": "480", + "Latitude (average)": "-20.2833", + "Longitude (average)": "57.55" + }, + "YT": { + "Country": "Mayotte", + "Alpha-2 code": "YT", + "Alpha-3 code": "MYT", + "Numeric code": "175", + "Latitude (average)": "-12.8333", + "Longitude (average)": "45.1667" + }, + "MX": { + "Country": "Mexico", + "Alpha-2 code": "MX", + "Alpha-3 code": "MEX", + "Numeric code": "484", + "Latitude (average)": "23", + "Longitude (average)": "-102" + }, + "FM": { + "Country": "Micronesia, Federated States of", + "Alpha-2 code": "FM", + "Alpha-3 code": "FSM", + "Numeric code": "583", + "Latitude (average)": "6.9167", + "Longitude (average)": "158.25" + }, + "MD": { + "Country": "Moldova, Republic of", + "Alpha-2 code": "MD", + "Alpha-3 code": "MDA", + "Numeric code": "498", + "Latitude (average)": "47", + "Longitude (average)": "29" + }, + "MC": { + "Country": "Monaco", + "Alpha-2 code": "MC", + "Alpha-3 code": "MCO", + "Numeric code": "492", + "Latitude (average)": "43.7333", + "Longitude (average)": "7.4" + }, + "MN": { + "Country": "Mongolia", + "Alpha-2 code": "MN", + "Alpha-3 code": "MNG", + "Numeric code": "496", + "Latitude (average)": "46", + "Longitude (average)": "105" + }, + "ME": { + "Country": "Montenegro", + "Alpha-2 code": "ME", + "Alpha-3 code": "MNE", + "Numeric code": "499", + "Latitude (average)": "42", + "Longitude (average)": "19" + }, + "MS": { + "Country": "Montserrat", + "Alpha-2 code": "MS", + "Alpha-3 code": "MSR", + "Numeric code": "500", + "Latitude (average)": "16.75", + "Longitude (average)": "-62.2" + }, + "MA": { + "Country": "Morocco", + "Alpha-2 code": "MA", + "Alpha-3 code": "MAR", + "Numeric code": "504", + "Latitude (average)": "32", + "Longitude (average)": "-5" + }, + "MZ": { + "Country": "Mozambique", + "Alpha-2 code": "MZ", + "Alpha-3 code": "MOZ", + "Numeric code": "508", + "Latitude (average)": "-18.25", + "Longitude (average)": "35" + }, + "MM": { + "Country": "Burma", + "Alpha-2 code": "MM", + "Alpha-3 code": "MMR", + "Numeric code": "104", + "Latitude (average)": "22", + "Longitude (average)": "98" + }, + "NA": { + "Country": "Namibia", + "Alpha-2 code": "NA", + "Alpha-3 code": "NAM", + "Numeric code": "516", + "Latitude (average)": "-22", + "Longitude (average)": "17" + }, + "NR": { + "Country": "Nauru", + "Alpha-2 code": "NR", + "Alpha-3 code": "NRU", + "Numeric code": "520", + "Latitude (average)": "-0.5333", + "Longitude (average)": "166.9167" + }, + "NP": { + "Country": "Nepal", + "Alpha-2 code": "NP", + "Alpha-3 code": "NPL", + "Numeric code": "524", + "Latitude (average)": "28", + "Longitude (average)": "84" + }, + "NL": { + "Country": "Netherlands", + "Alpha-2 code": "NL", + "Alpha-3 code": "NLD", + "Numeric code": "528", + "Latitude (average)": "52.5", + "Longitude (average)": "5.75" + }, + "AN": { + "Country": "Netherlands Antilles", + "Alpha-2 code": "AN", + "Alpha-3 code": "ANT", + "Numeric code": "530", + "Latitude (average)": "12.25", + "Longitude (average)": "-68.75" + }, + "NC": { + "Country": "New Caledonia", + "Alpha-2 code": "NC", + "Alpha-3 code": "NCL", + "Numeric code": "540", + "Latitude (average)": "-21.5", + "Longitude (average)": "165.5" + }, + "NZ": { + "Country": "New Zealand", + "Alpha-2 code": "NZ", + "Alpha-3 code": "NZL", + "Numeric code": "554", + "Latitude (average)": "-41", + "Longitude (average)": "174" + }, + "NI": { + "Country": "Nicaragua", + "Alpha-2 code": "NI", + "Alpha-3 code": "NIC", + "Numeric code": "558", + "Latitude (average)": "13", + "Longitude (average)": "-85" + }, + "NE": { + "Country": "Niger", + "Alpha-2 code": "NE", + "Alpha-3 code": "NER", + "Numeric code": "562", + "Latitude (average)": "16", + "Longitude (average)": "8" + }, + "NG": { + "Country": "Nigeria", + "Alpha-2 code": "NG", + "Alpha-3 code": "NGA", + "Numeric code": "566", + "Latitude (average)": "10", + "Longitude (average)": "8" + }, + "NU": { + "Country": "Niue", + "Alpha-2 code": "NU", + "Alpha-3 code": "NIU", + "Numeric code": "570", + "Latitude (average)": "-19.0333", + "Longitude (average)": "-169.8667" + }, + "NF": { + "Country": "Norfolk Island", + "Alpha-2 code": "NF", + "Alpha-3 code": "NFK", + "Numeric code": "574", + "Latitude (average)": "-29.0333", + "Longitude (average)": "167.95" + }, + "MP": { + "Country": "Northern Mariana Islands", + "Alpha-2 code": "MP", + "Alpha-3 code": "MNP", + "Numeric code": "580", + "Latitude (average)": "15.2", + "Longitude (average)": "145.75" + }, + "NO": { + "Country": "Norway", + "Alpha-2 code": "NO", + "Alpha-3 code": "NOR", + "Numeric code": "578", + "Latitude (average)": "62", + "Longitude (average)": "10" + }, + "OM": { + "Country": "Oman", + "Alpha-2 code": "OM", + "Alpha-3 code": "OMN", + "Numeric code": "512", + "Latitude (average)": "21", + "Longitude (average)": "57" + }, + "PK": { + "Country": "Pakistan", + "Alpha-2 code": "PK", + "Alpha-3 code": "PAK", + "Numeric code": "586", + "Latitude (average)": "30", + "Longitude (average)": "70" + }, + "PW": { + "Country": "Palau", + "Alpha-2 code": "PW", + "Alpha-3 code": "PLW", + "Numeric code": "585", + "Latitude (average)": "7.5", + "Longitude (average)": "134.5" + }, + "PS": { + "Country": "Palestinian Territory, Occupied", + "Alpha-2 code": "PS", + "Alpha-3 code": "PSE", + "Numeric code": "275", + "Latitude (average)": "32", + "Longitude (average)": "35.25" + }, + "PA": { + "Country": "Panama", + "Alpha-2 code": "PA", + "Alpha-3 code": "PAN", + "Numeric code": "591", + "Latitude (average)": "9", + "Longitude (average)": "-80" + }, + "PG": { + "Country": "Papua New Guinea", + "Alpha-2 code": "PG", + "Alpha-3 code": "PNG", + "Numeric code": "598", + "Latitude (average)": "-6", + "Longitude (average)": "147" + }, + "PY": { + "Country": "Paraguay", + "Alpha-2 code": "PY", + "Alpha-3 code": "PRY", + "Numeric code": "600", + "Latitude (average)": "-23", + "Longitude (average)": "-58" + }, + "PE": { + "Country": "Peru", + "Alpha-2 code": "PE", + "Alpha-3 code": "PER", + "Numeric code": "604", + "Latitude (average)": "-10", + "Longitude (average)": "-76" + }, + "PH": { + "Country": "Philippines", + "Alpha-2 code": "PH", + "Alpha-3 code": "PHL", + "Numeric code": "608", + "Latitude (average)": "13", + "Longitude (average)": "122" + }, + "PN": { + "Country": "Pitcairn", + "Alpha-2 code": "PN", + "Alpha-3 code": "PCN", + "Numeric code": "612", + "Latitude (average)": "-24.7", + "Longitude (average)": "-127.4" + }, + "PL": { + "Country": "Poland", + "Alpha-2 code": "PL", + "Alpha-3 code": "POL", + "Numeric code": "616", + "Latitude (average)": "52", + "Longitude (average)": "20" + }, + "PT": { + "Country": "Portugal", + "Alpha-2 code": "PT", + "Alpha-3 code": "PRT", + "Numeric code": "620", + "Latitude (average)": "39.5", + "Longitude (average)": "-8" + }, + "PR": { + "Country": "Puerto Rico", + "Alpha-2 code": "PR", + "Alpha-3 code": "PRI", + "Numeric code": "630", + "Latitude (average)": "18.25", + "Longitude (average)": "-66.5" + }, + "QA": { + "Country": "Qatar", + "Alpha-2 code": "QA", + "Alpha-3 code": "QAT", + "Numeric code": "634", + "Latitude (average)": "25.5", + "Longitude (average)": "51.25" + }, + "RE": { + "Country": "Réunion", + "Alpha-2 code": "RE", + "Alpha-3 code": "REU", + "Numeric code": "638", + "Latitude (average)": "-21.1", + "Longitude (average)": "55.6" + }, + "RO": { + "Country": "Romania", + "Alpha-2 code": "RO", + "Alpha-3 code": "ROU", + "Numeric code": "642", + "Latitude (average)": "46", + "Longitude (average)": "25" + }, + "RU": { + "Country": "Russia", + "Alpha-2 code": "RU", + "Alpha-3 code": "RUS", + "Numeric code": "643", + "Latitude (average)": "60", + "Longitude (average)": "100" + }, + "RW": { + "Country": "Rwanda", + "Alpha-2 code": "RW", + "Alpha-3 code": "RWA", + "Numeric code": "646", + "Latitude (average)": "-2", + "Longitude (average)": "30" + }, + "SH": { + "Country": "Saint Helena, Ascension and Tristan da Cunha", + "Alpha-2 code": "SH", + "Alpha-3 code": "SHN", + "Numeric code": "654", + "Latitude (average)": "-15.9333", + "Longitude (average)": "-5.7" + }, + "KN": { + "Country": "Saint Kitts and Nevis", + "Alpha-2 code": "KN", + "Alpha-3 code": "KNA", + "Numeric code": "659", + "Latitude (average)": "17.3333", + "Longitude (average)": "-62.75" + }, + "LC": { + "Country": "Saint Lucia", + "Alpha-2 code": "LC", + "Alpha-3 code": "LCA", + "Numeric code": "662", + "Latitude (average)": "13.8833", + "Longitude (average)": "-61.1333" + }, + "PM": { + "Country": "Saint Pierre and Miquelon", + "Alpha-2 code": "PM", + "Alpha-3 code": "SPM", + "Numeric code": "666", + "Latitude (average)": "46.8333", + "Longitude (average)": "-56.3333" + }, + "VC": { + "Country": "St. Vincent and the Grenadines", + "Alpha-2 code": "VC", + "Alpha-3 code": "VCT", + "Numeric code": "670", + "Latitude (average)": "13.25", + "Longitude (average)": "-61.2" + }, + "WS": { + "Country": "Samoa", + "Alpha-2 code": "WS", + "Alpha-3 code": "WSM", + "Numeric code": "882", + "Latitude (average)": "-13.5833", + "Longitude (average)": "-172.3333" + }, + "SM": { + "Country": "San Marino", + "Alpha-2 code": "SM", + "Alpha-3 code": "SMR", + "Numeric code": "674", + "Latitude (average)": "43.7667", + "Longitude (average)": "12.4167" + }, + "ST": { + "Country": "Sao Tome and Principe", + "Alpha-2 code": "ST", + "Alpha-3 code": "STP", + "Numeric code": "678", + "Latitude (average)": "1", + "Longitude (average)": "7" + }, + "SA": { + "Country": "Saudi Arabia", + "Alpha-2 code": "SA", + "Alpha-3 code": "SAU", + "Numeric code": "682", + "Latitude (average)": "25", + "Longitude (average)": "45" + }, + "SN": { + "Country": "Senegal", + "Alpha-2 code": "SN", + "Alpha-3 code": "SEN", + "Numeric code": "686", + "Latitude (average)": "14", + "Longitude (average)": "-14" + }, + "RS": { + "Country": "Serbia", + "Alpha-2 code": "RS", + "Alpha-3 code": "SRB", + "Numeric code": "688", + "Latitude (average)": "44", + "Longitude (average)": "21" + }, + "SC": { + "Country": "Seychelles", + "Alpha-2 code": "SC", + "Alpha-3 code": "SYC", + "Numeric code": "690", + "Latitude (average)": "-4.5833", + "Longitude (average)": "55.6667" + }, + "SL": { + "Country": "Sierra Leone", + "Alpha-2 code": "SL", + "Alpha-3 code": "SLE", + "Numeric code": "694", + "Latitude (average)": "8.5", + "Longitude (average)": "-11.5" + }, + "SG": { + "Country": "Singapore", + "Alpha-2 code": "SG", + "Alpha-3 code": "SGP", + "Numeric code": "702", + "Latitude (average)": "1.3667", + "Longitude (average)": "103.8" + }, + "SK": { + "Country": "Slovakia", + "Alpha-2 code": "SK", + "Alpha-3 code": "SVK", + "Numeric code": "703", + "Latitude (average)": "48.6667", + "Longitude (average)": "19.5" + }, + "SI": { + "Country": "Slovenia", + "Alpha-2 code": "SI", + "Alpha-3 code": "SVN", + "Numeric code": "705", + "Latitude (average)": "46", + "Longitude (average)": "15" + }, + "SB": { + "Country": "Solomon Islands", + "Alpha-2 code": "SB", + "Alpha-3 code": "SLB", + "Numeric code": "90", + "Latitude (average)": "-8", + "Longitude (average)": "159" + }, + "SO": { + "Country": "Somalia", + "Alpha-2 code": "SO", + "Alpha-3 code": "SOM", + "Numeric code": "706", + "Latitude (average)": "10", + "Longitude (average)": "49" + }, + "ZA": { + "Country": "South Africa", + "Alpha-2 code": "ZA", + "Alpha-3 code": "ZAF", + "Numeric code": "710", + "Latitude (average)": "-29", + "Longitude (average)": "24" + }, + "GS": { + "Country": "South Georgia and the South Sandwich Islands", + "Alpha-2 code": "GS", + "Alpha-3 code": "SGS", + "Numeric code": "239", + "Latitude (average)": "-54.5", + "Longitude (average)": "-37" + }, + "SS": { + "Country": "South Sudan", + "Alpha-2 code": "SS", + "Alpha-3 code": "SSD", + "Numeric code": "728", + "Latitude (average)": "8", + "Longitude (average)": "30" + }, + "ES": { + "Country": "Spain", + "Alpha-2 code": "ES", + "Alpha-3 code": "ESP", + "Numeric code": "724", + "Latitude (average)": "40", + "Longitude (average)": "-4" + }, + "LK": { + "Country": "Sri Lanka", + "Alpha-2 code": "LK", + "Alpha-3 code": "LKA", + "Numeric code": "144", + "Latitude (average)": "7", + "Longitude (average)": "81" + }, + "SD": { + "Country": "Sudan", + "Alpha-2 code": "SD", + "Alpha-3 code": "SDN", + "Numeric code": "736", + "Latitude (average)": "15", + "Longitude (average)": "30" + }, + "SR": { + "Country": "Suriname", + "Alpha-2 code": "SR", + "Alpha-3 code": "SUR", + "Numeric code": "740", + "Latitude (average)": "4", + "Longitude (average)": "-56" + }, + "SJ": { + "Country": "Svalbard and Jan Mayen", + "Alpha-2 code": "SJ", + "Alpha-3 code": "SJM", + "Numeric code": "744", + "Latitude (average)": "78", + "Longitude (average)": "20" + }, + "SZ": { + "Country": "Swaziland", + "Alpha-2 code": "SZ", + "Alpha-3 code": "SWZ", + "Numeric code": "748", + "Latitude (average)": "-26.5", + "Longitude (average)": "31.5" + }, + "SE": { + "Country": "Sweden", + "Alpha-2 code": "SE", + "Alpha-3 code": "SWE", + "Numeric code": "752", + "Latitude (average)": "62", + "Longitude (average)": "15" + }, + "CH": { + "Country": "Switzerland", + "Alpha-2 code": "CH", + "Alpha-3 code": "CHE", + "Numeric code": "756", + "Latitude (average)": "47", + "Longitude (average)": "8" + }, + "SY": { + "Country": "Syrian Arab Republic", + "Alpha-2 code": "SY", + "Alpha-3 code": "SYR", + "Numeric code": "760", + "Latitude (average)": "35", + "Longitude (average)": "38" + }, + "TW": { + "Country": "Taiwan", + "Alpha-2 code": "TW", + "Alpha-3 code": "TWN", + "Numeric code": "158", + "Latitude (average)": "23.5", + "Longitude (average)": "121" + }, + "TJ": { + "Country": "Tajikistan", + "Alpha-2 code": "TJ", + "Alpha-3 code": "TJK", + "Numeric code": "762", + "Latitude (average)": "39", + "Longitude (average)": "71" + }, + "TZ": { + "Country": "Tanzania, United Republic of", + "Alpha-2 code": "TZ", + "Alpha-3 code": "TZA", + "Numeric code": "834", + "Latitude (average)": "-6", + "Longitude (average)": "35" + }, + "TH": { + "Country": "Thailand", + "Alpha-2 code": "TH", + "Alpha-3 code": "THA", + "Numeric code": "764", + "Latitude (average)": "15", + "Longitude (average)": "100" + }, + "TL": { + "Country": "Timor-Leste", + "Alpha-2 code": "TL", + "Alpha-3 code": "TLS", + "Numeric code": "626", + "Latitude (average)": "-8.55", + "Longitude (average)": "125.5167" + }, + "TG": { + "Country": "Togo", + "Alpha-2 code": "TG", + "Alpha-3 code": "TGO", + "Numeric code": "768", + "Latitude (average)": "8", + "Longitude (average)": "1.1667" + }, + "TK": { + "Country": "Tokelau", + "Alpha-2 code": "TK", + "Alpha-3 code": "TKL", + "Numeric code": "772", + "Latitude (average)": "-9", + "Longitude (average)": "-172" + }, + "TO": { + "Country": "Tonga", + "Alpha-2 code": "TO", + "Alpha-3 code": "TON", + "Numeric code": "776", + "Latitude (average)": "-20", + "Longitude (average)": "-175" + }, + "TT": { + "Country": "Trinidad and Tobago", + "Alpha-2 code": "TT", + "Alpha-3 code": "TTO", + "Numeric code": "780", + "Latitude (average)": "11", + "Longitude (average)": "-61" + }, + "TN": { + "Country": "Tunisia", + "Alpha-2 code": "TN", + "Alpha-3 code": "TUN", + "Numeric code": "788", + "Latitude (average)": "34", + "Longitude (average)": "9" + }, + "TR": { + "Country": "Turkey", + "Alpha-2 code": "TR", + "Alpha-3 code": "TUR", + "Numeric code": "792", + "Latitude (average)": "39", + "Longitude (average)": "35" + }, + "TM": { + "Country": "Turkmenistan", + "Alpha-2 code": "TM", + "Alpha-3 code": "TKM", + "Numeric code": "795", + "Latitude (average)": "40", + "Longitude (average)": "60" + }, + "TC": { + "Country": "Turks and Caicos Islands", + "Alpha-2 code": "TC", + "Alpha-3 code": "TCA", + "Numeric code": "796", + "Latitude (average)": "21.75", + "Longitude (average)": "-71.5833" + }, + "TV": { + "Country": "Tuvalu", + "Alpha-2 code": "TV", + "Alpha-3 code": "TUV", + "Numeric code": "798", + "Latitude (average)": "-8", + "Longitude (average)": "178" + }, + "UG": { + "Country": "Uganda", + "Alpha-2 code": "UG", + "Alpha-3 code": "UGA", + "Numeric code": "800", + "Latitude (average)": "1", + "Longitude (average)": "32" + }, + "UA": { + "Country": "Ukraine", + "Alpha-2 code": "UA", + "Alpha-3 code": "UKR", + "Numeric code": "804", + "Latitude (average)": "49", + "Longitude (average)": "32" + }, + "AE": { + "Country": "United Arab Emirates", + "Alpha-2 code": "AE", + "Alpha-3 code": "ARE", + "Numeric code": "784", + "Latitude (average)": "24", + "Longitude (average)": "54" + }, + "GB": { + "Country": "United Kingdom", + "Alpha-2 code": "GB", + "Alpha-3 code": "GBR", + "Numeric code": "826", + "Latitude (average)": "54", + "Longitude (average)": "-2" + }, + "US": { + "Country": "United States", + "Alpha-2 code": "US", + "Alpha-3 code": "USA", + "Numeric code": "840", + "Latitude (average)": "38", + "Longitude (average)": "-97" + }, + "UM": { + "Country": "United States Minor Outlying Islands", + "Alpha-2 code": "UM", + "Alpha-3 code": "UMI", + "Numeric code": "581", + "Latitude (average)": "19.2833", + "Longitude (average)": "166.6" + }, + "UY": { + "Country": "Uruguay", + "Alpha-2 code": "UY", + "Alpha-3 code": "URY", + "Numeric code": "858", + "Latitude (average)": "-33", + "Longitude (average)": "-56" + }, + "UZ": { + "Country": "Uzbekistan", + "Alpha-2 code": "UZ", + "Alpha-3 code": "UZB", + "Numeric code": "860", + "Latitude (average)": "41", + "Longitude (average)": "64" + }, + "VU": { + "Country": "Vanuatu", + "Alpha-2 code": "VU", + "Alpha-3 code": "VUT", + "Numeric code": "548", + "Latitude (average)": "-16", + "Longitude (average)": "167" + }, + "VE": { + "Country": "Venezuela", + "Alpha-2 code": "VE", + "Alpha-3 code": "VEN", + "Numeric code": "862", + "Latitude (average)": "8", + "Longitude (average)": "-66" + }, + "VN": { + "Country": "Vietnam", + "Alpha-2 code": "VN", + "Alpha-3 code": "VNM", + "Numeric code": "704", + "Latitude (average)": "16", + "Longitude (average)": "106" + }, + "VG": { + "Country": "Virgin Islands, British", + "Alpha-2 code": "VG", + "Alpha-3 code": "VGB", + "Numeric code": "92", + "Latitude (average)": "18.5", + "Longitude (average)": "-64.5" + }, + "VI": { + "Country": "Virgin Islands, U.S.", + "Alpha-2 code": "VI", + "Alpha-3 code": "VIR", + "Numeric code": "850", + "Latitude (average)": "18.3333", + "Longitude (average)": "-64.8333" + }, + "WF": { + "Country": "Wallis and Futuna", + "Alpha-2 code": "WF", + "Alpha-3 code": "WLF", + "Numeric code": "876", + "Latitude (average)": "-13.3", + "Longitude (average)": "-176.2" + }, + "EH": { + "Country": "Western Sahara", + "Alpha-2 code": "EH", + "Alpha-3 code": "ESH", + "Numeric code": "732", + "Latitude (average)": "24.5", + "Longitude (average)": "-13" + }, + "YE": { + "Country": "Yemen", + "Alpha-2 code": "YE", + "Alpha-3 code": "YEM", + "Numeric code": "887", + "Latitude (average)": "15", + "Longitude (average)": "48" + }, + "ZM": { + "Country": "Zambia", + "Alpha-2 code": "ZM", + "Alpha-3 code": "ZMB", + "Numeric code": "894", + "Latitude (average)": "-15", + "Longitude (average)": "30" + }, + "ZW": { + "Country": "Zimbabwe", + "Alpha-2 code": "ZW", + "Alpha-3 code": "ZWE", + "Numeric code": "716", + "Latitude (average)": "-20", + "Longitude (average)": "30" + } +} diff --git a/etc/server.conf.sample b/etc/server.conf.sample index 8be7e76..894beaf 100644 --- a/etc/server.conf.sample +++ b/etc/server.conf.sample @@ -1,4 +1,5 @@ [global] mmdb_file = /home/adulau/git/mmdb-server/db/GeoOpen-country.mmd +country_file = /home/adulau/git/mmdb-server/db/country.json lookup_pubsub = no port = 8000 diff --git a/tools/countries_codes_and_coordinates.csv b/tools/countries_codes_and_coordinates.csv new file mode 100644 index 0000000..4a210a1 --- /dev/null +++ b/tools/countries_codes_and_coordinates.csv @@ -0,0 +1,257 @@ +"Country","Alpha-2 code","Alpha-3 code","Numeric code","Latitude (average)","Longitude (average)" +"Afghanistan", "AF", "AFG", "4", "33", "65" +"Albania", "AL", "ALB", "8", "41", "20" +"Algeria", "DZ", "DZA", "12", "28", "3" +"American Samoa", "AS", "ASM", "16", "-14.3333", "-170" +"Andorra", "AD", "AND", "20", "42.5", "1.6" +"Angola", "AO", "AGO", "24", "-12.5", "18.5" +"Anguilla", "AI", "AIA", "660", "18.25", "-63.1667" +"Antarctica", "AQ", "ATA", "10", "-90", "0" +"Antigua and Barbuda", "AG", "ATG", "28", "17.05", "-61.8" +"Argentina", "AR", "ARG", "32", "-34", "-64" +"Armenia", "AM", "ARM", "51", "40", "45" +"Aruba", "AW", "ABW", "533", "12.5", "-69.9667" +"Australia", "AU", "AUS", "36", "-27", "133" +"Austria", "AT", "AUT", "40", "47.3333", "13.3333" +"Azerbaijan", "AZ", "AZE", "31", "40.5", "47.5" +"Bahamas", "BS", "BHS", "44", "24.25", "-76" +"Bahrain", "BH", "BHR", "48", "26", "50.55" +"Bangladesh", "BD", "BGD", "50", "24", "90" +"Barbados", "BB", "BRB", "52", "13.1667", "-59.5333" +"Belarus", "BY", "BLR", "112", "53", "28" +"Belgium", "BE", "BEL", "56", "50.8333", "4" +"Belize", "BZ", "BLZ", "84", "17.25", "-88.75" +"Benin", "BJ", "BEN", "204", "9.5", "2.25" +"Bermuda", "BM", "BMU", "60", "32.3333", "-64.75" +"Bhutan", "BT", "BTN", "64", "27.5", "90.5" +"Bolivia, Plurinational State of", "BO", "BOL", "68", "-17", "-65" +"Bolivia", "BO", "BOL", "68", "-17", "-65" +"Bosnia and Herzegovina", "BA", "BIH", "70", "44", "18" +"Botswana", "BW", "BWA", "72", "-22", "24" +"Bouvet Island", "BV", "BVT", "74", "-54.4333", "3.4" +"Brazil", "BR", "BRA", "76", "-10", "-55" +"British Indian Ocean Territory", "IO", "IOT", "86", "-6", "71.5" +"Brunei Darussalam", "BN", "BRN", "96", "4.5", "114.6667" +"Brunei", "BN", "BRN", "96", "4.5", "114.6667" +"Bulgaria", "BG", "BGR", "100", "43", "25" +"Burkina Faso", "BF", "BFA", "854", "13", "-2" +"Burundi", "BI", "BDI", "108", "-3.5", "30" +"Cambodia", "KH", "KHM", "116", "13", "105" +"Cameroon", "CM", "CMR", "120", "6", "12" +"Canada", "CA", "CAN", "124", "60", "-95" +"Cape Verde", "CV", "CPV", "132", "16", "-24" +"Cayman Islands", "KY", "CYM", "136", "19.5", "-80.5" +"Central African Republic", "CF", "CAF", "140", "7", "21" +"Chad", "TD", "TCD", "148", "15", "19" +"Chile", "CL", "CHL", "152", "-30", "-71" +"China", "CN", "CHN", "156", "35", "105" +"Christmas Island", "CX", "CXR", "162", "-10.5", "105.6667" +"Cocos (Keeling) Islands", "CC", "CCK", "166", "-12.5", "96.8333" +"Colombia", "CO", "COL", "170", "4", "-72" +"Comoros", "KM", "COM", "174", "-12.1667", "44.25" +"Congo", "CG", "COG", "178", "-1", "15" +"Congo, the Democratic Republic of the", "CD", "COD", "180", "0", "25" +"Cook Islands", "CK", "COK", "184", "-21.2333", "-159.7667" +"Costa Rica", "CR", "CRI", "188", "10", "-84" +"Côte d'Ivoire", "CI", "CIV", "384", "8", "-5" +"Ivory Coast", "CI", "CIV", "384", "8", "-5" +"Croatia", "HR", "HRV", "191", "45.1667", "15.5" +"Cuba", "CU", "CUB", "192", "21.5", "-80" +"Cyprus", "CY", "CYP", "196", "35", "33" +"Czech Republic", "CZ", "CZE", "203", "49.75", "15.5" +"Denmark", "DK", "DNK", "208", "56", "10" +"Djibouti", "DJ", "DJI", "262", "11.5", "43" +"Dominica", "DM", "DMA", "212", "15.4167", "-61.3333" +"Dominican Republic", "DO", "DOM", "214", "19", "-70.6667" +"Ecuador", "EC", "ECU", "218", "-2", "-77.5" +"Egypt", "EG", "EGY", "818", "27", "30" +"El Salvador", "SV", "SLV", "222", "13.8333", "-88.9167" +"Equatorial Guinea", "GQ", "GNQ", "226", "2", "10" +"Eritrea", "ER", "ERI", "232", "15", "39" +"Estonia", "EE", "EST", "233", "59", "26" +"Ethiopia", "ET", "ETH", "231", "8", "38" +"Falkland Islands (Malvinas)", "FK", "FLK", "238", "-51.75", "-59" +"Faroe Islands", "FO", "FRO", "234", "62", "-7" +"Fiji", "FJ", "FJI", "242", "-18", "175" +"Finland", "FI", "FIN", "246", "64", "26" +"France", "FR", "FRA", "250", "46", "2" +"French Guiana", "GF", "GUF", "254", "4", "-53" +"French Polynesia", "PF", "PYF", "258", "-15", "-140" +"French Southern Territories", "TF", "ATF", "260", "-43", "67" +"Gabon", "GA", "GAB", "266", "-1", "11.75" +"Gambia", "GM", "GMB", "270", "13.4667", "-16.5667" +"Georgia", "GE", "GEO", "268", "42", "43.5" +"Germany", "DE", "DEU", "276", "51", "9" +"Ghana", "GH", "GHA", "288", "8", "-2" +"Gibraltar", "GI", "GIB", "292", "36.1833", "-5.3667" +"Greece", "GR", "GRC", "300", "39", "22" +"Greenland", "GL", "GRL", "304", "72", "-40" +"Grenada", "GD", "GRD", "308", "12.1167", "-61.6667" +"Guadeloupe", "GP", "GLP", "312", "16.25", "-61.5833" +"Guam", "GU", "GUM", "316", "13.4667", "144.7833" +"Guatemala", "GT", "GTM", "320", "15.5", "-90.25" +"Guernsey", "GG", "GGY", "831", "49.5", "-2.56" +"Guinea", "GN", "GIN", "324", "11", "-10" +"Guinea-Bissau", "GW", "GNB", "624", "12", "-15" +"Guyana", "GY", "GUY", "328", "5", "-59" +"Haiti", "HT", "HTI", "332", "19", "-72.4167" +"Heard Island and McDonald Islands", "HM", "HMD", "334", "-53.1", "72.5167" +"Holy See (Vatican City State)", "VA", "VAT", "336", "41.9", "12.45" +"Honduras", "HN", "HND", "340", "15", "-86.5" +"Hong Kong", "HK", "HKG", "344", "22.25", "114.1667" +"Hungary", "HU", "HUN", "348", "47", "20" +"Iceland", "IS", "ISL", "352", "65", "-18" +"India", "IN", "IND", "356", "20", "77" +"Indonesia", "ID", "IDN", "360", "-5", "120" +"Iran, Islamic Republic of", "IR", "IRN", "364", "32", "53" +"Iraq", "IQ", "IRQ", "368", "33", "44" +"Ireland", "IE", "IRL", "372", "53", "-8" +"Isle of Man", "IM", "IMN", "833", "54.23", "-4.55" +"Israel", "IL", "ISR", "376", "31.5", "34.75" +"Italy", "IT", "ITA", "380", "42.8333", "12.8333" +"Jamaica", "JM", "JAM", "388", "18.25", "-77.5" +"Japan", "JP", "JPN", "392", "36", "138" +"Jersey", "JE", "JEY", "832", "49.21", "-2.13" +"Jordan", "JO", "JOR", "400", "31", "36" +"Kazakhstan", "KZ", "KAZ", "398", "48", "68" +"Kenya", "KE", "KEN", "404", "1", "38" +"Kiribati", "KI", "KIR", "296", "1.4167", "173" +"Korea, Democratic People's Republic of", "KP", "PRK", "408", "40", "127" +"Korea, Republic of", "KR", "KOR", "410", "37", "127.5" +"South Korea", "KR", "KOR", "410", "37", "127.5" +"Kuwait", "KW", "KWT", "414", "29.3375", "47.6581" +"Kyrgyzstan", "KG", "KGZ", "417", "41", "75" +"Lao People's Democratic Republic", "LA", "LAO", "418", "18", "105" +"Latvia", "LV", "LVA", "428", "57", "25" +"Lebanon", "LB", "LBN", "422", "33.8333", "35.8333" +"Lesotho", "LS", "LSO", "426", "-29.5", "28.5" +"Liberia", "LR", "LBR", "430", "6.5", "-9.5" +"Libyan Arab Jamahiriya", "LY", "LBY", "434", "25", "17" +"Libya", "LY", "LBY", "434", "25", "17" +"Liechtenstein", "LI", "LIE", "438", "47.1667", "9.5333" +"Lithuania", "LT", "LTU", "440", "56", "24" +"Luxembourg", "LU", "LUX", "442", "49.75", "6.1667" +"Macao", "MO", "MAC", "446", "22.1667", "113.55" +"Macedonia, the former Yugoslav Republic of", "MK", "MKD", "807", "41.8333", "22" +"Madagascar", "MG", "MDG", "450", "-20", "47" +"Malawi", "MW", "MWI", "454", "-13.5", "34" +"Malaysia", "MY", "MYS", "458", "2.5", "112.5" +"Maldives", "MV", "MDV", "462", "3.25", "73" +"Mali", "ML", "MLI", "466", "17", "-4" +"Malta", "MT", "MLT", "470", "35.8333", "14.5833" +"Marshall Islands", "MH", "MHL", "584", "9", "168" +"Martinique", "MQ", "MTQ", "474", "14.6667", "-61" +"Mauritania", "MR", "MRT", "478", "20", "-12" +"Mauritius", "MU", "MUS", "480", "-20.2833", "57.55" +"Mayotte", "YT", "MYT", "175", "-12.8333", "45.1667" +"Mexico", "MX", "MEX", "484", "23", "-102" +"Micronesia, Federated States of", "FM", "FSM", "583", "6.9167", "158.25" +"Moldova, Republic of", "MD", "MDA", "498", "47", "29" +"Monaco", "MC", "MCO", "492", "43.7333", "7.4" +"Mongolia", "MN", "MNG", "496", "46", "105" +"Montenegro", "ME", "MNE", "499", "42", "19" +"Montserrat", "MS", "MSR", "500", "16.75", "-62.2" +"Morocco", "MA", "MAR", "504", "32", "-5" +"Mozambique", "MZ", "MOZ", "508", "-18.25", "35" +"Myanmar", "MM", "MMR", "104", "22", "98" +"Burma", "MM", "MMR", "104", "22", "98" +"Namibia", "NA", "NAM", "516", "-22", "17" +"Nauru", "NR", "NRU", "520", "-0.5333", "166.9167" +"Nepal", "NP", "NPL", "524", "28", "84" +"Netherlands", "NL", "NLD", "528", "52.5", "5.75" +"Netherlands Antilles", "AN", "ANT", "530", "12.25", "-68.75" +"New Caledonia", "NC", "NCL", "540", "-21.5", "165.5" +"New Zealand", "NZ", "NZL", "554", "-41", "174" +"Nicaragua", "NI", "NIC", "558", "13", "-85" +"Niger", "NE", "NER", "562", "16", "8" +"Nigeria", "NG", "NGA", "566", "10", "8" +"Niue", "NU", "NIU", "570", "-19.0333", "-169.8667" +"Norfolk Island", "NF", "NFK", "574", "-29.0333", "167.95" +"Northern Mariana Islands", "MP", "MNP", "580", "15.2", "145.75" +"Norway", "NO", "NOR", "578", "62", "10" +"Oman", "OM", "OMN", "512", "21", "57" +"Pakistan", "PK", "PAK", "586", "30", "70" +"Palau", "PW", "PLW", "585", "7.5", "134.5" +"Palestinian Territory, Occupied", "PS", "PSE", "275", "32", "35.25" +"Panama", "PA", "PAN", "591", "9", "-80" +"Papua New Guinea", "PG", "PNG", "598", "-6", "147" +"Paraguay", "PY", "PRY", "600", "-23", "-58" +"Peru", "PE", "PER", "604", "-10", "-76" +"Philippines", "PH", "PHL", "608", "13", "122" +"Pitcairn", "PN", "PCN", "612", "-24.7", "-127.4" +"Poland", "PL", "POL", "616", "52", "20" +"Portugal", "PT", "PRT", "620", "39.5", "-8" +"Puerto Rico", "PR", "PRI", "630", "18.25", "-66.5" +"Qatar", "QA", "QAT", "634", "25.5", "51.25" +"Réunion", "RE", "REU", "638", "-21.1", "55.6" +"Romania", "RO", "ROU", "642", "46", "25" +"Russian Federation", "RU", "RUS", "643", "60", "100" +"Russia", "RU", "RUS", "643", "60", "100" +"Rwanda", "RW", "RWA", "646", "-2", "30" +"Saint Helena, Ascension and Tristan da Cunha", "SH", "SHN", "654", "-15.9333", "-5.7" +"Saint Kitts and Nevis", "KN", "KNA", "659", "17.3333", "-62.75" +"Saint Lucia", "LC", "LCA", "662", "13.8833", "-61.1333" +"Saint Pierre and Miquelon", "PM", "SPM", "666", "46.8333", "-56.3333" +"Saint Vincent and the Grenadines", "VC", "VCT", "670", "13.25", "-61.2" +"Saint Vincent & the Grenadines", "VC", "VCT", "670", "13.25", "-61.2" +"St. Vincent and the Grenadines", "VC", "VCT", "670", "13.25", "-61.2" +"Samoa", "WS", "WSM", "882", "-13.5833", "-172.3333" +"San Marino", "SM", "SMR", "674", "43.7667", "12.4167" +"Sao Tome and Principe", "ST", "STP", "678", "1", "7" +"Saudi Arabia", "SA", "SAU", "682", "25", "45" +"Senegal", "SN", "SEN", "686", "14", "-14" +"Serbia", "RS", "SRB", "688", "44", "21" +"Seychelles", "SC", "SYC", "690", "-4.5833", "55.6667" +"Sierra Leone", "SL", "SLE", "694", "8.5", "-11.5" +"Singapore", "SG", "SGP", "702", "1.3667", "103.8" +"Slovakia", "SK", "SVK", "703", "48.6667", "19.5" +"Slovenia", "SI", "SVN", "705", "46", "15" +"Solomon Islands", "SB", "SLB", "90", "-8", "159" +"Somalia", "SO", "SOM", "706", "10", "49" +"South Africa", "ZA", "ZAF", "710", "-29", "24" +"South Georgia and the South Sandwich Islands", "GS", "SGS", "239", "-54.5", "-37" +"South Sudan", "SS", "SSD", "728", "8", "30" +"Spain", "ES", "ESP", "724", "40", "-4" +"Sri Lanka", "LK", "LKA", "144", "7", "81" +"Sudan", "SD", "SDN", "736", "15", "30" +"Suriname", "SR", "SUR", "740", "4", "-56" +"Svalbard and Jan Mayen", "SJ", "SJM", "744", "78", "20" +"Swaziland", "SZ", "SWZ", "748", "-26.5", "31.5" +"Sweden", "SE", "SWE", "752", "62", "15" +"Switzerland", "CH", "CHE", "756", "47", "8" +"Syrian Arab Republic", "SY", "SYR", "760", "35", "38" +"Taiwan, Province of China", "TW", "TWN", "158", "23.5", "121" +"Taiwan", "TW", "TWN", "158", "23.5", "121" +"Tajikistan", "TJ", "TJK", "762", "39", "71" +"Tanzania, United Republic of", "TZ", "TZA", "834", "-6", "35" +"Thailand", "TH", "THA", "764", "15", "100" +"Timor-Leste", "TL", "TLS", "626", "-8.55", "125.5167" +"Togo", "TG", "TGO", "768", "8", "1.1667" +"Tokelau", "TK", "TKL", "772", "-9", "-172" +"Tonga", "TO", "TON", "776", "-20", "-175" +"Trinidad and Tobago", "TT", "TTO", "780", "11", "-61" +"Tunisia", "TN", "TUN", "788", "34", "9" +"Turkey", "TR", "TUR", "792", "39", "35" +"Turkmenistan", "TM", "TKM", "795", "40", "60" +"Turks and Caicos Islands", "TC", "TCA", "796", "21.75", "-71.5833" +"Tuvalu", "TV", "TUV", "798", "-8", "178" +"Uganda", "UG", "UGA", "800", "1", "32" +"Ukraine", "UA", "UKR", "804", "49", "32" +"United Arab Emirates", "AE", "ARE", "784", "24", "54" +"United Kingdom", "GB", "GBR", "826", "54", "-2" +"United States", "US", "USA", "840", "38", "-97" +"United States Minor Outlying Islands", "UM", "UMI", "581", "19.2833", "166.6" +"Uruguay", "UY", "URY", "858", "-33", "-56" +"Uzbekistan", "UZ", "UZB", "860", "41", "64" +"Vanuatu", "VU", "VUT", "548", "-16", "167" +"Venezuela, Bolivarian Republic of", "VE", "VEN", "862", "8", "-66" +"Venezuela", "VE", "VEN", "862", "8", "-66" +"Viet Nam", "VN", "VNM", "704", "16", "106" +"Vietnam", "VN", "VNM", "704", "16", "106" +"Virgin Islands, British", "VG", "VGB", "92", "18.5", "-64.5" +"Virgin Islands, U.S.", "VI", "VIR", "850", "18.3333", "-64.8333" +"Wallis and Futuna", "WF", "WLF", "876", "-13.3", "-176.2" +"Western Sahara", "EH", "ESH", "732", "24.5", "-13" +"Yemen", "YE", "YEM", "887", "15", "48" +"Zambia", "ZM", "ZMB", "894", "-15", "30" +"Zimbabwe", "ZW", "ZWE", "716", "-20", "30" \ No newline at end of file diff --git a/tools/country.json b/tools/country.json new file mode 100644 index 0000000..03325e7 --- /dev/null +++ b/tools/country.json @@ -0,0 +1,1954 @@ +{ + "AF": { + "Country": "Afghanistan", + "Alpha-2 code": "AF", + "Alpha-3 code": "AFG", + "Numeric code": "4", + "Latitude (average)": "33", + "Longitude (average)": "65" + }, + "AL": { + "Country": "Albania", + "Alpha-2 code": "AL", + "Alpha-3 code": "ALB", + "Numeric code": "8", + "Latitude (average)": "41", + "Longitude (average)": "20" + }, + "DZ": { + "Country": "Algeria", + "Alpha-2 code": "DZ", + "Alpha-3 code": "DZA", + "Numeric code": "12", + "Latitude (average)": "28", + "Longitude (average)": "3" + }, + "AS": { + "Country": "American Samoa", + "Alpha-2 code": "AS", + "Alpha-3 code": "ASM", + "Numeric code": "16", + "Latitude (average)": "-14.3333", + "Longitude (average)": "-170" + }, + "AD": { + "Country": "Andorra", + "Alpha-2 code": "AD", + "Alpha-3 code": "AND", + "Numeric code": "20", + "Latitude (average)": "42.5", + "Longitude (average)": "1.6" + }, + "AO": { + "Country": "Angola", + "Alpha-2 code": "AO", + "Alpha-3 code": "AGO", + "Numeric code": "24", + "Latitude (average)": "-12.5", + "Longitude (average)": "18.5" + }, + "AI": { + "Country": "Anguilla", + "Alpha-2 code": "AI", + "Alpha-3 code": "AIA", + "Numeric code": "660", + "Latitude (average)": "18.25", + "Longitude (average)": "-63.1667" + }, + "AQ": { + "Country": "Antarctica", + "Alpha-2 code": "AQ", + "Alpha-3 code": "ATA", + "Numeric code": "10", + "Latitude (average)": "-90", + "Longitude (average)": "0" + }, + "AG": { + "Country": "Antigua and Barbuda", + "Alpha-2 code": "AG", + "Alpha-3 code": "ATG", + "Numeric code": "28", + "Latitude (average)": "17.05", + "Longitude (average)": "-61.8" + }, + "AR": { + "Country": "Argentina", + "Alpha-2 code": "AR", + "Alpha-3 code": "ARG", + "Numeric code": "32", + "Latitude (average)": "-34", + "Longitude (average)": "-64" + }, + "AM": { + "Country": "Armenia", + "Alpha-2 code": "AM", + "Alpha-3 code": "ARM", + "Numeric code": "51", + "Latitude (average)": "40", + "Longitude (average)": "45" + }, + "AW": { + "Country": "Aruba", + "Alpha-2 code": "AW", + "Alpha-3 code": "ABW", + "Numeric code": "533", + "Latitude (average)": "12.5", + "Longitude (average)": "-69.9667" + }, + "AU": { + "Country": "Australia", + "Alpha-2 code": "AU", + "Alpha-3 code": "AUS", + "Numeric code": "36", + "Latitude (average)": "-27", + "Longitude (average)": "133" + }, + "AT": { + "Country": "Austria", + "Alpha-2 code": "AT", + "Alpha-3 code": "AUT", + "Numeric code": "40", + "Latitude (average)": "47.3333", + "Longitude (average)": "13.3333" + }, + "AZ": { + "Country": "Azerbaijan", + "Alpha-2 code": "AZ", + "Alpha-3 code": "AZE", + "Numeric code": "31", + "Latitude (average)": "40.5", + "Longitude (average)": "47.5" + }, + "BS": { + "Country": "Bahamas", + "Alpha-2 code": "BS", + "Alpha-3 code": "BHS", + "Numeric code": "44", + "Latitude (average)": "24.25", + "Longitude (average)": "-76" + }, + "BH": { + "Country": "Bahrain", + "Alpha-2 code": "BH", + "Alpha-3 code": "BHR", + "Numeric code": "48", + "Latitude (average)": "26", + "Longitude (average)": "50.55" + }, + "BD": { + "Country": "Bangladesh", + "Alpha-2 code": "BD", + "Alpha-3 code": "BGD", + "Numeric code": "50", + "Latitude (average)": "24", + "Longitude (average)": "90" + }, + "BB": { + "Country": "Barbados", + "Alpha-2 code": "BB", + "Alpha-3 code": "BRB", + "Numeric code": "52", + "Latitude (average)": "13.1667", + "Longitude (average)": "-59.5333" + }, + "BY": { + "Country": "Belarus", + "Alpha-2 code": "BY", + "Alpha-3 code": "BLR", + "Numeric code": "112", + "Latitude (average)": "53", + "Longitude (average)": "28" + }, + "BE": { + "Country": "Belgium", + "Alpha-2 code": "BE", + "Alpha-3 code": "BEL", + "Numeric code": "56", + "Latitude (average)": "50.8333", + "Longitude (average)": "4" + }, + "BZ": { + "Country": "Belize", + "Alpha-2 code": "BZ", + "Alpha-3 code": "BLZ", + "Numeric code": "84", + "Latitude (average)": "17.25", + "Longitude (average)": "-88.75" + }, + "BJ": { + "Country": "Benin", + "Alpha-2 code": "BJ", + "Alpha-3 code": "BEN", + "Numeric code": "204", + "Latitude (average)": "9.5", + "Longitude (average)": "2.25" + }, + "BM": { + "Country": "Bermuda", + "Alpha-2 code": "BM", + "Alpha-3 code": "BMU", + "Numeric code": "60", + "Latitude (average)": "32.3333", + "Longitude (average)": "-64.75" + }, + "BT": { + "Country": "Bhutan", + "Alpha-2 code": "BT", + "Alpha-3 code": "BTN", + "Numeric code": "64", + "Latitude (average)": "27.5", + "Longitude (average)": "90.5" + }, + "BO": { + "Country": "Bolivia", + "Alpha-2 code": "BO", + "Alpha-3 code": "BOL", + "Numeric code": "68", + "Latitude (average)": "-17", + "Longitude (average)": "-65" + }, + "BA": { + "Country": "Bosnia and Herzegovina", + "Alpha-2 code": "BA", + "Alpha-3 code": "BIH", + "Numeric code": "70", + "Latitude (average)": "44", + "Longitude (average)": "18" + }, + "BW": { + "Country": "Botswana", + "Alpha-2 code": "BW", + "Alpha-3 code": "BWA", + "Numeric code": "72", + "Latitude (average)": "-22", + "Longitude (average)": "24" + }, + "BV": { + "Country": "Bouvet Island", + "Alpha-2 code": "BV", + "Alpha-3 code": "BVT", + "Numeric code": "74", + "Latitude (average)": "-54.4333", + "Longitude (average)": "3.4" + }, + "BR": { + "Country": "Brazil", + "Alpha-2 code": "BR", + "Alpha-3 code": "BRA", + "Numeric code": "76", + "Latitude (average)": "-10", + "Longitude (average)": "-55" + }, + "IO": { + "Country": "British Indian Ocean Territory", + "Alpha-2 code": "IO", + "Alpha-3 code": "IOT", + "Numeric code": "86", + "Latitude (average)": "-6", + "Longitude (average)": "71.5" + }, + "BN": { + "Country": "Brunei", + "Alpha-2 code": "BN", + "Alpha-3 code": "BRN", + "Numeric code": "96", + "Latitude (average)": "4.5", + "Longitude (average)": "114.6667" + }, + "BG": { + "Country": "Bulgaria", + "Alpha-2 code": "BG", + "Alpha-3 code": "BGR", + "Numeric code": "100", + "Latitude (average)": "43", + "Longitude (average)": "25" + }, + "BF": { + "Country": "Burkina Faso", + "Alpha-2 code": "BF", + "Alpha-3 code": "BFA", + "Numeric code": "854", + "Latitude (average)": "13", + "Longitude (average)": "-2" + }, + "BI": { + "Country": "Burundi", + "Alpha-2 code": "BI", + "Alpha-3 code": "BDI", + "Numeric code": "108", + "Latitude (average)": "-3.5", + "Longitude (average)": "30" + }, + "KH": { + "Country": "Cambodia", + "Alpha-2 code": "KH", + "Alpha-3 code": "KHM", + "Numeric code": "116", + "Latitude (average)": "13", + "Longitude (average)": "105" + }, + "CM": { + "Country": "Cameroon", + "Alpha-2 code": "CM", + "Alpha-3 code": "CMR", + "Numeric code": "120", + "Latitude (average)": "6", + "Longitude (average)": "12" + }, + "CA": { + "Country": "Canada", + "Alpha-2 code": "CA", + "Alpha-3 code": "CAN", + "Numeric code": "124", + "Latitude (average)": "60", + "Longitude (average)": "-95" + }, + "CV": { + "Country": "Cape Verde", + "Alpha-2 code": "CV", + "Alpha-3 code": "CPV", + "Numeric code": "132", + "Latitude (average)": "16", + "Longitude (average)": "-24" + }, + "KY": { + "Country": "Cayman Islands", + "Alpha-2 code": "KY", + "Alpha-3 code": "CYM", + "Numeric code": "136", + "Latitude (average)": "19.5", + "Longitude (average)": "-80.5" + }, + "CF": { + "Country": "Central African Republic", + "Alpha-2 code": "CF", + "Alpha-3 code": "CAF", + "Numeric code": "140", + "Latitude (average)": "7", + "Longitude (average)": "21" + }, + "TD": { + "Country": "Chad", + "Alpha-2 code": "TD", + "Alpha-3 code": "TCD", + "Numeric code": "148", + "Latitude (average)": "15", + "Longitude (average)": "19" + }, + "CL": { + "Country": "Chile", + "Alpha-2 code": "CL", + "Alpha-3 code": "CHL", + "Numeric code": "152", + "Latitude (average)": "-30", + "Longitude (average)": "-71" + }, + "CN": { + "Country": "China", + "Alpha-2 code": "CN", + "Alpha-3 code": "CHN", + "Numeric code": "156", + "Latitude (average)": "35", + "Longitude (average)": "105" + }, + "CX": { + "Country": "Christmas Island", + "Alpha-2 code": "CX", + "Alpha-3 code": "CXR", + "Numeric code": "162", + "Latitude (average)": "-10.5", + "Longitude (average)": "105.6667" + }, + "CC": { + "Country": "Cocos (Keeling) Islands", + "Alpha-2 code": "CC", + "Alpha-3 code": "CCK", + "Numeric code": "166", + "Latitude (average)": "-12.5", + "Longitude (average)": "96.8333" + }, + "CO": { + "Country": "Colombia", + "Alpha-2 code": "CO", + "Alpha-3 code": "COL", + "Numeric code": "170", + "Latitude (average)": "4", + "Longitude (average)": "-72" + }, + "KM": { + "Country": "Comoros", + "Alpha-2 code": "KM", + "Alpha-3 code": "COM", + "Numeric code": "174", + "Latitude (average)": "-12.1667", + "Longitude (average)": "44.25" + }, + "CG": { + "Country": "Congo", + "Alpha-2 code": "CG", + "Alpha-3 code": "COG", + "Numeric code": "178", + "Latitude (average)": "-1", + "Longitude (average)": "15" + }, + "CD": { + "Country": "Congo, the Democratic Republic of the", + "Alpha-2 code": "CD", + "Alpha-3 code": "COD", + "Numeric code": "180", + "Latitude (average)": "0", + "Longitude (average)": "25" + }, + "CK": { + "Country": "Cook Islands", + "Alpha-2 code": "CK", + "Alpha-3 code": "COK", + "Numeric code": "184", + "Latitude (average)": "-21.2333", + "Longitude (average)": "-159.7667" + }, + "CR": { + "Country": "Costa Rica", + "Alpha-2 code": "CR", + "Alpha-3 code": "CRI", + "Numeric code": "188", + "Latitude (average)": "10", + "Longitude (average)": "-84" + }, + "CI": { + "Country": "Ivory Coast", + "Alpha-2 code": "CI", + "Alpha-3 code": "CIV", + "Numeric code": "384", + "Latitude (average)": "8", + "Longitude (average)": "-5" + }, + "HR": { + "Country": "Croatia", + "Alpha-2 code": "HR", + "Alpha-3 code": "HRV", + "Numeric code": "191", + "Latitude (average)": "45.1667", + "Longitude (average)": "15.5" + }, + "CU": { + "Country": "Cuba", + "Alpha-2 code": "CU", + "Alpha-3 code": "CUB", + "Numeric code": "192", + "Latitude (average)": "21.5", + "Longitude (average)": "-80" + }, + "CY": { + "Country": "Cyprus", + "Alpha-2 code": "CY", + "Alpha-3 code": "CYP", + "Numeric code": "196", + "Latitude (average)": "35", + "Longitude (average)": "33" + }, + "CZ": { + "Country": "Czech Republic", + "Alpha-2 code": "CZ", + "Alpha-3 code": "CZE", + "Numeric code": "203", + "Latitude (average)": "49.75", + "Longitude (average)": "15.5" + }, + "DK": { + "Country": "Denmark", + "Alpha-2 code": "DK", + "Alpha-3 code": "DNK", + "Numeric code": "208", + "Latitude (average)": "56", + "Longitude (average)": "10" + }, + "DJ": { + "Country": "Djibouti", + "Alpha-2 code": "DJ", + "Alpha-3 code": "DJI", + "Numeric code": "262", + "Latitude (average)": "11.5", + "Longitude (average)": "43" + }, + "DM": { + "Country": "Dominica", + "Alpha-2 code": "DM", + "Alpha-3 code": "DMA", + "Numeric code": "212", + "Latitude (average)": "15.4167", + "Longitude (average)": "-61.3333" + }, + "DO": { + "Country": "Dominican Republic", + "Alpha-2 code": "DO", + "Alpha-3 code": "DOM", + "Numeric code": "214", + "Latitude (average)": "19", + "Longitude (average)": "-70.6667" + }, + "EC": { + "Country": "Ecuador", + "Alpha-2 code": "EC", + "Alpha-3 code": "ECU", + "Numeric code": "218", + "Latitude (average)": "-2", + "Longitude (average)": "-77.5" + }, + "EG": { + "Country": "Egypt", + "Alpha-2 code": "EG", + "Alpha-3 code": "EGY", + "Numeric code": "818", + "Latitude (average)": "27", + "Longitude (average)": "30" + }, + "SV": { + "Country": "El Salvador", + "Alpha-2 code": "SV", + "Alpha-3 code": "SLV", + "Numeric code": "222", + "Latitude (average)": "13.8333", + "Longitude (average)": "-88.9167" + }, + "GQ": { + "Country": "Equatorial Guinea", + "Alpha-2 code": "GQ", + "Alpha-3 code": "GNQ", + "Numeric code": "226", + "Latitude (average)": "2", + "Longitude (average)": "10" + }, + "ER": { + "Country": "Eritrea", + "Alpha-2 code": "ER", + "Alpha-3 code": "ERI", + "Numeric code": "232", + "Latitude (average)": "15", + "Longitude (average)": "39" + }, + "EE": { + "Country": "Estonia", + "Alpha-2 code": "EE", + "Alpha-3 code": "EST", + "Numeric code": "233", + "Latitude (average)": "59", + "Longitude (average)": "26" + }, + "ET": { + "Country": "Ethiopia", + "Alpha-2 code": "ET", + "Alpha-3 code": "ETH", + "Numeric code": "231", + "Latitude (average)": "8", + "Longitude (average)": "38" + }, + "FK": { + "Country": "Falkland Islands (Malvinas)", + "Alpha-2 code": "FK", + "Alpha-3 code": "FLK", + "Numeric code": "238", + "Latitude (average)": "-51.75", + "Longitude (average)": "-59" + }, + "FO": { + "Country": "Faroe Islands", + "Alpha-2 code": "FO", + "Alpha-3 code": "FRO", + "Numeric code": "234", + "Latitude (average)": "62", + "Longitude (average)": "-7" + }, + "FJ": { + "Country": "Fiji", + "Alpha-2 code": "FJ", + "Alpha-3 code": "FJI", + "Numeric code": "242", + "Latitude (average)": "-18", + "Longitude (average)": "175" + }, + "FI": { + "Country": "Finland", + "Alpha-2 code": "FI", + "Alpha-3 code": "FIN", + "Numeric code": "246", + "Latitude (average)": "64", + "Longitude (average)": "26" + }, + "FR": { + "Country": "France", + "Alpha-2 code": "FR", + "Alpha-3 code": "FRA", + "Numeric code": "250", + "Latitude (average)": "46", + "Longitude (average)": "2" + }, + "GF": { + "Country": "French Guiana", + "Alpha-2 code": "GF", + "Alpha-3 code": "GUF", + "Numeric code": "254", + "Latitude (average)": "4", + "Longitude (average)": "-53" + }, + "PF": { + "Country": "French Polynesia", + "Alpha-2 code": "PF", + "Alpha-3 code": "PYF", + "Numeric code": "258", + "Latitude (average)": "-15", + "Longitude (average)": "-140" + }, + "TF": { + "Country": "French Southern Territories", + "Alpha-2 code": "TF", + "Alpha-3 code": "ATF", + "Numeric code": "260", + "Latitude (average)": "-43", + "Longitude (average)": "67" + }, + "GA": { + "Country": "Gabon", + "Alpha-2 code": "GA", + "Alpha-3 code": "GAB", + "Numeric code": "266", + "Latitude (average)": "-1", + "Longitude (average)": "11.75" + }, + "GM": { + "Country": "Gambia", + "Alpha-2 code": "GM", + "Alpha-3 code": "GMB", + "Numeric code": "270", + "Latitude (average)": "13.4667", + "Longitude (average)": "-16.5667" + }, + "GE": { + "Country": "Georgia", + "Alpha-2 code": "GE", + "Alpha-3 code": "GEO", + "Numeric code": "268", + "Latitude (average)": "42", + "Longitude (average)": "43.5" + }, + "DE": { + "Country": "Germany", + "Alpha-2 code": "DE", + "Alpha-3 code": "DEU", + "Numeric code": "276", + "Latitude (average)": "51", + "Longitude (average)": "9" + }, + "GH": { + "Country": "Ghana", + "Alpha-2 code": "GH", + "Alpha-3 code": "GHA", + "Numeric code": "288", + "Latitude (average)": "8", + "Longitude (average)": "-2" + }, + "GI": { + "Country": "Gibraltar", + "Alpha-2 code": "GI", + "Alpha-3 code": "GIB", + "Numeric code": "292", + "Latitude (average)": "36.1833", + "Longitude (average)": "-5.3667" + }, + "GR": { + "Country": "Greece", + "Alpha-2 code": "GR", + "Alpha-3 code": "GRC", + "Numeric code": "300", + "Latitude (average)": "39", + "Longitude (average)": "22" + }, + "GL": { + "Country": "Greenland", + "Alpha-2 code": "GL", + "Alpha-3 code": "GRL", + "Numeric code": "304", + "Latitude (average)": "72", + "Longitude (average)": "-40" + }, + "GD": { + "Country": "Grenada", + "Alpha-2 code": "GD", + "Alpha-3 code": "GRD", + "Numeric code": "308", + "Latitude (average)": "12.1167", + "Longitude (average)": "-61.6667" + }, + "GP": { + "Country": "Guadeloupe", + "Alpha-2 code": "GP", + "Alpha-3 code": "GLP", + "Numeric code": "312", + "Latitude (average)": "16.25", + "Longitude (average)": "-61.5833" + }, + "GU": { + "Country": "Guam", + "Alpha-2 code": "GU", + "Alpha-3 code": "GUM", + "Numeric code": "316", + "Latitude (average)": "13.4667", + "Longitude (average)": "144.7833" + }, + "GT": { + "Country": "Guatemala", + "Alpha-2 code": "GT", + "Alpha-3 code": "GTM", + "Numeric code": "320", + "Latitude (average)": "15.5", + "Longitude (average)": "-90.25" + }, + "GG": { + "Country": "Guernsey", + "Alpha-2 code": "GG", + "Alpha-3 code": "GGY", + "Numeric code": "831", + "Latitude (average)": "49.5", + "Longitude (average)": "-2.56" + }, + "GN": { + "Country": "Guinea", + "Alpha-2 code": "GN", + "Alpha-3 code": "GIN", + "Numeric code": "324", + "Latitude (average)": "11", + "Longitude (average)": "-10" + }, + "GW": { + "Country": "Guinea-Bissau", + "Alpha-2 code": "GW", + "Alpha-3 code": "GNB", + "Numeric code": "624", + "Latitude (average)": "12", + "Longitude (average)": "-15" + }, + "GY": { + "Country": "Guyana", + "Alpha-2 code": "GY", + "Alpha-3 code": "GUY", + "Numeric code": "328", + "Latitude (average)": "5", + "Longitude (average)": "-59" + }, + "HT": { + "Country": "Haiti", + "Alpha-2 code": "HT", + "Alpha-3 code": "HTI", + "Numeric code": "332", + "Latitude (average)": "19", + "Longitude (average)": "-72.4167" + }, + "HM": { + "Country": "Heard Island and McDonald Islands", + "Alpha-2 code": "HM", + "Alpha-3 code": "HMD", + "Numeric code": "334", + "Latitude (average)": "-53.1", + "Longitude (average)": "72.5167" + }, + "VA": { + "Country": "Holy See (Vatican City State)", + "Alpha-2 code": "VA", + "Alpha-3 code": "VAT", + "Numeric code": "336", + "Latitude (average)": "41.9", + "Longitude (average)": "12.45" + }, + "HN": { + "Country": "Honduras", + "Alpha-2 code": "HN", + "Alpha-3 code": "HND", + "Numeric code": "340", + "Latitude (average)": "15", + "Longitude (average)": "-86.5" + }, + "HK": { + "Country": "Hong Kong", + "Alpha-2 code": "HK", + "Alpha-3 code": "HKG", + "Numeric code": "344", + "Latitude (average)": "22.25", + "Longitude (average)": "114.1667" + }, + "HU": { + "Country": "Hungary", + "Alpha-2 code": "HU", + "Alpha-3 code": "HUN", + "Numeric code": "348", + "Latitude (average)": "47", + "Longitude (average)": "20" + }, + "IS": { + "Country": "Iceland", + "Alpha-2 code": "IS", + "Alpha-3 code": "ISL", + "Numeric code": "352", + "Latitude (average)": "65", + "Longitude (average)": "-18" + }, + "IN": { + "Country": "India", + "Alpha-2 code": "IN", + "Alpha-3 code": "IND", + "Numeric code": "356", + "Latitude (average)": "20", + "Longitude (average)": "77" + }, + "ID": { + "Country": "Indonesia", + "Alpha-2 code": "ID", + "Alpha-3 code": "IDN", + "Numeric code": "360", + "Latitude (average)": "-5", + "Longitude (average)": "120" + }, + "IR": { + "Country": "Iran, Islamic Republic of", + "Alpha-2 code": "IR", + "Alpha-3 code": "IRN", + "Numeric code": "364", + "Latitude (average)": "32", + "Longitude (average)": "53" + }, + "IQ": { + "Country": "Iraq", + "Alpha-2 code": "IQ", + "Alpha-3 code": "IRQ", + "Numeric code": "368", + "Latitude (average)": "33", + "Longitude (average)": "44" + }, + "IE": { + "Country": "Ireland", + "Alpha-2 code": "IE", + "Alpha-3 code": "IRL", + "Numeric code": "372", + "Latitude (average)": "53", + "Longitude (average)": "-8" + }, + "IM": { + "Country": "Isle of Man", + "Alpha-2 code": "IM", + "Alpha-3 code": "IMN", + "Numeric code": "833", + "Latitude (average)": "54.23", + "Longitude (average)": "-4.55" + }, + "IL": { + "Country": "Israel", + "Alpha-2 code": "IL", + "Alpha-3 code": "ISR", + "Numeric code": "376", + "Latitude (average)": "31.5", + "Longitude (average)": "34.75" + }, + "IT": { + "Country": "Italy", + "Alpha-2 code": "IT", + "Alpha-3 code": "ITA", + "Numeric code": "380", + "Latitude (average)": "42.8333", + "Longitude (average)": "12.8333" + }, + "JM": { + "Country": "Jamaica", + "Alpha-2 code": "JM", + "Alpha-3 code": "JAM", + "Numeric code": "388", + "Latitude (average)": "18.25", + "Longitude (average)": "-77.5" + }, + "JP": { + "Country": "Japan", + "Alpha-2 code": "JP", + "Alpha-3 code": "JPN", + "Numeric code": "392", + "Latitude (average)": "36", + "Longitude (average)": "138" + }, + "JE": { + "Country": "Jersey", + "Alpha-2 code": "JE", + "Alpha-3 code": "JEY", + "Numeric code": "832", + "Latitude (average)": "49.21", + "Longitude (average)": "-2.13" + }, + "JO": { + "Country": "Jordan", + "Alpha-2 code": "JO", + "Alpha-3 code": "JOR", + "Numeric code": "400", + "Latitude (average)": "31", + "Longitude (average)": "36" + }, + "KZ": { + "Country": "Kazakhstan", + "Alpha-2 code": "KZ", + "Alpha-3 code": "KAZ", + "Numeric code": "398", + "Latitude (average)": "48", + "Longitude (average)": "68" + }, + "KE": { + "Country": "Kenya", + "Alpha-2 code": "KE", + "Alpha-3 code": "KEN", + "Numeric code": "404", + "Latitude (average)": "1", + "Longitude (average)": "38" + }, + "KI": { + "Country": "Kiribati", + "Alpha-2 code": "KI", + "Alpha-3 code": "KIR", + "Numeric code": "296", + "Latitude (average)": "1.4167", + "Longitude (average)": "173" + }, + "KP": { + "Country": "Korea, Democratic People's Republic of", + "Alpha-2 code": "KP", + "Alpha-3 code": "PRK", + "Numeric code": "408", + "Latitude (average)": "40", + "Longitude (average)": "127" + }, + "KR": { + "Country": "South Korea", + "Alpha-2 code": "KR", + "Alpha-3 code": "KOR", + "Numeric code": "410", + "Latitude (average)": "37", + "Longitude (average)": "127.5" + }, + "KW": { + "Country": "Kuwait", + "Alpha-2 code": "KW", + "Alpha-3 code": "KWT", + "Numeric code": "414", + "Latitude (average)": "29.3375", + "Longitude (average)": "47.6581" + }, + "KG": { + "Country": "Kyrgyzstan", + "Alpha-2 code": "KG", + "Alpha-3 code": "KGZ", + "Numeric code": "417", + "Latitude (average)": "41", + "Longitude (average)": "75" + }, + "LA": { + "Country": "Lao People's Democratic Republic", + "Alpha-2 code": "LA", + "Alpha-3 code": "LAO", + "Numeric code": "418", + "Latitude (average)": "18", + "Longitude (average)": "105" + }, + "LV": { + "Country": "Latvia", + "Alpha-2 code": "LV", + "Alpha-3 code": "LVA", + "Numeric code": "428", + "Latitude (average)": "57", + "Longitude (average)": "25" + }, + "LB": { + "Country": "Lebanon", + "Alpha-2 code": "LB", + "Alpha-3 code": "LBN", + "Numeric code": "422", + "Latitude (average)": "33.8333", + "Longitude (average)": "35.8333" + }, + "LS": { + "Country": "Lesotho", + "Alpha-2 code": "LS", + "Alpha-3 code": "LSO", + "Numeric code": "426", + "Latitude (average)": "-29.5", + "Longitude (average)": "28.5" + }, + "LR": { + "Country": "Liberia", + "Alpha-2 code": "LR", + "Alpha-3 code": "LBR", + "Numeric code": "430", + "Latitude (average)": "6.5", + "Longitude (average)": "-9.5" + }, + "LY": { + "Country": "Libya", + "Alpha-2 code": "LY", + "Alpha-3 code": "LBY", + "Numeric code": "434", + "Latitude (average)": "25", + "Longitude (average)": "17" + }, + "LI": { + "Country": "Liechtenstein", + "Alpha-2 code": "LI", + "Alpha-3 code": "LIE", + "Numeric code": "438", + "Latitude (average)": "47.1667", + "Longitude (average)": "9.5333" + }, + "LT": { + "Country": "Lithuania", + "Alpha-2 code": "LT", + "Alpha-3 code": "LTU", + "Numeric code": "440", + "Latitude (average)": "56", + "Longitude (average)": "24" + }, + "LU": { + "Country": "Luxembourg", + "Alpha-2 code": "LU", + "Alpha-3 code": "LUX", + "Numeric code": "442", + "Latitude (average)": "49.75", + "Longitude (average)": "6.1667" + }, + "MO": { + "Country": "Macao", + "Alpha-2 code": "MO", + "Alpha-3 code": "MAC", + "Numeric code": "446", + "Latitude (average)": "22.1667", + "Longitude (average)": "113.55" + }, + "MK": { + "Country": "Macedonia, the former Yugoslav Republic of", + "Alpha-2 code": "MK", + "Alpha-3 code": "MKD", + "Numeric code": "807", + "Latitude (average)": "41.8333", + "Longitude (average)": "22" + }, + "MG": { + "Country": "Madagascar", + "Alpha-2 code": "MG", + "Alpha-3 code": "MDG", + "Numeric code": "450", + "Latitude (average)": "-20", + "Longitude (average)": "47" + }, + "MW": { + "Country": "Malawi", + "Alpha-2 code": "MW", + "Alpha-3 code": "MWI", + "Numeric code": "454", + "Latitude (average)": "-13.5", + "Longitude (average)": "34" + }, + "MY": { + "Country": "Malaysia", + "Alpha-2 code": "MY", + "Alpha-3 code": "MYS", + "Numeric code": "458", + "Latitude (average)": "2.5", + "Longitude (average)": "112.5" + }, + "MV": { + "Country": "Maldives", + "Alpha-2 code": "MV", + "Alpha-3 code": "MDV", + "Numeric code": "462", + "Latitude (average)": "3.25", + "Longitude (average)": "73" + }, + "ML": { + "Country": "Mali", + "Alpha-2 code": "ML", + "Alpha-3 code": "MLI", + "Numeric code": "466", + "Latitude (average)": "17", + "Longitude (average)": "-4" + }, + "MT": { + "Country": "Malta", + "Alpha-2 code": "MT", + "Alpha-3 code": "MLT", + "Numeric code": "470", + "Latitude (average)": "35.8333", + "Longitude (average)": "14.5833" + }, + "MH": { + "Country": "Marshall Islands", + "Alpha-2 code": "MH", + "Alpha-3 code": "MHL", + "Numeric code": "584", + "Latitude (average)": "9", + "Longitude (average)": "168" + }, + "MQ": { + "Country": "Martinique", + "Alpha-2 code": "MQ", + "Alpha-3 code": "MTQ", + "Numeric code": "474", + "Latitude (average)": "14.6667", + "Longitude (average)": "-61" + }, + "MR": { + "Country": "Mauritania", + "Alpha-2 code": "MR", + "Alpha-3 code": "MRT", + "Numeric code": "478", + "Latitude (average)": "20", + "Longitude (average)": "-12" + }, + "MU": { + "Country": "Mauritius", + "Alpha-2 code": "MU", + "Alpha-3 code": "MUS", + "Numeric code": "480", + "Latitude (average)": "-20.2833", + "Longitude (average)": "57.55" + }, + "YT": { + "Country": "Mayotte", + "Alpha-2 code": "YT", + "Alpha-3 code": "MYT", + "Numeric code": "175", + "Latitude (average)": "-12.8333", + "Longitude (average)": "45.1667" + }, + "MX": { + "Country": "Mexico", + "Alpha-2 code": "MX", + "Alpha-3 code": "MEX", + "Numeric code": "484", + "Latitude (average)": "23", + "Longitude (average)": "-102" + }, + "FM": { + "Country": "Micronesia, Federated States of", + "Alpha-2 code": "FM", + "Alpha-3 code": "FSM", + "Numeric code": "583", + "Latitude (average)": "6.9167", + "Longitude (average)": "158.25" + }, + "MD": { + "Country": "Moldova, Republic of", + "Alpha-2 code": "MD", + "Alpha-3 code": "MDA", + "Numeric code": "498", + "Latitude (average)": "47", + "Longitude (average)": "29" + }, + "MC": { + "Country": "Monaco", + "Alpha-2 code": "MC", + "Alpha-3 code": "MCO", + "Numeric code": "492", + "Latitude (average)": "43.7333", + "Longitude (average)": "7.4" + }, + "MN": { + "Country": "Mongolia", + "Alpha-2 code": "MN", + "Alpha-3 code": "MNG", + "Numeric code": "496", + "Latitude (average)": "46", + "Longitude (average)": "105" + }, + "ME": { + "Country": "Montenegro", + "Alpha-2 code": "ME", + "Alpha-3 code": "MNE", + "Numeric code": "499", + "Latitude (average)": "42", + "Longitude (average)": "19" + }, + "MS": { + "Country": "Montserrat", + "Alpha-2 code": "MS", + "Alpha-3 code": "MSR", + "Numeric code": "500", + "Latitude (average)": "16.75", + "Longitude (average)": "-62.2" + }, + "MA": { + "Country": "Morocco", + "Alpha-2 code": "MA", + "Alpha-3 code": "MAR", + "Numeric code": "504", + "Latitude (average)": "32", + "Longitude (average)": "-5" + }, + "MZ": { + "Country": "Mozambique", + "Alpha-2 code": "MZ", + "Alpha-3 code": "MOZ", + "Numeric code": "508", + "Latitude (average)": "-18.25", + "Longitude (average)": "35" + }, + "MM": { + "Country": "Burma", + "Alpha-2 code": "MM", + "Alpha-3 code": "MMR", + "Numeric code": "104", + "Latitude (average)": "22", + "Longitude (average)": "98" + }, + "NA": { + "Country": "Namibia", + "Alpha-2 code": "NA", + "Alpha-3 code": "NAM", + "Numeric code": "516", + "Latitude (average)": "-22", + "Longitude (average)": "17" + }, + "NR": { + "Country": "Nauru", + "Alpha-2 code": "NR", + "Alpha-3 code": "NRU", + "Numeric code": "520", + "Latitude (average)": "-0.5333", + "Longitude (average)": "166.9167" + }, + "NP": { + "Country": "Nepal", + "Alpha-2 code": "NP", + "Alpha-3 code": "NPL", + "Numeric code": "524", + "Latitude (average)": "28", + "Longitude (average)": "84" + }, + "NL": { + "Country": "Netherlands", + "Alpha-2 code": "NL", + "Alpha-3 code": "NLD", + "Numeric code": "528", + "Latitude (average)": "52.5", + "Longitude (average)": "5.75" + }, + "AN": { + "Country": "Netherlands Antilles", + "Alpha-2 code": "AN", + "Alpha-3 code": "ANT", + "Numeric code": "530", + "Latitude (average)": "12.25", + "Longitude (average)": "-68.75" + }, + "NC": { + "Country": "New Caledonia", + "Alpha-2 code": "NC", + "Alpha-3 code": "NCL", + "Numeric code": "540", + "Latitude (average)": "-21.5", + "Longitude (average)": "165.5" + }, + "NZ": { + "Country": "New Zealand", + "Alpha-2 code": "NZ", + "Alpha-3 code": "NZL", + "Numeric code": "554", + "Latitude (average)": "-41", + "Longitude (average)": "174" + }, + "NI": { + "Country": "Nicaragua", + "Alpha-2 code": "NI", + "Alpha-3 code": "NIC", + "Numeric code": "558", + "Latitude (average)": "13", + "Longitude (average)": "-85" + }, + "NE": { + "Country": "Niger", + "Alpha-2 code": "NE", + "Alpha-3 code": "NER", + "Numeric code": "562", + "Latitude (average)": "16", + "Longitude (average)": "8" + }, + "NG": { + "Country": "Nigeria", + "Alpha-2 code": "NG", + "Alpha-3 code": "NGA", + "Numeric code": "566", + "Latitude (average)": "10", + "Longitude (average)": "8" + }, + "NU": { + "Country": "Niue", + "Alpha-2 code": "NU", + "Alpha-3 code": "NIU", + "Numeric code": "570", + "Latitude (average)": "-19.0333", + "Longitude (average)": "-169.8667" + }, + "NF": { + "Country": "Norfolk Island", + "Alpha-2 code": "NF", + "Alpha-3 code": "NFK", + "Numeric code": "574", + "Latitude (average)": "-29.0333", + "Longitude (average)": "167.95" + }, + "MP": { + "Country": "Northern Mariana Islands", + "Alpha-2 code": "MP", + "Alpha-3 code": "MNP", + "Numeric code": "580", + "Latitude (average)": "15.2", + "Longitude (average)": "145.75" + }, + "NO": { + "Country": "Norway", + "Alpha-2 code": "NO", + "Alpha-3 code": "NOR", + "Numeric code": "578", + "Latitude (average)": "62", + "Longitude (average)": "10" + }, + "OM": { + "Country": "Oman", + "Alpha-2 code": "OM", + "Alpha-3 code": "OMN", + "Numeric code": "512", + "Latitude (average)": "21", + "Longitude (average)": "57" + }, + "PK": { + "Country": "Pakistan", + "Alpha-2 code": "PK", + "Alpha-3 code": "PAK", + "Numeric code": "586", + "Latitude (average)": "30", + "Longitude (average)": "70" + }, + "PW": { + "Country": "Palau", + "Alpha-2 code": "PW", + "Alpha-3 code": "PLW", + "Numeric code": "585", + "Latitude (average)": "7.5", + "Longitude (average)": "134.5" + }, + "PS": { + "Country": "Palestinian Territory, Occupied", + "Alpha-2 code": "PS", + "Alpha-3 code": "PSE", + "Numeric code": "275", + "Latitude (average)": "32", + "Longitude (average)": "35.25" + }, + "PA": { + "Country": "Panama", + "Alpha-2 code": "PA", + "Alpha-3 code": "PAN", + "Numeric code": "591", + "Latitude (average)": "9", + "Longitude (average)": "-80" + }, + "PG": { + "Country": "Papua New Guinea", + "Alpha-2 code": "PG", + "Alpha-3 code": "PNG", + "Numeric code": "598", + "Latitude (average)": "-6", + "Longitude (average)": "147" + }, + "PY": { + "Country": "Paraguay", + "Alpha-2 code": "PY", + "Alpha-3 code": "PRY", + "Numeric code": "600", + "Latitude (average)": "-23", + "Longitude (average)": "-58" + }, + "PE": { + "Country": "Peru", + "Alpha-2 code": "PE", + "Alpha-3 code": "PER", + "Numeric code": "604", + "Latitude (average)": "-10", + "Longitude (average)": "-76" + }, + "PH": { + "Country": "Philippines", + "Alpha-2 code": "PH", + "Alpha-3 code": "PHL", + "Numeric code": "608", + "Latitude (average)": "13", + "Longitude (average)": "122" + }, + "PN": { + "Country": "Pitcairn", + "Alpha-2 code": "PN", + "Alpha-3 code": "PCN", + "Numeric code": "612", + "Latitude (average)": "-24.7", + "Longitude (average)": "-127.4" + }, + "PL": { + "Country": "Poland", + "Alpha-2 code": "PL", + "Alpha-3 code": "POL", + "Numeric code": "616", + "Latitude (average)": "52", + "Longitude (average)": "20" + }, + "PT": { + "Country": "Portugal", + "Alpha-2 code": "PT", + "Alpha-3 code": "PRT", + "Numeric code": "620", + "Latitude (average)": "39.5", + "Longitude (average)": "-8" + }, + "PR": { + "Country": "Puerto Rico", + "Alpha-2 code": "PR", + "Alpha-3 code": "PRI", + "Numeric code": "630", + "Latitude (average)": "18.25", + "Longitude (average)": "-66.5" + }, + "QA": { + "Country": "Qatar", + "Alpha-2 code": "QA", + "Alpha-3 code": "QAT", + "Numeric code": "634", + "Latitude (average)": "25.5", + "Longitude (average)": "51.25" + }, + "RE": { + "Country": "Réunion", + "Alpha-2 code": "RE", + "Alpha-3 code": "REU", + "Numeric code": "638", + "Latitude (average)": "-21.1", + "Longitude (average)": "55.6" + }, + "RO": { + "Country": "Romania", + "Alpha-2 code": "RO", + "Alpha-3 code": "ROU", + "Numeric code": "642", + "Latitude (average)": "46", + "Longitude (average)": "25" + }, + "RU": { + "Country": "Russia", + "Alpha-2 code": "RU", + "Alpha-3 code": "RUS", + "Numeric code": "643", + "Latitude (average)": "60", + "Longitude (average)": "100" + }, + "RW": { + "Country": "Rwanda", + "Alpha-2 code": "RW", + "Alpha-3 code": "RWA", + "Numeric code": "646", + "Latitude (average)": "-2", + "Longitude (average)": "30" + }, + "SH": { + "Country": "Saint Helena, Ascension and Tristan da Cunha", + "Alpha-2 code": "SH", + "Alpha-3 code": "SHN", + "Numeric code": "654", + "Latitude (average)": "-15.9333", + "Longitude (average)": "-5.7" + }, + "KN": { + "Country": "Saint Kitts and Nevis", + "Alpha-2 code": "KN", + "Alpha-3 code": "KNA", + "Numeric code": "659", + "Latitude (average)": "17.3333", + "Longitude (average)": "-62.75" + }, + "LC": { + "Country": "Saint Lucia", + "Alpha-2 code": "LC", + "Alpha-3 code": "LCA", + "Numeric code": "662", + "Latitude (average)": "13.8833", + "Longitude (average)": "-61.1333" + }, + "PM": { + "Country": "Saint Pierre and Miquelon", + "Alpha-2 code": "PM", + "Alpha-3 code": "SPM", + "Numeric code": "666", + "Latitude (average)": "46.8333", + "Longitude (average)": "-56.3333" + }, + "VC": { + "Country": "St. Vincent and the Grenadines", + "Alpha-2 code": "VC", + "Alpha-3 code": "VCT", + "Numeric code": "670", + "Latitude (average)": "13.25", + "Longitude (average)": "-61.2" + }, + "WS": { + "Country": "Samoa", + "Alpha-2 code": "WS", + "Alpha-3 code": "WSM", + "Numeric code": "882", + "Latitude (average)": "-13.5833", + "Longitude (average)": "-172.3333" + }, + "SM": { + "Country": "San Marino", + "Alpha-2 code": "SM", + "Alpha-3 code": "SMR", + "Numeric code": "674", + "Latitude (average)": "43.7667", + "Longitude (average)": "12.4167" + }, + "ST": { + "Country": "Sao Tome and Principe", + "Alpha-2 code": "ST", + "Alpha-3 code": "STP", + "Numeric code": "678", + "Latitude (average)": "1", + "Longitude (average)": "7" + }, + "SA": { + "Country": "Saudi Arabia", + "Alpha-2 code": "SA", + "Alpha-3 code": "SAU", + "Numeric code": "682", + "Latitude (average)": "25", + "Longitude (average)": "45" + }, + "SN": { + "Country": "Senegal", + "Alpha-2 code": "SN", + "Alpha-3 code": "SEN", + "Numeric code": "686", + "Latitude (average)": "14", + "Longitude (average)": "-14" + }, + "RS": { + "Country": "Serbia", + "Alpha-2 code": "RS", + "Alpha-3 code": "SRB", + "Numeric code": "688", + "Latitude (average)": "44", + "Longitude (average)": "21" + }, + "SC": { + "Country": "Seychelles", + "Alpha-2 code": "SC", + "Alpha-3 code": "SYC", + "Numeric code": "690", + "Latitude (average)": "-4.5833", + "Longitude (average)": "55.6667" + }, + "SL": { + "Country": "Sierra Leone", + "Alpha-2 code": "SL", + "Alpha-3 code": "SLE", + "Numeric code": "694", + "Latitude (average)": "8.5", + "Longitude (average)": "-11.5" + }, + "SG": { + "Country": "Singapore", + "Alpha-2 code": "SG", + "Alpha-3 code": "SGP", + "Numeric code": "702", + "Latitude (average)": "1.3667", + "Longitude (average)": "103.8" + }, + "SK": { + "Country": "Slovakia", + "Alpha-2 code": "SK", + "Alpha-3 code": "SVK", + "Numeric code": "703", + "Latitude (average)": "48.6667", + "Longitude (average)": "19.5" + }, + "SI": { + "Country": "Slovenia", + "Alpha-2 code": "SI", + "Alpha-3 code": "SVN", + "Numeric code": "705", + "Latitude (average)": "46", + "Longitude (average)": "15" + }, + "SB": { + "Country": "Solomon Islands", + "Alpha-2 code": "SB", + "Alpha-3 code": "SLB", + "Numeric code": "90", + "Latitude (average)": "-8", + "Longitude (average)": "159" + }, + "SO": { + "Country": "Somalia", + "Alpha-2 code": "SO", + "Alpha-3 code": "SOM", + "Numeric code": "706", + "Latitude (average)": "10", + "Longitude (average)": "49" + }, + "ZA": { + "Country": "South Africa", + "Alpha-2 code": "ZA", + "Alpha-3 code": "ZAF", + "Numeric code": "710", + "Latitude (average)": "-29", + "Longitude (average)": "24" + }, + "GS": { + "Country": "South Georgia and the South Sandwich Islands", + "Alpha-2 code": "GS", + "Alpha-3 code": "SGS", + "Numeric code": "239", + "Latitude (average)": "-54.5", + "Longitude (average)": "-37" + }, + "SS": { + "Country": "South Sudan", + "Alpha-2 code": "SS", + "Alpha-3 code": "SSD", + "Numeric code": "728", + "Latitude (average)": "8", + "Longitude (average)": "30" + }, + "ES": { + "Country": "Spain", + "Alpha-2 code": "ES", + "Alpha-3 code": "ESP", + "Numeric code": "724", + "Latitude (average)": "40", + "Longitude (average)": "-4" + }, + "LK": { + "Country": "Sri Lanka", + "Alpha-2 code": "LK", + "Alpha-3 code": "LKA", + "Numeric code": "144", + "Latitude (average)": "7", + "Longitude (average)": "81" + }, + "SD": { + "Country": "Sudan", + "Alpha-2 code": "SD", + "Alpha-3 code": "SDN", + "Numeric code": "736", + "Latitude (average)": "15", + "Longitude (average)": "30" + }, + "SR": { + "Country": "Suriname", + "Alpha-2 code": "SR", + "Alpha-3 code": "SUR", + "Numeric code": "740", + "Latitude (average)": "4", + "Longitude (average)": "-56" + }, + "SJ": { + "Country": "Svalbard and Jan Mayen", + "Alpha-2 code": "SJ", + "Alpha-3 code": "SJM", + "Numeric code": "744", + "Latitude (average)": "78", + "Longitude (average)": "20" + }, + "SZ": { + "Country": "Swaziland", + "Alpha-2 code": "SZ", + "Alpha-3 code": "SWZ", + "Numeric code": "748", + "Latitude (average)": "-26.5", + "Longitude (average)": "31.5" + }, + "SE": { + "Country": "Sweden", + "Alpha-2 code": "SE", + "Alpha-3 code": "SWE", + "Numeric code": "752", + "Latitude (average)": "62", + "Longitude (average)": "15" + }, + "CH": { + "Country": "Switzerland", + "Alpha-2 code": "CH", + "Alpha-3 code": "CHE", + "Numeric code": "756", + "Latitude (average)": "47", + "Longitude (average)": "8" + }, + "SY": { + "Country": "Syrian Arab Republic", + "Alpha-2 code": "SY", + "Alpha-3 code": "SYR", + "Numeric code": "760", + "Latitude (average)": "35", + "Longitude (average)": "38" + }, + "TW": { + "Country": "Taiwan", + "Alpha-2 code": "TW", + "Alpha-3 code": "TWN", + "Numeric code": "158", + "Latitude (average)": "23.5", + "Longitude (average)": "121" + }, + "TJ": { + "Country": "Tajikistan", + "Alpha-2 code": "TJ", + "Alpha-3 code": "TJK", + "Numeric code": "762", + "Latitude (average)": "39", + "Longitude (average)": "71" + }, + "TZ": { + "Country": "Tanzania, United Republic of", + "Alpha-2 code": "TZ", + "Alpha-3 code": "TZA", + "Numeric code": "834", + "Latitude (average)": "-6", + "Longitude (average)": "35" + }, + "TH": { + "Country": "Thailand", + "Alpha-2 code": "TH", + "Alpha-3 code": "THA", + "Numeric code": "764", + "Latitude (average)": "15", + "Longitude (average)": "100" + }, + "TL": { + "Country": "Timor-Leste", + "Alpha-2 code": "TL", + "Alpha-3 code": "TLS", + "Numeric code": "626", + "Latitude (average)": "-8.55", + "Longitude (average)": "125.5167" + }, + "TG": { + "Country": "Togo", + "Alpha-2 code": "TG", + "Alpha-3 code": "TGO", + "Numeric code": "768", + "Latitude (average)": "8", + "Longitude (average)": "1.1667" + }, + "TK": { + "Country": "Tokelau", + "Alpha-2 code": "TK", + "Alpha-3 code": "TKL", + "Numeric code": "772", + "Latitude (average)": "-9", + "Longitude (average)": "-172" + }, + "TO": { + "Country": "Tonga", + "Alpha-2 code": "TO", + "Alpha-3 code": "TON", + "Numeric code": "776", + "Latitude (average)": "-20", + "Longitude (average)": "-175" + }, + "TT": { + "Country": "Trinidad and Tobago", + "Alpha-2 code": "TT", + "Alpha-3 code": "TTO", + "Numeric code": "780", + "Latitude (average)": "11", + "Longitude (average)": "-61" + }, + "TN": { + "Country": "Tunisia", + "Alpha-2 code": "TN", + "Alpha-3 code": "TUN", + "Numeric code": "788", + "Latitude (average)": "34", + "Longitude (average)": "9" + }, + "TR": { + "Country": "Turkey", + "Alpha-2 code": "TR", + "Alpha-3 code": "TUR", + "Numeric code": "792", + "Latitude (average)": "39", + "Longitude (average)": "35" + }, + "TM": { + "Country": "Turkmenistan", + "Alpha-2 code": "TM", + "Alpha-3 code": "TKM", + "Numeric code": "795", + "Latitude (average)": "40", + "Longitude (average)": "60" + }, + "TC": { + "Country": "Turks and Caicos Islands", + "Alpha-2 code": "TC", + "Alpha-3 code": "TCA", + "Numeric code": "796", + "Latitude (average)": "21.75", + "Longitude (average)": "-71.5833" + }, + "TV": { + "Country": "Tuvalu", + "Alpha-2 code": "TV", + "Alpha-3 code": "TUV", + "Numeric code": "798", + "Latitude (average)": "-8", + "Longitude (average)": "178" + }, + "UG": { + "Country": "Uganda", + "Alpha-2 code": "UG", + "Alpha-3 code": "UGA", + "Numeric code": "800", + "Latitude (average)": "1", + "Longitude (average)": "32" + }, + "UA": { + "Country": "Ukraine", + "Alpha-2 code": "UA", + "Alpha-3 code": "UKR", + "Numeric code": "804", + "Latitude (average)": "49", + "Longitude (average)": "32" + }, + "AE": { + "Country": "United Arab Emirates", + "Alpha-2 code": "AE", + "Alpha-3 code": "ARE", + "Numeric code": "784", + "Latitude (average)": "24", + "Longitude (average)": "54" + }, + "GB": { + "Country": "United Kingdom", + "Alpha-2 code": "GB", + "Alpha-3 code": "GBR", + "Numeric code": "826", + "Latitude (average)": "54", + "Longitude (average)": "-2" + }, + "US": { + "Country": "United States", + "Alpha-2 code": "US", + "Alpha-3 code": "USA", + "Numeric code": "840", + "Latitude (average)": "38", + "Longitude (average)": "-97" + }, + "UM": { + "Country": "United States Minor Outlying Islands", + "Alpha-2 code": "UM", + "Alpha-3 code": "UMI", + "Numeric code": "581", + "Latitude (average)": "19.2833", + "Longitude (average)": "166.6" + }, + "UY": { + "Country": "Uruguay", + "Alpha-2 code": "UY", + "Alpha-3 code": "URY", + "Numeric code": "858", + "Latitude (average)": "-33", + "Longitude (average)": "-56" + }, + "UZ": { + "Country": "Uzbekistan", + "Alpha-2 code": "UZ", + "Alpha-3 code": "UZB", + "Numeric code": "860", + "Latitude (average)": "41", + "Longitude (average)": "64" + }, + "VU": { + "Country": "Vanuatu", + "Alpha-2 code": "VU", + "Alpha-3 code": "VUT", + "Numeric code": "548", + "Latitude (average)": "-16", + "Longitude (average)": "167" + }, + "VE": { + "Country": "Venezuela", + "Alpha-2 code": "VE", + "Alpha-3 code": "VEN", + "Numeric code": "862", + "Latitude (average)": "8", + "Longitude (average)": "-66" + }, + "VN": { + "Country": "Vietnam", + "Alpha-2 code": "VN", + "Alpha-3 code": "VNM", + "Numeric code": "704", + "Latitude (average)": "16", + "Longitude (average)": "106" + }, + "VG": { + "Country": "Virgin Islands, British", + "Alpha-2 code": "VG", + "Alpha-3 code": "VGB", + "Numeric code": "92", + "Latitude (average)": "18.5", + "Longitude (average)": "-64.5" + }, + "VI": { + "Country": "Virgin Islands, U.S.", + "Alpha-2 code": "VI", + "Alpha-3 code": "VIR", + "Numeric code": "850", + "Latitude (average)": "18.3333", + "Longitude (average)": "-64.8333" + }, + "WF": { + "Country": "Wallis and Futuna", + "Alpha-2 code": "WF", + "Alpha-3 code": "WLF", + "Numeric code": "876", + "Latitude (average)": "-13.3", + "Longitude (average)": "-176.2" + }, + "EH": { + "Country": "Western Sahara", + "Alpha-2 code": "EH", + "Alpha-3 code": "ESH", + "Numeric code": "732", + "Latitude (average)": "24.5", + "Longitude (average)": "-13" + }, + "YE": { + "Country": "Yemen", + "Alpha-2 code": "YE", + "Alpha-3 code": "YEM", + "Numeric code": "887", + "Latitude (average)": "15", + "Longitude (average)": "48" + }, + "ZM": { + "Country": "Zambia", + "Alpha-2 code": "ZM", + "Alpha-3 code": "ZMB", + "Numeric code": "894", + "Latitude (average)": "-15", + "Longitude (average)": "30" + }, + "ZW": { + "Country": "Zimbabwe", + "Alpha-2 code": "ZW", + "Alpha-3 code": "ZWE", + "Numeric code": "716", + "Latitude (average)": "-20", + "Longitude (average)": "30" + } +} diff --git a/tools/read-csv.py b/tools/read-csv.py new file mode 100644 index 0000000..808dd00 --- /dev/null +++ b/tools/read-csv.py @@ -0,0 +1,11 @@ +import csv +import json + +cn = {} + +with open('countries_codes_and_coordinates.csv') as csvfile: + countries = csv.DictReader(csvfile, quotechar='"', delimiter=',', skipinitialspace=True) + for country in countries: + cn[country['Alpha-2 code']] = country + +print(json.dumps(cn))