diff --git a/lib/tasks/project_components/charting_champions_example/carbon.csv b/lib/tasks/project_components/charting_champions_example/carbon.csv new file mode 100644 index 00000000..22878aa7 --- /dev/null +++ b/lib/tasks/project_components/charting_champions_example/carbon.csv @@ -0,0 +1,142 @@ +Albania,4342.011,1.511 +Algeria,130493.653,3.158 +Angola,18021.394,0.605 +Argentina,183375.203,4.142 +Armenia,5165.593,1.763 +Australia,384583.857,15.632 +Austria,64872.394,7.376 +Azerbaijan,30805.851,3.124 +Bahrain,29813.834,19.969 +Bangladesh,78270.17,0.475 +Belarus,54070.453,5.687 +Belgium,90368.188,7.963 +Benin,6763.074,0.605 +Bolivia (Plurin. State of),21899.18,1.981 +Bosnia and Herzegovina,22327.978,6.367 +Botswana,7717.409,3.367 +Brazil,427632.717,2.043 +Brunei Darussalam,6710.178,15.641 +Bulgaria,42819.932,6.051 +C√¥te d‚ÄôIvoire,10234.205,0.421 +Cambodia,10762.923,0.672 +Cameroon,6152.919,0.256 +Canada,547798.641,14.992 +Chile,86087.14,4.648 +China,9257933.9,6.678 +Colombia,75291.911,1.535 +Congo,2847.335,0.541 +Costa Rica,7584.411,1.546 +Croatia,16193.172,3.925 +Cuba,26215.665,2.283 +Curaçao,3748.132,23.28 +Cyprus,6367.874,7.448 +Czechia,101682.752,9.602 +Dem. People's Rep. Korea,19579.698,0.768 +Dem. Rep. of the Congo,2201.742,0.027 +Denmark,31263.57,5.421 +Dominican Republic,21430.38,1.99 +Ecuador,34299.317,2.063 +Egypt,209219.059,2.145 +El Salvador,5735.668,0.899 +Eritrea,632.105,0.125 +Estonia,15972.029,12.137 +Ethiopia,13059.815,0.124 +Finland,42598.175,7.734 +France,306123.541,4.565 +Gabon,3367.911,1.663 +Georgia,8720.3,2.346 +Germany,718794.085,8.696 +Ghana,13779.635,0.478 +Gibraltar,703.9,20.703 +Greece,63213.31,5.878 +Guatemala,15703.161,0.928 +Haiti,3293.125,0.3 +Honduras,9426.74,1.017 +Hong Kong,44034.675,5.957 +Hungary,45783.636,4.678 +Iceland,2173.307,6.336 +India,2161567.072,1.614 +Indonesia,496406.275,1.88 +Iran (Islamic Republic of),567123.294,6.987 +Iraq,139877.659,3.655 +Ireland,35720.302,7.439 +Israel,63766.189,7.322 +Italy,321481.224,5.31 +Jamaica,6971.666,2.412 +Japan,1132435.4,8.938 +Jordan,25550.14,2.633 +Kazakhstan,255767.646,14.179 +Kenya,16264.973,0.327 +Kosovo,8168.55,4.461 +Kuwait,89420.615,21.615 +Kyrgyzstan,8909.263,1.437 +Latvia,6679.644,3.441 +Lebanon,26931.044,4.428 +Libya,41528.35,6.514 +Lithuania,10811.096,3.831 +Luxembourg,8631.187,14.458 +Malaysia,211046.967,6.674 +Malta,1516.276,3.261 +Mauritius,4182.138,3.306 +Mexico,445991.937,3.615 +Mongolia,19276,6.267 +Montenegro,2206.233,3.547 +Morocco,58149.86,1.627 +Mozambique,7624.932,0.257 +Myanmar,30404.919,0.57 +Namibia,4037.15,1.593 +Nepal,10113.953,0.345 +Netherlands,155574.278,9.081 +New Zealand,32241.597,6.673 +Nicaragua,5106.281,0.821 +Niger,2048.704,0.095 +Nigeria,85988.513,0.45 +North Macedonia,7440.699,3.572 +Norway,34760.858,6.587 +Oman,65498.56,14.128 +Pakistan,183447.068,0.931 +Panama,9612.198,2.345 +Paraguay,7654.689,1.124 +Peru,49693.643,1.545 +Philippines,126487.694,1.206 +Poland,305841.991,7.96 +Portugal,50757.815,4.928 +Qatar,80116.551,30.359 +Republic of Korea,600034.367,11.663 +Republic of Moldova,7526.673,2.12 +Romania,70788.76,3.614 +Russian Federation,1536878.825,10.636 +Saudi Arabia,532181.611,16.157 +Senegal,8311.532,0.524 +Serbia,46129.569,6.569 +Singapore,47407.144,8.447 +Slovakia,32212.012,5.924 +Slovenia,13410.666,6.491 +South Africa,421682.392,7.435 +South Sudan,1549.031,0.123 +Spain,253423.277,5.446 +Sri Lanka,23103.271,1.077 +Sudan,18777.895,0.463 +Suriname,1928.134,3.425 +Sweden,37643.785,3.743 +Switzerland,37135.572,4.394 +Syrian Arab Republic,23031.045,1.261 +Tajikistan,5843.657,0.655 +Thailand,244254.785,3.538 +Togo,2082.434,0.267 +Trinidad and Tobago,18007.573,13.154 +Tunisia,26156.972,2.268 +Turkey,378631.09,4.714 +Turkmenistan,68998.881,11.983 +Ukraine,171300.035,3.821 +United Arab Emirates,196510.174,20.905 +United Kingdom,358731.281,5.432 +United Rep. of Tanzania,10131.79,0.177 +United States of America,4761301.727,14.606 +Uruguay,5872.957,1.699 +Uzbekistan,81156.397,2.506 +Venezuela (Boliv. Rep. of),113717.543,3.556 +Viet Nam,191243.601,2.002 +Yemen,8919.998,0.316 +Zambia,6007.872,0.351 +Zimbabwe,9714.938,0.588 diff --git a/lib/tasks/project_components/charting_champions_example/main.py b/lib/tasks/project_components/charting_champions_example/main.py new file mode 100644 index 00000000..85db8c73 --- /dev/null +++ b/lib/tasks/project_components/charting_champions_example/main.py @@ -0,0 +1,22 @@ +#!/bin/python3 +from pygal import Bar + +# Create a chart +chart = Bar(title='Olympic medals') + +# Add data to the chart +with open('medals.csv') as f: + data = f.read() + lines = data.splitlines() + #print(lines) + +for line in lines: + tally = line.split(',') + #print(tally) + + team = tally[0] + medals = tally[1] + chart.add(team, int(medals)) # Make medals a number + +# Display the chart +chart.render() diff --git a/lib/tasks/project_components/charting_champions_example/mcu.csv b/lib/tasks/project_components/charting_champions_example/mcu.csv new file mode 100644 index 00000000..85d964c8 --- /dev/null +++ b/lib/tasks/project_components/charting_champions_example/mcu.csv @@ -0,0 +1,23 @@ +Iron Man,126,585366247 +The Incredible Hulk,112,264770996 +Iron Man 2,124,623933331 +Thor,115,449326618 +Captain America: The First Avenger,124,370569774 +The Avengers,143,1518812988 +Iron Man 3,130,1214811252 +Thor: The Dark World,112,644783140 +Captain America: The Winter Soldier,136,714421503 +Guardians of the Galaxy,121,772776600 +Avengers: Age of Ultron,141,1402805868 +Ant-Man,117,519311965 +Captain America: Civil War,147,1153296293 +Doctor Strange,115,677718395 +Guardians of the Galaxy Vol. 2,136,863756051 +Spider-Man: Homecoming,133,880166924 +Thor: Ragnarok,130,853977126 +Black Panther,134,1346913161 +Avengers: Infinity War,149,2048359754 +Ant-Man and the Wasp,118,622674139 +Captain Marvel,123,1128274794 +Avengers: Endgame,181,2797501328 +Spider-Man: Far From Home,129,1131927996 diff --git a/lib/tasks/project_components/charting_champions_example/medals.csv b/lib/tasks/project_components/charting_champions_example/medals.csv new file mode 100644 index 00000000..f8139a21 --- /dev/null +++ b/lib/tasks/project_components/charting_champions_example/medals.csv @@ -0,0 +1,138 @@ +United States,2399 +Russia,1413 +Great Britain,1304 +France,780 +Germany,671 +Italy,549 +Sweden,483 +Hungary,476 +China,473 +Australia,468 +Japan,398 +Finland,302 +Romania,301 +Canada,279 +Poland,271 +Netherlands,266 +South Korea,243 +Bulgaria,214 +Cuba,209 +Switzerland,185 +Denmark,179 +Norway,148 +Czechoslovakia,143 +Belgium,142 +Spain,131 +Ukraine,115 +Greece,111 +Brazil,108 +New Zealand,99 +Austria,86 +Kenya,86 +Turkey,86 +Yugoslavia,83 +South Africa,76 +Belarus,75 +Argentina,70 +Jamaica,67 +Mexico,62 +Iran,60 +Kazakhstan,52 +North Korea,47 +Ethiopia,45 +Czech Republic,44 +Estonia,33 +Ireland,29 +Indonesia,27 +Azerbaijan,26 +Egypt,26 +India,26 +Georgia,25 +Mongolia,24 +Slovakia,24 +Thailand,24 +Croatia,23 +Nigeria,23 +Portugal,23 +Morocco,22 +Lithuania,21 +Uzbekistan,20 +Colombia,19 +Latvia,19 +Slovenia,19 +Chinese Taipei,19 +Trinidad and Tobago,18 +Algeria,15 +Chile,13 +Armenia,12 +Australasia,12 +Bahamas,12 +Venezuela,12 +Pakistan,10 +Tunisia,10 +Uruguay,10 +Philippines,9 +Serbia and Montenegro,9 +Puerto Rico,8 +Zimbabwe,8 +Israel,7 +Moldova,7 +Serbia,7 +Uganda,7 +Dominican Republic,6 +Malaysia,6 +Cameroon,5 +Bohemia,4 +Costa Rica,4 +Ghana,4 +Iceland,4 +Lebanon,4 +Namibia,4 +Peru,4 +Qatar,4 +Singapore,4 +Hong Kong,3 +Kyrgyzstan,3 +Panama,3 +Saudi Arabia,3 +Syria,3 +Tajikistan,3 +Afghanistan,2 +British West Indies,2 +Ecuador,2 +Haiti,2 +Kuwait,2 +Luxembourg,2 +Mozambique,2 +Sri Lanka,2 +Suriname,2 +Tanzania,2 +Vietnam,2 +Zambia,2 +Bahrain,1 +Barbados,1 +Bermuda,1 +Botswana,1 +Burundi,1 +Ivory Coast,1 +Cyprus,1 +Djibouti,1 +Eritrea,1 +Gabon,1 +Grenada,1 +Guatemala,1 +Guyana,1 +Iraq,1 +Macedonia,1 +Mauritius,1 +Montenegro,1 +Netherlands Antilles,1 +Niger,1 +Paraguay,1 +Senegal,1 +Sudan,1 +Togo,1 +Tonga,1 +United Arab Emirates,1 +Virgin Islands,1 +Liechtenstein,0 diff --git a/lib/tasks/project_components/charting_champions_example/project_config.yml b/lib/tasks/project_components/charting_champions_example/project_config.yml new file mode 100644 index 00000000..2ea816a8 --- /dev/null +++ b/lib/tasks/project_components/charting_champions_example/project_config.yml @@ -0,0 +1,23 @@ +NAME: "Charting Champions" +IDENTIFIER: "charting-champions-example" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "medals" + extension: "csv" + location: "medals.csv" + index: 1 + default: false + - name: "carbon" + extension: "csv" + location: "carbon.csv" + index: 2 + default: false + - name: "mcu" + extension: "csv" + location: "mcu.csv" + index: 3 + default: false diff --git a/lib/tasks/project_components/charting_champions_starter/main.py b/lib/tasks/project_components/charting_champions_starter/main.py new file mode 100644 index 00000000..4e666160 --- /dev/null +++ b/lib/tasks/project_components/charting_champions_starter/main.py @@ -0,0 +1,10 @@ +#!/bin/python3 +from pygal import Bar + +# Create a chart + + +# Add data to the chart + + +# Display the chart diff --git a/lib/tasks/project_components/charting_champions_starter/project_config.yml b/lib/tasks/project_components/charting_champions_starter/project_config.yml new file mode 100644 index 00000000..f44bdb1a --- /dev/null +++ b/lib/tasks/project_components/charting_champions_starter/project_config.yml @@ -0,0 +1,8 @@ +NAME: "Charting Champions" +IDENTIFIER: "charting-champions-starter" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true diff --git a/lib/tasks/project_components/codebreaker_example/frequency.py b/lib/tasks/project_components/codebreaker_example/frequency.py new file mode 100644 index 00000000..1c9fdd06 --- /dev/null +++ b/lib/tasks/project_components/codebreaker_example/frequency.py @@ -0,0 +1,31 @@ +# Frequency distribution of letters in multiple languages +# Provided as part of the starter + +english = { + 'a': 8.20, + 'b': 1.50, + 'c': 2.80, + 'd': 4.30, + 'e': 13, + 'f': 2.20, + 'g': 2, + 'h': 6.10, + 'i': 7, + 'j': 0.15, + 'k': 0.77, + 'l': 4, + 'm': 2.40, + 'n': 6.70, + 'o': 7.50, + 'p': 1.90, + 'q': 0.10, + 'r': 6, + 's': 6.30, + 't': 9.10, + 'u': 2.80, + 'v': 0.98, + 'w': 2.40, + 'x': 0.15, + 'y': 2, + 'z': 0.07 +} diff --git a/lib/tasks/project_components/codebreaker_example/input.txt b/lib/tasks/project_components/codebreaker_example/input.txt new file mode 100644 index 00000000..f3c22eb3 --- /dev/null +++ b/lib/tasks/project_components/codebreaker_example/input.txt @@ -0,0 +1 @@ +replace with your message diff --git a/lib/tasks/project_components/codebreaker_example/longer.txt b/lib/tasks/project_components/codebreaker_example/longer.txt new file mode 100644 index 00000000..a5fbbf19 --- /dev/null +++ b/lib/tasks/project_components/codebreaker_example/longer.txt @@ -0,0 +1 @@ +dszg rh zm zhgil kr xlnkfgvi zm zhgil kr xlnkfgvi rh z izhkyviib kr xlnkfgvi vjfrkkvw drgs hvmhlih zmw slfhvw rm z hkvxrzo xzhv izhkyviib kr rh z evib zuuliwzyov xivwrgxziwhravw yzivylmvh xlnkfgvi tivzg uli fhv rm vwfxzgrlm nzip rr sziwdzivgsv zhgil kr np rr xlnkfgvih ziv fktizwvw evihrlmh lu gsv zhgil kr raab zmw zhgil kr vw xlnkfgvih gszg dviv hvmg gl gsv rhh wfirmt grn kvzpvh kirmxrkrz nrhhrlm rm gsvhv xlnkfgvih uvzgfiv gsv ozgvhg nlwvo lu gsv izhkyviib kr xlnkfgvi zm fktizwvw xznviz zmw zm zftnvmgvw hvmhli ylziw gsrh vjfrknvmg droo vmzyov kzigrxrkzmgh gl wl z drwv izmtv lu vckvirnvmgh hlnv lu dsrxs dviv mlg kiverlfhob klhhryov hfxs zh vckvirnvmgh fhrmt vovnvmgh lu zigrurxrzo rmgvoortvmxv zwezmxvw nzxsrmv ovzimrmt zmw srtsviivhlofgrlm kslgltizksb gszm vevi yvuliv zhgil kr erh gsv zhgil kr erh xlnkfgvi zooldh gvznh rmevhgrtzgrmt oruv lm vzigs gl wl erhryovortsg vzigs lyhviezgrlm kslgltizksb zhgil kr ri gsv zhgil kr ri xlnkfgvi zooldh gvznh rmevhgrtzgrmt oruv lm vzigs gl wl mvzirmuizivw vzigs lyhviezgrlm kslgltizksb zmw xlnvh drgs z ivw lkgrxzo urogvi gl vmzyov nvzhfivnvmgh lu kozmg svzogs gl yv nzwv diff --git a/lib/tasks/project_components/codebreaker_example/main.py b/lib/tasks/project_components/codebreaker_example/main.py new file mode 100644 index 00000000..cf10756a --- /dev/null +++ b/lib/tasks/project_components/codebreaker_example/main.py @@ -0,0 +1,92 @@ +##!/bin/python3 +from pygal import Bar +from frequency import english + +# Set up data structures +alphabet = list('abcdefghijklmnopqrstuvwxyz ') # List from a string +code = {} + +# Create the atbash code by reversing the alphabet +def create_code(): + backwards = list(reversed(alphabet)) # Reversing a list + + for i in range(len(alphabet)): # Getting length of a list + code[alphabet[i]] = backwards[i] # Populate the code dictionary with a letter of the alphabet and its encoded letter + + #print(code) + +# Calculate the frequency of all letters in a piece of text +def frequency(text): + text = list(text.lower()) # Lowercase the message and make it a list + + freq = {} # Create a dict of every letter, with a count of 0 + for letter in alphabet: + freq[letter] = 0 + + total_letters = len(text) # Count the letters in the message + + for letter in text: + if letter in freq: + freq[letter] += 1 + + for letter in freq: # Convert from counts to percentages + freq[letter] = freq[letter] / total_letters * 100 + + return freq + +# Make frequency chart +def make_chart(text, language): + chart = Bar(title='Frequency analysis', x_labels = list(text.keys())) + chart.add('Target message', list(text.values())) # First explicit use of values + chart.add('Language', list(language.values())) + + chart.render() + + +# Encode/decode a piece of text — atbash is symetrical +def atbash(text): + text = text.lower() # Converting text to lowercase + output = '' + + for letter in text: + if letter in code: + output += code[letter] # Populate output with the encoded/decoded message using the dictionary + + return output # Return the encoded/decoded message + + +# Fetch and return text from a file +def get_text(filename): + with open(filename) as f: + text = f.read().replace('\n','') # Need to strip the newline characters + + return text + +# Create a text-based menu system +def menu(): + choice = '' # Start with a wrong answer for choice. + + while choice != 'c' and choice != 'f': # Keep asking the user for the right answer + choice = input('Please enter c to encode/decode text, or f to perform frequency analysis:' ) + + if choice == 'c': + print('Running your message through the cypher…') + message = get_text('longer.txt') # Take input from a file + code = atbash(message) + print(code) + + elif choice == 'f': + print('Analysing message…') + message = get_text('longer.txt') # Take input from the same file. We have a 'longer.txt' or similar containing cyphertext we know to perform reasonably well for frequency analysis + message_freq = frequency(message) # Get the frequency of the letters in the message, as % + # print(message_freq) + lang_freq = english # Import the English frequency dictionary + make_chart(message_freq, lang_freq) # Call the function to make a chart + +# Start up +def main(): + create_code() + menu() + + +main() diff --git a/lib/tasks/project_components/codebreaker_example/project_config.yml b/lib/tasks/project_components/codebreaker_example/project_config.yml new file mode 100644 index 00000000..b4653e03 --- /dev/null +++ b/lib/tasks/project_components/codebreaker_example/project_config.yml @@ -0,0 +1,27 @@ +NAME: "Codebreaker Example" +IDENTIFIER: "codebreaker-project-example" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "frequency" + extension: "py" + location: "frequency.py" + index: 1 + default: false + - name: "input" + extension: "txt" + location: "input.txt" + index: 2 + default: false + - name: "longer" + extension: "txt" + location: "longer.txt" + index: 3 + default: false + + + + diff --git a/lib/tasks/project_components/codebreaker_short_message_encoder/frequency.py b/lib/tasks/project_components/codebreaker_short_message_encoder/frequency.py new file mode 100644 index 00000000..1c9fdd06 --- /dev/null +++ b/lib/tasks/project_components/codebreaker_short_message_encoder/frequency.py @@ -0,0 +1,31 @@ +# Frequency distribution of letters in multiple languages +# Provided as part of the starter + +english = { + 'a': 8.20, + 'b': 1.50, + 'c': 2.80, + 'd': 4.30, + 'e': 13, + 'f': 2.20, + 'g': 2, + 'h': 6.10, + 'i': 7, + 'j': 0.15, + 'k': 0.77, + 'l': 4, + 'm': 2.40, + 'n': 6.70, + 'o': 7.50, + 'p': 1.90, + 'q': 0.10, + 'r': 6, + 's': 6.30, + 't': 9.10, + 'u': 2.80, + 'v': 0.98, + 'w': 2.40, + 'x': 0.15, + 'y': 2, + 'z': 0.07 +} diff --git a/lib/tasks/project_components/codebreaker_short_message_encoder/input.txt b/lib/tasks/project_components/codebreaker_short_message_encoder/input.txt new file mode 100644 index 00000000..f3c22eb3 --- /dev/null +++ b/lib/tasks/project_components/codebreaker_short_message_encoder/input.txt @@ -0,0 +1 @@ +replace with your message diff --git a/lib/tasks/project_components/codebreaker_short_message_encoder/longer.txt b/lib/tasks/project_components/codebreaker_short_message_encoder/longer.txt new file mode 100644 index 00000000..a5fbbf19 --- /dev/null +++ b/lib/tasks/project_components/codebreaker_short_message_encoder/longer.txt @@ -0,0 +1 @@ +dszg rh zm zhgil kr xlnkfgvi zm zhgil kr xlnkfgvi rh z izhkyviib kr xlnkfgvi vjfrkkvw drgs hvmhlih zmw slfhvw rm z hkvxrzo xzhv izhkyviib kr rh z evib zuuliwzyov xivwrgxziwhravw yzivylmvh xlnkfgvi tivzg uli fhv rm vwfxzgrlm nzip rr sziwdzivgsv zhgil kr np rr xlnkfgvih ziv fktizwvw evihrlmh lu gsv zhgil kr raab zmw zhgil kr vw xlnkfgvih gszg dviv hvmg gl gsv rhh wfirmt grn kvzpvh kirmxrkrz nrhhrlm rm gsvhv xlnkfgvih uvzgfiv gsv ozgvhg nlwvo lu gsv izhkyviib kr xlnkfgvi zm fktizwvw xznviz zmw zm zftnvmgvw hvmhli ylziw gsrh vjfrknvmg droo vmzyov kzigrxrkzmgh gl wl z drwv izmtv lu vckvirnvmgh hlnv lu dsrxs dviv mlg kiverlfhob klhhryov hfxs zh vckvirnvmgh fhrmt vovnvmgh lu zigrurxrzo rmgvoortvmxv zwezmxvw nzxsrmv ovzimrmt zmw srtsviivhlofgrlm kslgltizksb gszm vevi yvuliv zhgil kr erh gsv zhgil kr erh xlnkfgvi zooldh gvznh rmevhgrtzgrmt oruv lm vzigs gl wl erhryovortsg vzigs lyhviezgrlm kslgltizksb zhgil kr ri gsv zhgil kr ri xlnkfgvi zooldh gvznh rmevhgrtzgrmt oruv lm vzigs gl wl mvzirmuizivw vzigs lyhviezgrlm kslgltizksb zmw xlnvh drgs z ivw lkgrxzo urogvi gl vmzyov nvzhfivnvmgh lu kozmg svzogs gl yv nzwv diff --git a/lib/tasks/project_components/codebreaker_short_message_encoder/main.py b/lib/tasks/project_components/codebreaker_short_message_encoder/main.py new file mode 100644 index 00000000..fa7580a5 --- /dev/null +++ b/lib/tasks/project_components/codebreaker_short_message_encoder/main.py @@ -0,0 +1,97 @@ +##!/bin/python3 +from pygal import Bar +from frequency import english + +# Set up data structures +alphabet = list('abcdefghijklmnopqrstuvwxyz ') # List from a string +code = {} + +# Create the atbash code by reversing the alphabet +def create_code(): + backwards = list(reversed(alphabet)) # Reversing a list + + for i in range(len(alphabet)): # Getting length of a list + code[alphabet[i]] = backwards[i] # Populate the code dictionary with a letter of the alphabet and its encoded letter + + #print(code) + +# Calculate the frequency of all letters in a piece of text +def frequency(text): + text = list(text.lower()) # Lowercase the message and make it a list + + freq = {} # Create a dict of every letter, with a count of 0 + for letter in alphabet: + freq[letter] = 0 + + total_letters = len(text) # Count the letters in the message + + for letter in text: + if letter in freq: + freq[letter] += 1 + + for letter in freq: # Convert from counts to percentages + freq[letter] = freq[letter] / total_letters * 100 + + return freq + +# Make frequency chart +def make_chart(text, language): + chart = Bar(title='Frequency analysis', x_labels = list(text.keys())) + chart.add('Target message', list(text.values())) # First explicit use of values + chart.add('Language', list(language.values())) + + chart.render() + + +# Encode/decode a piece of text — atbash is symetrical +def atbash(text): + text = text.lower() # Converting text to lowercase + output = '' + + for letter in text: + if letter in code: + output += code[letter] # Populate output with the encoded/decoded message using the dictionary + + return output # Return the encoded/decoded message + + +# Fetch and return text from a file +def get_text(filename): + with open(filename) as f: + text = f.read().replace('\n','') # Need to strip the newline characters + + return text + +# Create a text-based menu system +def menu(): + choice = '' # Start with a wrong answer for choice. + + while choice != 'c' and choice != 'f' and choice != 'm': # Keep asking the user for the right answer + choice = input('Please enter c to encode/decode a text file, f to perform frequency analysis, or m to enter your own message to encode:' ) + + if choice == 'c': + print('Running your message through the cypher…') + message = get_text('longer.txt') # Take input from a file + code = atbash(message) + print(code) + + elif choice == 'f': + print('Analysing message…') + message = get_text('longer.txt') # Take input from the same file. We have a 'longer.txt' or similar containing cyphertext we know to perform reasonably well for frequency analysis + message_freq = frequency(message) # Get the frequency of the letters in the message, as % + # print(message_freq) + lang_freq = english # Import the English frequency dictionary + make_chart(message_freq, lang_freq) # Call the function to make a chart + + elif choice == 'm': + message = input('What text would you like to encode?') + code = atbash(message) + print(code) + +# Start up +def main(): + create_code() + menu() + + +main() diff --git a/lib/tasks/project_components/codebreaker_short_message_encoder/project_config.yml b/lib/tasks/project_components/codebreaker_short_message_encoder/project_config.yml new file mode 100644 index 00000000..16467d94 --- /dev/null +++ b/lib/tasks/project_components/codebreaker_short_message_encoder/project_config.yml @@ -0,0 +1,27 @@ +NAME: "Codebreaker: Custom Short Message Encoder" +IDENTIFIER: "short-message-encoder" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "frequency" + extension: "py" + location: "frequency.py" + index: 1 + default: false + - name: "input" + extension: "txt" + location: "input.txt" + index: 2 + default: false + - name: "longer" + extension: "txt" + location: "longer.txt" + index: 3 + default: false + + + + diff --git a/lib/tasks/project_components/codebreaker_starter/frequency.py b/lib/tasks/project_components/codebreaker_starter/frequency.py new file mode 100644 index 00000000..1c9fdd06 --- /dev/null +++ b/lib/tasks/project_components/codebreaker_starter/frequency.py @@ -0,0 +1,31 @@ +# Frequency distribution of letters in multiple languages +# Provided as part of the starter + +english = { + 'a': 8.20, + 'b': 1.50, + 'c': 2.80, + 'd': 4.30, + 'e': 13, + 'f': 2.20, + 'g': 2, + 'h': 6.10, + 'i': 7, + 'j': 0.15, + 'k': 0.77, + 'l': 4, + 'm': 2.40, + 'n': 6.70, + 'o': 7.50, + 'p': 1.90, + 'q': 0.10, + 'r': 6, + 's': 6.30, + 't': 9.10, + 'u': 2.80, + 'v': 0.98, + 'w': 2.40, + 'x': 0.15, + 'y': 2, + 'z': 0.07 +} diff --git a/lib/tasks/project_components/codebreaker_starter/input.txt b/lib/tasks/project_components/codebreaker_starter/input.txt new file mode 100644 index 00000000..f3c22eb3 --- /dev/null +++ b/lib/tasks/project_components/codebreaker_starter/input.txt @@ -0,0 +1 @@ +replace with your message diff --git a/lib/tasks/project_components/codebreaker_starter/longer.txt b/lib/tasks/project_components/codebreaker_starter/longer.txt new file mode 100644 index 00000000..a5fbbf19 --- /dev/null +++ b/lib/tasks/project_components/codebreaker_starter/longer.txt @@ -0,0 +1 @@ +dszg rh zm zhgil kr xlnkfgvi zm zhgil kr xlnkfgvi rh z izhkyviib kr xlnkfgvi vjfrkkvw drgs hvmhlih zmw slfhvw rm z hkvxrzo xzhv izhkyviib kr rh z evib zuuliwzyov xivwrgxziwhravw yzivylmvh xlnkfgvi tivzg uli fhv rm vwfxzgrlm nzip rr sziwdzivgsv zhgil kr np rr xlnkfgvih ziv fktizwvw evihrlmh lu gsv zhgil kr raab zmw zhgil kr vw xlnkfgvih gszg dviv hvmg gl gsv rhh wfirmt grn kvzpvh kirmxrkrz nrhhrlm rm gsvhv xlnkfgvih uvzgfiv gsv ozgvhg nlwvo lu gsv izhkyviib kr xlnkfgvi zm fktizwvw xznviz zmw zm zftnvmgvw hvmhli ylziw gsrh vjfrknvmg droo vmzyov kzigrxrkzmgh gl wl z drwv izmtv lu vckvirnvmgh hlnv lu dsrxs dviv mlg kiverlfhob klhhryov hfxs zh vckvirnvmgh fhrmt vovnvmgh lu zigrurxrzo rmgvoortvmxv zwezmxvw nzxsrmv ovzimrmt zmw srtsviivhlofgrlm kslgltizksb gszm vevi yvuliv zhgil kr erh gsv zhgil kr erh xlnkfgvi zooldh gvznh rmevhgrtzgrmt oruv lm vzigs gl wl erhryovortsg vzigs lyhviezgrlm kslgltizksb zhgil kr ri gsv zhgil kr ri xlnkfgvi zooldh gvznh rmevhgrtzgrmt oruv lm vzigs gl wl mvzirmuizivw vzigs lyhviezgrlm kslgltizksb zmw xlnvh drgs z ivw lkgrxzo urogvi gl vmzyov nvzhfivnvmgh lu kozmg svzogs gl yv nzwv diff --git a/lib/tasks/project_components/codebreaker_starter/main.py b/lib/tasks/project_components/codebreaker_starter/main.py new file mode 100644 index 00000000..6d00509a --- /dev/null +++ b/lib/tasks/project_components/codebreaker_starter/main.py @@ -0,0 +1,33 @@ +#!/bin/python3 +from pygal import Bar +from frequency import english + +# Set up data structures + + + +# Create the atbash code by reversing the alphabet + + + +# Calculate the frequency of all letters in a piece of text + + + +# Make frequency chart + + + +# Encode/decode a piece of text — atbash is symetrical + + + +# Fetch and return text from a file + + + +# Create a text-based menu system + + + +# Start up diff --git a/lib/tasks/project_components/codebreaker_starter/project_config.yml b/lib/tasks/project_components/codebreaker_starter/project_config.yml new file mode 100644 index 00000000..2857730e --- /dev/null +++ b/lib/tasks/project_components/codebreaker_starter/project_config.yml @@ -0,0 +1,27 @@ +NAME: "Codebreaker" +IDENTIFIER: "codebreaker-project-starter" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "frequency" + extension: "py" + location: "frequency.py" + index: 1 + default: false + - name: "input" + extension: "txt" + location: "input.txt" + index: 2 + default: false + - name: "longer" + extension: "txt" + location: "longer.txt" + index: 3 + default: false + + + + diff --git a/lib/tasks/project_components/codebreaker_three_language/frequency.py b/lib/tasks/project_components/codebreaker_three_language/frequency.py new file mode 100644 index 00000000..04390ae3 --- /dev/null +++ b/lib/tasks/project_components/codebreaker_three_language/frequency.py @@ -0,0 +1,89 @@ +# Frequency distribution of letters in multiple languages +# Provided as part of the starter + +english = { + 'a': 8.20, + 'b': 1.50, + 'c': 2.80, + 'd': 4.30, + 'e': 13, + 'f': 2.20, + 'g': 2, + 'h': 6.10, + 'i': 7, + 'j': 0.15, + 'k': 0.77, + 'l': 4, + 'm': 2.40, + 'n': 6.70, + 'o': 7.50, + 'p': 1.90, + 'q': 0.10, + 'r': 6, + 's': 6.30, + 't': 9.10, + 'u': 2.80, + 'v': 0.98, + 'w': 2.40, + 'x': 0.15, + 'y': 2, + 'z': 0.07 +} + +french = { + 'a': 8.16, + 'b': 0.93, + 'c': 3.15, + 'd': 3.55, + 'e': 17.8, + 'f': 2.20, + 'g': 0.97, + 'h': 1.08, + 'i': 7, + 'j': 0.71, + 'k': 0.16, + 'l': 5.68, + 'm': 3.23, + 'n': 6.42, + 'o': 5.27, + 'p': 3.03, + 'q': 0.89, + 'r': 6.43, + 's': 7.91, + 't': 7.11, + 'u': 0.1, + 'v': 1.83, + 'w': 0.04, + 'x': 0.42, + 'y': 0.2, + 'z': 0.21 +} + +spanish = { + 'a': 12.1, + 'b': 1.50, + 'c': 3.87, + 'd': 4.67, + 'e': 14, + 'f': 0.69, + 'g': 1, + 'h': 1.18, + 'i': 5.98, + 'j': 0.52, + 'k': 0.11, + 'l': 5.24, + 'm': 3.08, + 'n': 6.83, + 'o': 8.44, + 'p': 2.89, + 'q': 1.11, + 'r': 6.41, + 's': 7.2, + 't': 4.6, + 'u': 4.69, + 'v': 1.05, + 'w': 0.04, + 'x': 0.14, + 'y': 1.09, + 'z': 0.47 +} diff --git a/lib/tasks/project_components/codebreaker_three_language/input.txt b/lib/tasks/project_components/codebreaker_three_language/input.txt new file mode 100644 index 00000000..f3c22eb3 --- /dev/null +++ b/lib/tasks/project_components/codebreaker_three_language/input.txt @@ -0,0 +1 @@ +replace with your message diff --git a/lib/tasks/project_components/codebreaker_three_language/longer.txt b/lib/tasks/project_components/codebreaker_three_language/longer.txt new file mode 100644 index 00000000..a5fbbf19 --- /dev/null +++ b/lib/tasks/project_components/codebreaker_three_language/longer.txt @@ -0,0 +1 @@ +dszg rh zm zhgil kr xlnkfgvi zm zhgil kr xlnkfgvi rh z izhkyviib kr xlnkfgvi vjfrkkvw drgs hvmhlih zmw slfhvw rm z hkvxrzo xzhv izhkyviib kr rh z evib zuuliwzyov xivwrgxziwhravw yzivylmvh xlnkfgvi tivzg uli fhv rm vwfxzgrlm nzip rr sziwdzivgsv zhgil kr np rr xlnkfgvih ziv fktizwvw evihrlmh lu gsv zhgil kr raab zmw zhgil kr vw xlnkfgvih gszg dviv hvmg gl gsv rhh wfirmt grn kvzpvh kirmxrkrz nrhhrlm rm gsvhv xlnkfgvih uvzgfiv gsv ozgvhg nlwvo lu gsv izhkyviib kr xlnkfgvi zm fktizwvw xznviz zmw zm zftnvmgvw hvmhli ylziw gsrh vjfrknvmg droo vmzyov kzigrxrkzmgh gl wl z drwv izmtv lu vckvirnvmgh hlnv lu dsrxs dviv mlg kiverlfhob klhhryov hfxs zh vckvirnvmgh fhrmt vovnvmgh lu zigrurxrzo rmgvoortvmxv zwezmxvw nzxsrmv ovzimrmt zmw srtsviivhlofgrlm kslgltizksb gszm vevi yvuliv zhgil kr erh gsv zhgil kr erh xlnkfgvi zooldh gvznh rmevhgrtzgrmt oruv lm vzigs gl wl erhryovortsg vzigs lyhviezgrlm kslgltizksb zhgil kr ri gsv zhgil kr ri xlnkfgvi zooldh gvznh rmevhgrtzgrmt oruv lm vzigs gl wl mvzirmuizivw vzigs lyhviezgrlm kslgltizksb zmw xlnvh drgs z ivw lkgrxzo urogvi gl vmzyov nvzhfivnvmgh lu kozmg svzogs gl yv nzwv diff --git a/lib/tasks/project_components/codebreaker_three_language/main.py b/lib/tasks/project_components/codebreaker_three_language/main.py new file mode 100644 index 00000000..ddcc07dc --- /dev/null +++ b/lib/tasks/project_components/codebreaker_three_language/main.py @@ -0,0 +1,105 @@ +##!/bin/python3 +from pygal import Bar +from frequency import english, french, spanish + +# Set up data structures +alphabet = list(' abcdefghijklmnopqrstuvwxyz ') # List from a string +code = {} + +# Create the atbash code by reversing the alphabet +def create_code(): + backwards = list(reversed(alphabet)) # Reversing a list + + for i in range(len(alphabet)): # Getting length of a list + code[alphabet[i]] = backwards[i] # Populate the code dictionary with a letter of the alphabet and its encoded letter + + #print(code) + +# Calculate the frequency of all letters in a piece of text +def frequency(text): + text = list(text.lower()) # Lowercase the message and make it a list + + freq = {} # Create a dict of every letter, with a count of 0 + for letter in alphabet: + freq[letter] = 0 + + total_letters = len(text) # Count the letters in the message + + for letter in text: + if letter in freq: + freq[letter] += 1 + + for letter in freq: # Convert from counts to percentages + freq[letter] = freq[letter] / total_letters * 100 + + return freq + +# Make frequency chart +def make_chart(text, language): + chart = Bar(title='Frequency analysis', x_labels = list(text.keys())) + chart.add('Target message', list(text.values())) # First explicit use of values + chart.add('Language', list(language.values())) + + chart.render() + + +# Encode/decode a piece of text — atbash is symetrical +def atbash(text): + text = text.lower() # Converting text to lowercase + output = '' + + for letter in text: + if letter in code: + output += code[letter] # Populate output with the encoded/decoded message using the dictionary + + return output # Return the encoded/decoded message + + +# Fetch and return text from a file +def get_text(filename): + with open(filename) as f: + text = f.read().replace('\n','') # Need to strip the newline characters + + return text + +# Create a text-based menu system +def menu(): + choice = '' # Start with a wrong answer for choice. + + while choice != 'c' and choice != 'f' and choice != 'm': # Keep asking the user for the right answer + choice = input('Please enter c to encode/decode a text file, f to perform frequency analysis in three languages, or m to enter your own message to encode:' ) + + if choice == 'c': + print('Running your message through the cypher…') + message = get_text('longer.txt') # Take input from a file + code = atbash(message) + print(code) + + elif choice == 'f': + print('Analysing message…') + message = get_text('longer.txt') # Take input from the same file. We have a 'longer.txt' or similar containing cyphertext we know to perform reasonably well for frequency analysis + message_freq = frequency(message) # Get the frequency of the letters in the message, as % + # print(message_freq) + language = input('Which language is your message in? \n1. English \n2. French \n3. Spanish') + + if language == '1': + lang_freq = english # Import the English frequency dictionary + elif language == '2': + lang_freq = french + elif language == '3': + lang_freq = spanish + + make_chart(message_freq, lang_freq) # Call the function to make a chart + + elif choice == 'm': + message = input('What text would you like to encode?') + code = atbash(message) + print(code) + +# Start up +def main(): + create_code() + menu() + + +main() diff --git a/lib/tasks/project_components/codebreaker_three_language/project_config.yml b/lib/tasks/project_components/codebreaker_three_language/project_config.yml new file mode 100644 index 00000000..216c2e29 --- /dev/null +++ b/lib/tasks/project_components/codebreaker_three_language/project_config.yml @@ -0,0 +1,27 @@ +NAME: "Codebreaker: Three Language Atbash Encoder" +IDENTIFIER: "three-language-encoder" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "frequency" + extension: "py" + location: "frequency.py" + index: 1 + default: false + - name: "input" + extension: "txt" + location: "input.txt" + index: 2 + default: false + - name: "longer" + extension: "txt" + location: "longer.txt" + index: 3 + default: false + + + + diff --git a/lib/tasks/project_components/encoded_art_all_the_fruit/main.py b/lib/tasks/project_components/encoded_art_all_the_fruit/main.py new file mode 100644 index 00000000..fb809d2a --- /dev/null +++ b/lib/tasks/project_components/encoded_art_all_the_fruit/main.py @@ -0,0 +1,223 @@ +#!/bin/python3 + +# PROTOTYPE THREE - DRAWING COMPLEX SHAPES TO APPEAR AT RANDOM + +from p5 import * +from random import randint, seed + +def shape_1(fruit_colour): # Draws a Kawaii fruit at a random position in the chosen colour + + # Randomly generate the x and y positions + + x = randint(0, 400) + y = randint(0, 400) + + brown = Color(200, 120, 0) + green = Color(100, 155, 0) + + # Instructions to draw the fruit, some maths required to make each object appear where it should + + # Body + fill(fruit_colour) + ellipse(x, y, 100, 95) + fill(0) + # Eyes + ellipse(x-20, y+10, 15, 15) + ellipse(x+20, y+10, 15, 15) + fill(255) + ellipse(x-18, y+8, 5, 5) + ellipse(x+22, y+8, 5, 5) + # Mouth + fill(0) + ellipse(x, y+20, 10, 10) + fill(fruit_colour) + ellipse(x, y+18, 10, 10) + # Highlights + fill(255, 70) + ellipse(x-10, y-20, 20, 20) + ellipse(x-20, y-15, 15, 15) + # Stalk + fill(brown) + triangle(x-5, y-35, x+5, y-75, x+20, y-75); + fill(green) + push_matrix() + translate(x-20, y-55) + rotate(radians(45)) + ellipse(0, 0, 40, 15) + pop_matrix() + +def shape_2(fruit_colour): # Draws a lime fruit in a chosen colour at a random position + + x = randint(0, 400) + y = randint(0, 400) + + brown = Color(200, 120, 0) + green = Color(100, 155, 0) + + # Instructions for drawing the lime + + # Body + fill(fruit_colour) + ellipse(x, y, 110, 150) + ellipse(x, y+70, 30, 30) + ellipse(x, y-70, 30, 30) + fill(0) + # Eyes + ellipse(x-20, y, 15, 15) + ellipse(x+20, y, 15, 15) + fill(255) + ellipse(x-18, y-3, 5, 5) + ellipse(x+22, y-3, 5, 5) + # Mouth + fill(0) + ellipse(x, y+12, 10, 10) + fill(fruit_colour) + ellipse(x, y+10, 10, 10) + # Highlights + fill(255, 70) + ellipse(x-10, y-40, 20, 20) + ellipse(x-20, y-35, 15, 15) + # Stalk + fill(brown) + triangle(x-15, y-65, x-5, y-100, x+10, y-100); + fill(green) + push_matrix() + translate(x-30, y-80) + rotate(radians(45)) + ellipse(0, 0, 40, 15) + pop_matrix() + +def shape_3(fruit_colour): # Draws a cherry fruit in a chosen colour and a random position + + x = randint(0, 400) + y = randint(0, 400) + + brown = Color(200, 120, 0) + green = Color(100, 155, 0) + + # Instructions for drawing the cherry + + # Body + fill(fruit_colour) + ellipse(x, y, 70, 70) + # Highlights + fill(255, 70) + ellipse(x, y, 60, 60) + fill(fruit_colour) + ellipse(x+3, y+3, 60, 60) + # Eyes + fill(0) + ellipse(x-15, y, 15, 15) + ellipse(x+15, y, 15, 15) + fill(255) + ellipse(x-13, y-3, 5, 5) + ellipse(x+18, y-3, 5, 5) + # Mouth + fill(0) + ellipse(x, y+12, 10, 10) + fill(fruit_colour) + ellipse(x, y+10, 10, 10) + # Stalk + fill(brown) + triangle(x-5, y-20, x+5, y-80, x+10, y-80); + # Leaves + fill(green) + push_matrix() + translate(x-10, y-35) + rotate(radians(45)) + ellipse(0, 0, 30, 15) + pop_matrix() + fill(Color(15, 140, 12)) + push_matrix() + translate(x-10, y-35) + rotate(radians(110)) + ellipse(-10, -15, 30, 15) + pop_matrix() + +# Adds a background colour +def draw_background(): + + # Background colour + fill(Color(255, 255, 255)) + rect(0, 0, 400, 400) + +def setup(): + + size(400, 400) + + +def draw(): + + # Colour palette for fruit drawings + + orange = Color(255, 165, 0) + lime = Color(134, 229, 77) + cherry = Color(213, 17, 70) + red = Color(229, 86, 77) + blue = Color(85, 182, 225) + purple = Color(165, 131, 245) + yellow = Color(243, 247, 32) + r = randint(0,255) + g = randint(0,255) + b = randint(0,255) + suprise_me = Color(r, g, b) # Generates a random colour + + + # Dictionary of letters and their encoded shape, a colour is selected from the palette + + code = { + 'a': ['shape 3', cherry], + 'b': ['shape 1', orange], + 'c': ['shape 1', lime], + 'd': ['shape 1', blue], + 'e': ['shape 3', red], + 'f': ['shape 1', suprise_me], + 'g': ['shape 1', purple], + 'h': ['shape 1', purple], + 'i': ['shape 3', purple], + 'j': ['shape 1', red], + 'k': ['shape 2', purple], + 'l': ['shape 1', red], + 'm': ['shape 1', purple], + 'n': ['shape 1', purple], + 'o': ['shape 1', red], + 'p': ['shape 2', lime], + 'q': ['shape 1', blue], + 'r': ['shape 3', suprise_me], + 's': ['shape 1', orange], + 't': ['shape 2', yellow], + 'u': ['shape 1', yellow], + 'v': ['shape 1', yellow], + 'w': ['shape 1', red], + 'x': ['shape 2', suprise_me], + 'y': ['shape 1', blue], + 'z': ['shape 1', lime], + ' ': ['shape 2', cherry], + + } + + global name + + seed(10) # Generate the same random numbers each time + no_stroke() + draw_background() + + name = name.lower() # Change the input to lowercase + + message = [] # Initialise the message list + + for letter in name: + message.append(code[letter]) # Encode each letter with a shape and add it to a list + + for item in message: # Draw either shape 1, 2 or 3 with the selected colour option + if item[0] == 'shape 1': + shape_1(item[1]) + elif item[0] == 'shape 2': + shape_2(item[1]) + elif item[0] == 'shape 3': + shape_3(item[1]) + +print('Enter your name to make some encoded artwork:') +name = input() + +run(frame_rate=10) diff --git a/lib/tasks/project_components/encoded_art_all_the_fruit/project_config.yml b/lib/tasks/project_components/encoded_art_all_the_fruit/project_config.yml new file mode 100644 index 00000000..291bf307 --- /dev/null +++ b/lib/tasks/project_components/encoded_art_all_the_fruit/project_config.yml @@ -0,0 +1,8 @@ +NAME: "Encoded Art: All the Fruit!" +IDENTIFIER: "all-the-fruit" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true diff --git a/lib/tasks/project_components/encoded_art_circles_squares_triangles/main.py b/lib/tasks/project_components/encoded_art_circles_squares_triangles/main.py new file mode 100644 index 00000000..655b57b0 --- /dev/null +++ b/lib/tasks/project_components/encoded_art_circles_squares_triangles/main.py @@ -0,0 +1,128 @@ +#!/bin/python3 + +from p5 import * +from random import randint, seed + +def shape_1(size, colour): # Each shape can have a different size and colour based on the parameters + + # Draws a circle with a thick outline + + x = randint(0, 400) + y = randint(0, 400) + fill(colour) + ellipse(x, y, size, size) + fill(Color(251, 168, 57)) + ellipse(x, y, size - 20, size - 20) + +def shape_2(size, colour): + + # Draws a rectangle + + x = randint(0, 400) + y = randint(0, 400) + fill(colour) + rect(x, y, size, size) + +def shape_3(size, colour): # Size isn't used for this function but two parameters must be passed + + # Draws a triangle + + x = randint(0, 400) + y = randint(0, 400) + fill(colour) + triangle(x, y, x+50, y-100, x+100, y) + +# Set up the background +def draw_background(): + + # Background colour + fill(Color(5, 55, 93)) + rect(0, 0, 400, 400) + +def setup(): + + size(400, 400) + + +def draw(): + + ## -- My colour palette -- ## Using primary, secondary and complementary colours + + # Primary colours + + primary_1 = Color(14, 92, 151) + primary_2 = Color(77, 135, 179) + primary_3 = Color(45,111, 161) + primary_4 = Color(8, 71, 120) + primary_5 = Color(5, 55, 93) + + # Secondary colours + + secondary_1 = Color(29, 29, 164) + secondary_2 = Color(92, 92, 191) + secondary_3 = Color(60, 60, 176) + + # Complementary colours + + complementary_1 = Color(234, 137, 8) + complementary_2 = Color(255, 188, 99) + complementary_3 = Color(251, 168, 57) + + # Dictionary of letters and their encoded shape with size and colour options + + code = { + 'a': ['shape 1', 150, primary_1], + 'b': ['shape 3', 50, complementary_3], + 'c': ['shape 3', 75, secondary_1], + 'd': ['shape 2', 80, secondary_1], + 'e': ['shape 1', 20, primary_2], + 'f': ['shape 2', 80, secondary_2], + 'g': ['shape 1', 10, secondary_2], + 'h': ['shape 2', 300, secondary_3], + 'i': ['shape 1', 200, primary_3], + 'j': ['shape 3', 90, secondary_3], + 'k': ['shape 1', 12, complementary_1], + 'l': ['shape 2', 43, complementary_1], + 'm': ['shape 1', 93, complementary_2], + 'n': ['shape 2', 64, complementary_2], + 'o': ['shape 1', 85, primary_4], + 'p': ['shape 2', 10, primary_3], + 'q': ['shape 1', 45, primary_3], + 'r': ['shape 1', 70, primary_4], + 's': ['shape 1', 36, primary_4], + 't': ['shape 3', 74, primary_1], + 'u': ['shape 1', 58, primary_3], + 'v': ['shape 2', 78, primary_1], + 'w': ['shape 1', 24, primary_4], + 'x': ['shape 2', 14, primary_4], + 'y': ['shape 3', 67, secondary_2], + 'z': ['shape 2', 70, complementary_2], + ' ': ['shape 1', 25, complementary_1], + + } + + global name + + seed(10) # Generate the same random numbers each time + no_stroke() + draw_background() + + name = name.lower() # Change the input to lowercase + + message = [] # Initialise the message list + + for letter in name: + message.append(code[letter]) # Encode each letter with a shape and add it to a list + + for item in message: # For each letter, draw the chosen shape + if item[0] == 'shape 1': + shape_1(item[1], item[2]) + elif item[0] == 'shape 2': + shape_2(item[1], item[2]) + elif item[0] == 'shape 3': + shape_3(item[1], item[2]) + +print('Enter your name to make some encoded artwork:') +name = input() + +run(frame_rate=10) diff --git a/lib/tasks/project_components/encoded_art_circles_squares_triangles/project_config.yml b/lib/tasks/project_components/encoded_art_circles_squares_triangles/project_config.yml new file mode 100644 index 00000000..5d163668 --- /dev/null +++ b/lib/tasks/project_components/encoded_art_circles_squares_triangles/project_config.yml @@ -0,0 +1,8 @@ +NAME: "Encoded Art: Circles, Squares and Trinagles" +IDENTIFIER: "circles-squares-triangles" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true diff --git a/lib/tasks/project_components/encoded_art_geometric_patterns/main.py b/lib/tasks/project_components/encoded_art_geometric_patterns/main.py new file mode 100644 index 00000000..a7318b56 --- /dev/null +++ b/lib/tasks/project_components/encoded_art_geometric_patterns/main.py @@ -0,0 +1,170 @@ +#!/bin/python3 + +# PROTOTYPE FOUR + +from p5 import * + + +def size_check(): # Check to see if you've gone off the side of the window + + global startx + global starty + if startx >= 400: + startx = 0 + starty +=80 + + +def shape_1(size, colour): # Draw a diamond + + global startx + global starty + x1 = startx + y1 = starty + 40 # Move to centre of stripe + x2 = x1 + (size/2) + y2 = y1 + (size/2) + x3 = x1 + size + y3 = y1 + x4 = x1 + (size/2) + y4 = y1 - (size/2) + fill(colour) + quad(x1, y1, x2, y2, x3, y3, x4, y4) + + +def shape_2(size, colour): # Draw a square + + global startx + global starty + x = startx + y = starty + fill(colour) + rect(x, y, size, size) + + +def shape_3(size, colour): # Draw a triangle + + global startx + global starty + x1 = startx + y1 = starty + x2 = x1 + (size/2) + y2 = y1 + size + x3 = x1 + size + y3 = y1 + fill(colour) + triangle(x1, y1, x2, y2, x3, y3) + + +# Adds a background colour +def draw_background(): + + # Background colours + fill(Color(0, 0, 255)) + rect(0, 0, 400, 80) + fill(Color(0, 127, 127)) + rect(0, 80, 400, 80) + fill(Color(0, 255, 0)) + rect(0, 160, 400, 80) + fill(Color(127, 127, 0)) + rect(0, 240, 400, 80) + fill(Color(255, 0, 0)) + rect(0, 320, 400, 80) + +def setup(): + + size(400, 400) + + +def draw(): + + ## -- My colour palette -- + + # Primary colours + + primary_1 = Color(246,32,100) + primary_2 = Color(247,0,79) + primary_3 = Color(234,0,75) + primary_4 = Color(196,0,63) + primary_5 = Color(4,0,1) + + # Secondary colours + + secondary_1 = Color(255,198,33) + secondary_2 = Color(255,190,0) + secondary_3 = Color(55,190,0) + + # Complementary colours + + complementary_1 = Color(59,63,230) + complementary_2 = Color(5,9,154) + complementary_3 = Color(133,246,32) + + + code = { + 'a': ['shape 1', 80, primary_1], + 'b': ['shape 2', 50, complementary_3], + 'c': ['shape 3', 75, secondary_1], + 'd': ['shape 2', 80, secondary_1], + 'e': ['shape 1', 20, primary_2], + 'f': ['shape 3', 80, secondary_2], + 'g': ['shape 1', 10, secondary_2], + 'h': ['shape 2', 38, secondary_3], + 'i': ['shape 3', 23, primary_3], + 'j': ['shape 2', 76, secondary_3], + 'k': ['shape 1', 12, complementary_1], + 'l': ['shape 3', 43, complementary_1], + 'm': ['shape 1', 64, complementary_2], + 'n': ['shape 2', 64, complementary_2], + 'o': ['shape 3', 85, primary_4], + 'p': ['shape 2', 10, primary_3], + 'q': ['shape 1', 45, primary_3], + 'r': ['shape 3', 70, primary_4], + 's': ['shape 1', 36, primary_4], + 't': ['shape 2', 74, primary_1], + 'u': ['shape 3', 58, primary_3], + 'v': ['shape 2', 78, primary_1], + 'w': ['shape 1', 24, primary_4], + 'x': ['shape 3', 14, primary_4], + 'y': ['shape 1', 67, secondary_2], + 'z': ['shape 2', 70, complementary_2], + ' ': ['shape 3', 25, complementary_1], + + } + + global name, startx, starty + startx = 0 + starty = 0 + + + no_stroke() + draw_background() + + name = name.lower() # Change the input to lowercase + + message = [] # Initialise the message list + + + for letter in name: + message.append(code[letter]) # Encode each letter with a shape and add it to a list + + + for item in message: + if item[0] == 'shape 1': + shape_1(item[1], item[2]) # Draw shape + startx += item[1] # Translate next starting x co-ord by width of shape + size_check() # Check to see if you've gone off the side of the window + + elif item[0] == 'shape 2': + shape_2(item[1], item[2]) + startx += item[1] + size_check() + + elif item[0] == 'shape 3': + shape_3(item[1], item[2]) + startx += item[1] + size_check() + + +print('Enter your name to make some encoded artwork:') +name = input() + +run(frame_rate=10) diff --git a/lib/tasks/project_components/encoded_art_geometric_patterns/project_config.yml b/lib/tasks/project_components/encoded_art_geometric_patterns/project_config.yml new file mode 100644 index 00000000..49085435 --- /dev/null +++ b/lib/tasks/project_components/encoded_art_geometric_patterns/project_config.yml @@ -0,0 +1,8 @@ +NAME: "Encoded Art: Geometric Patterns" +IDENTIFIER: "geometric-patterns-example" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true diff --git a/lib/tasks/project_components/encoded_art_geometric_patterns_punctuation/main.py b/lib/tasks/project_components/encoded_art_geometric_patterns_punctuation/main.py new file mode 100644 index 00000000..5782f979 --- /dev/null +++ b/lib/tasks/project_components/encoded_art_geometric_patterns_punctuation/main.py @@ -0,0 +1,184 @@ +#!/bin/python3 + +# PROTOTYPE FOUR - AFRICAN INSPIRED ART + +from p5 import * + + +def size_check(): # Check to see if you've gone off the side of the window + + global startx + global starty + if startx >= 400: + startx = 0 + starty +=80 + + +def shape_1(size, colour): # Draw a diamond + + global startx + global starty + x1 = startx + y1 = starty + 40 # Move to centre of stripe + x2 = x1 + (size/2) + y2 = y1 + (size/2) + x3 = x1 + size + y3 = y1 + x4 = x1 + (size/2) + y4 = y1 - (size/2) + fill(colour) + quad(x1, y1, x2, y2, x3, y3, x4, y4) + + +def shape_2(size, colour): # Draw a square + + global startx + global starty + x = startx + y = starty + fill(colour) + rect(x, y, size, size) + + +def shape_3(size, colour): # Draw a triangle + + global startx + global starty + x1 = startx + y1 = starty + x2 = x1 + (size/2) + y2 = y1 + size + x3 = x1 + size + y3 = y1 + fill(colour) + triangle(x1, y1, x2, y2, x3, y3) + + +# Adds a background colour +def draw_background(): + + # Background colours + fill(Color(0, 0, 255)) + rect(0, 0, 400, 80) + fill(Color(0, 127, 127)) + rect(0, 80, 400, 80) + fill(Color(0, 255, 0)) + rect(0, 160, 400, 80) + fill(Color(127, 127, 0)) + rect(0, 240, 400, 80) + fill(Color(255, 0, 0)) + rect(0, 320, 400, 80) + +def setup(): + + size(400, 400) + + +def draw(): + + ## -- My colour palette -- + + # Primary colours + + primary_1 = Color(246,32,100) + primary_2 = Color(247,0,79) + primary_3 = Color(234,0,75) + primary_4 = Color(196,0,63) + primary_5 = Color(4,0,1) + + # Secondary colours + + secondary_1 = Color(255,198,33) + secondary_2 = Color(255,190,0) + secondary_3 = Color(55,190,0) + + # Complementary colours + + complementary_1 = Color(59,63,230) + complementary_2 = Color(5,9,154) + complementary_3 = Color(133,246,32) + + + code = { + 'a': ['shape 1', 80, primary_1], + 'b': ['shape 2', 50, complementary_3], + 'c': ['shape 3', 75, secondary_1], + 'd': ['shape 2', 80, secondary_1], + 'e': ['shape 1', 20, primary_2], + 'f': ['shape 3', 80, secondary_2], + 'g': ['shape 1', 10, secondary_2], + 'h': ['shape 2', 38, secondary_3], + 'i': ['shape 3', 23, primary_3], + 'j': ['shape 2', 76, secondary_3], + 'k': ['shape 1', 12, complementary_1], + 'l': ['shape 3', 43, complementary_1], + 'm': ['shape 1', 64, complementary_2], + 'n': ['shape 2', 64, complementary_2], + 'o': ['shape 3', 85, primary_4], + 'p': ['shape 2', 10, primary_3], + 'q': ['shape 1', 45, primary_3], + 'r': ['shape 3', 70, secondary_3], + 's': ['shape 1', 36, primary_4], + 't': ['shape 2', 74, primary_1], + 'u': ['shape 3', 58, primary_3], + 'v': ['shape 2', 78, primary_1], + 'w': ['shape 1', 24, secondary_3], + 'x': ['shape 3', 14, primary_4], + 'y': ['shape 1', 67, secondary_2], + 'z': ['shape 2', 70, complementary_2], + ' ': ['shape 3', 25, complementary_1], + '?': ['shape 2', 54, secondary_2], + '!': ['shape 3', 37, primary_4], + '#': ['shape 2', 76, secondary_1], + '@': ['shape 1', 24, primary_3], + '£': ['shape 3', 83, secondary_2], + '$': ['shape 1', 72, secondary_3], + ':': ['shape 2', 54, primary_1], + '&': ['shape 3', 63, secondary_2], + '*': ['shape 2', 14, secondary_3], + '+': ['shape 1', 39, secondary_1], + '=': ['shape 3', 75, primary_4], + '-': ['shape 1', 79, secondary_2], + '~': ['shape 2', 38, complementary_2], + '/': ['shape 3', 25, complementary_1], + + } + + global name, startx, starty + startx = 0 + starty = 0 + + + no_stroke() + draw_background() + + name = name.lower() # Change the input to lowercase + + message = [] # Initialise the message list + + + for letter in name: + message.append(code[letter]) # Encode each letter with a shape and add it to a list + + + for item in message: + if item[0] == 'shape 1': + shape_1(item[1], item[2]) # Draw shape + startx += item[1] # Translate next starting x co-ord by width of shape + size_check() # Check to see if you've gone off the side of the window + + elif item[0] == 'shape 2': + shape_2(item[1], item[2]) + startx += item[1] + size_check() + + elif item[0] == 'shape 3': + shape_3(item[1], item[2]) + startx += item[1] + size_check() + + +print('Enter your name to make some encoded artwork:') +name = input() + +run(frame_rate=10) diff --git a/lib/tasks/project_components/encoded_art_geometric_patterns_punctuation/project_config.yml b/lib/tasks/project_components/encoded_art_geometric_patterns_punctuation/project_config.yml new file mode 100644 index 00000000..0a5c189e --- /dev/null +++ b/lib/tasks/project_components/encoded_art_geometric_patterns_punctuation/project_config.yml @@ -0,0 +1,8 @@ +NAME: "Encoded Art: Geometric Patterns with Punctuation" +IDENTIFIER: "geometric-patterns-punctuation" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true diff --git a/lib/tasks/project_components/encoded_art_lost_in_space/astronaut.png b/lib/tasks/project_components/encoded_art_lost_in_space/astronaut.png new file mode 100644 index 00000000..b47505f4 Binary files /dev/null and b/lib/tasks/project_components/encoded_art_lost_in_space/astronaut.png differ diff --git a/lib/tasks/project_components/encoded_art_lost_in_space/astropi.png b/lib/tasks/project_components/encoded_art_lost_in_space/astropi.png new file mode 100644 index 00000000..6fb08b25 Binary files /dev/null and b/lib/tasks/project_components/encoded_art_lost_in_space/astropi.png differ diff --git a/lib/tasks/project_components/encoded_art_lost_in_space/blue_star.png b/lib/tasks/project_components/encoded_art_lost_in_space/blue_star.png new file mode 100644 index 00000000..cc7c0281 Binary files /dev/null and b/lib/tasks/project_components/encoded_art_lost_in_space/blue_star.png differ diff --git a/lib/tasks/project_components/encoded_art_lost_in_space/green_planet.png b/lib/tasks/project_components/encoded_art_lost_in_space/green_planet.png new file mode 100644 index 00000000..e37920c0 Binary files /dev/null and b/lib/tasks/project_components/encoded_art_lost_in_space/green_planet.png differ diff --git a/lib/tasks/project_components/encoded_art_lost_in_space/main.py b/lib/tasks/project_components/encoded_art_lost_in_space/main.py new file mode 100644 index 00000000..c892fb2f --- /dev/null +++ b/lib/tasks/project_components/encoded_art_lost_in_space/main.py @@ -0,0 +1,130 @@ +#!/bin/python3 + +from p5 import * +from random import randint, seed + +# Draw a planet based on chosen size and colour +def shape_1(size, colour): + + x = randint(0, 400) + y = randint(0, 400) + if colour == 'purple': + image(purple_planet, x, y, size, size) + elif colour == 'orange': + image(orange_planet, x, y, size, size) + elif colour == 'green': + image(green_planet, x, y, size, size) + elif colour == 'grey': + image(grey_moon, x, y, size, size) + +# Draw a space object based on chosen object and size +def shape_2(size, object): + + x = randint(0, 400) + y = randint(0, 400) + if object == 'satellite': + image(satellite, x, y, size, size) + elif object == 'astronaut': + image(astronaut, x, y, size, size) + elif object == 'astropi': + image(astropi, x, y, size, size) + +# Draw a star based on chosen colour and size +def shape_3(size, colour): + + x = randint(0, 400) + y = randint(0, 400) + if colour == 'yellow': + image(yellow_star, x, y, size, size) + elif colour == 'pink': + image(pink_star, x, y, size, size) + elif colour == 'blue': + image(blue_star, x, y, size, size) + +# Adds a background colour +def draw_background(): + + # Background colour + fill(Color(0, 0, 0)) + rect(0, 0, 400, 400) + +def setup(): + + # Allow other functions to access the images + global purple_planet, orange_planet, green_planet, astropi, astronaut, satellite + global grey_moon, yellow_star, pink_star, blue_star + + size(400, 400) + + # Load the images needed into variables + purple_planet = load_image('purple_planet.png') + orange_planet = load_image('orange_planet.png') + green_planet = load_image('green_planet.png') + astropi = load_image('astropi.png') + astronaut = load_image('astronaut.png') + satellite = load_image('satellite.png') + grey_moon = load_image('moon.png') + yellow_star = load_image('yellow_star.png') + pink_star = load_image('pink_star.png') + blue_star = load_image('blue_star.png') + + +def draw(): + + # Dictionary of letters and their encoded shape + code = { + 'a': ['shape 3', 150, 'pink'], + 'b': ['shape 3', 50, 'yellow'], + 'c': ['shape 2', 75, 'astronaut'], + 'd': ['shape 2', 80, 'astropi'], + 'e': ['shape 1', 20, 'orange'], + 'f': ['shape 2', 80, 'satellite'], + 'g': ['shape 1', 10, 'purple'], + 'h': ['shape 1', 300, 'green'], + 'i': ['shape 1', 200, 'orange'], + 'j': ['shape 2', 90, 'astropi'], + 'k': ['shape 1', 12, 'purple'], + 'l': ['shape 3', 43, 'pink'], + 'm': ['shape 1', 93, 'orange'], + 'n': ['shape 1', 64, 'green'], + 'o': ['shape 3', 85, 'blue'], + 'p': ['shape 2', 10, 'astropi'], + 'q': ['shape 3', 45, 'blue'], + 'r': ['shape 1', 70, 'purple'], + 's': ['shape 1', 36, 'orange'], + 't': ['shape 2', 74, 'astronaut'], + 'u': ['shape 1', 58, 'grey'], + 'v': ['shape 3', 78, 'yellow'], + 'w': ['shape 1', 24, 'orange'], + 'x': ['shape 2', 14, 'astropi'], + 'y': ['shape 1', 67, 'purple'], + 'z': ['shape 2', 70, 'astropi'], + ' ': ['shape 3', 25, 'pink'], + + } + + global name + + seed(10) # Generate the same random numbers each time + no_stroke() + draw_background() + + name = name.lower() # Change the input to lowercase + + message = [] # Initialise the message list + + for letter in name: + message.append(code[letter]) # Encode each letter with a shape and add it to a list + + for item in message: # For each letter in the message, draw a shape + if item[0] == 'shape 1': + shape_1(item[1], item[2]) + elif item[0] == 'shape 2': + shape_2(item[1], item[2]) + elif item[0] == 'shape 3': + shape_3(item[1], item[2]) + +print('Enter your name to make some encoded artwork:') +name = input() + +run(frame_rate=10) diff --git a/lib/tasks/project_components/encoded_art_lost_in_space/moon.png b/lib/tasks/project_components/encoded_art_lost_in_space/moon.png new file mode 100644 index 00000000..62930b46 Binary files /dev/null and b/lib/tasks/project_components/encoded_art_lost_in_space/moon.png differ diff --git a/lib/tasks/project_components/encoded_art_lost_in_space/orange_planet.png b/lib/tasks/project_components/encoded_art_lost_in_space/orange_planet.png new file mode 100644 index 00000000..a670636b Binary files /dev/null and b/lib/tasks/project_components/encoded_art_lost_in_space/orange_planet.png differ diff --git a/lib/tasks/project_components/encoded_art_lost_in_space/pink_star.png b/lib/tasks/project_components/encoded_art_lost_in_space/pink_star.png new file mode 100644 index 00000000..b0a88a09 Binary files /dev/null and b/lib/tasks/project_components/encoded_art_lost_in_space/pink_star.png differ diff --git a/lib/tasks/project_components/encoded_art_lost_in_space/project_config.yml b/lib/tasks/project_components/encoded_art_lost_in_space/project_config.yml new file mode 100644 index 00000000..7a71bd39 --- /dev/null +++ b/lib/tasks/project_components/encoded_art_lost_in_space/project_config.yml @@ -0,0 +1,19 @@ +NAME: "Encoded Art: Lost in Space" +IDENTIFIER: "lost-in-space" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true +IMAGES: + - "astronaut.png" + - "astropi.png" + - "blue_star.png" + - "green_planet.png" + - "moon.png" + - "orange_planet.png" + - "pink_star.png" + - "purple_planet.png" + - "satellite.png" + - "yellow_star.png" diff --git a/lib/tasks/project_components/encoded_art_lost_in_space/purple_planet.png b/lib/tasks/project_components/encoded_art_lost_in_space/purple_planet.png new file mode 100644 index 00000000..76bf52e6 Binary files /dev/null and b/lib/tasks/project_components/encoded_art_lost_in_space/purple_planet.png differ diff --git a/lib/tasks/project_components/encoded_art_lost_in_space/satellite.png b/lib/tasks/project_components/encoded_art_lost_in_space/satellite.png new file mode 100644 index 00000000..c7f9d907 Binary files /dev/null and b/lib/tasks/project_components/encoded_art_lost_in_space/satellite.png differ diff --git a/lib/tasks/project_components/encoded_art_lost_in_space/yellow_star.png b/lib/tasks/project_components/encoded_art_lost_in_space/yellow_star.png new file mode 100644 index 00000000..abd54287 Binary files /dev/null and b/lib/tasks/project_components/encoded_art_lost_in_space/yellow_star.png differ diff --git a/lib/tasks/project_components/encoded_art_random_kawaii_fruit/main.py b/lib/tasks/project_components/encoded_art_random_kawaii_fruit/main.py new file mode 100644 index 00000000..f123db58 --- /dev/null +++ b/lib/tasks/project_components/encoded_art_random_kawaii_fruit/main.py @@ -0,0 +1,233 @@ +#!/bin/python3 + +# PROTOTYPE THREE - DRAWING COMPLEX SHAPES TO APPEAR AT RANDOM + +from p5 import * +from random import randint, seed + +def shape_1(fruit_colour): # Draws a Kawaii fruit at a random position in the chosen colour + + # Randomly generate the x and y positions + + x = randint(0, 400) + y = randint(0, 400) + + brown = Color(200, 120, 0) + green = Color(100, 155, 0) + + # Instructions to draw the fruit, some maths required to make each object appear where it should + + # Body + fill(fruit_colour) + ellipse(x, y, 100, 95) + fill(0) + # Eyes + ellipse(x-20, y+10, 15, 15) + ellipse(x+20, y+10, 15, 15) + fill(255) + ellipse(x-18, y+8, 5, 5) + ellipse(x+22, y+8, 5, 5) + # Mouth + fill(0) + ellipse(x, y+20, 10, 10) + fill(fruit_colour) + ellipse(x, y+18, 10, 10) + # Highlights + fill(255, 70) + ellipse(x-10, y-20, 20, 20) + ellipse(x-20, y-15, 15, 15) + # Stalk + fill(brown) + triangle(x-5, y-35, x+5, y-75, x+20, y-75); + fill(green) + push_matrix() + translate(x-20, y-55) + rotate(radians(45)) + ellipse(0, 0, 40, 15) + pop_matrix() + +def shape_2(fruit_colour): # Draws a lime fruit in a chosen colour at a random position + + x = randint(0, 400) + y = randint(0, 400) + + brown = Color(200, 120, 0) + green = Color(100, 155, 0) + + # Instructions for drawing the lime + + # Body + fill(fruit_colour) + ellipse(x, y, 110, 150) + ellipse(x, y+70, 30, 30) + ellipse(x, y-70, 30, 30) + fill(0) + # Eyes + ellipse(x-20, y, 15, 15) + ellipse(x+20, y, 15, 15) + fill(255) + ellipse(x-18, y-3, 5, 5) + ellipse(x+22, y-3, 5, 5) + # Mouth + fill(0) + ellipse(x, y+12, 10, 10) + fill(fruit_colour) + ellipse(x, y+10, 10, 10) + # Highlights + fill(255, 70) + ellipse(x-10, y-40, 20, 20) + ellipse(x-20, y-35, 15, 15) + # Stalk + fill(brown) + triangle(x-15, y-65, x-5, y-100, x+10, y-100); + fill(green) + push_matrix() + translate(x-30, y-80) + rotate(radians(45)) + ellipse(0, 0, 40, 15) + pop_matrix() + +def shape_3(fruit_colour): # Draws a cherry fruit in a chosen colour and a random position + + x = randint(0, 400) + y = randint(0, 400) + + brown = Color(200, 120, 0) + green = Color(100, 155, 0) + + # Instructions for drawing the cherry + + # Body + fill(fruit_colour) + ellipse(x, y, 70, 70) + # Highlights + fill(255, 70) + ellipse(x, y, 60, 60) + fill(fruit_colour) + ellipse(x+3, y+3, 60, 60) + # Eyes + fill(0) + ellipse(x-15, y, 15, 15) + ellipse(x+15, y, 15, 15) + fill(255) + ellipse(x-13, y-3, 5, 5) + ellipse(x+18, y-3, 5, 5) + # Mouth + fill(0) + ellipse(x, y+12, 10, 10) + fill(fruit_colour) + ellipse(x, y+10, 10, 10) + # Stalk + fill(brown) + triangle(x-5, y-20, x+5, y-80, x+10, y-80); + # Leaves + fill(green) + push_matrix() + translate(x-10, y-35) + rotate(radians(45)) + ellipse(0, 0, 30, 15) + pop_matrix() + fill(Color(15, 140, 12)) + push_matrix() + translate(x-10, y-35) + rotate(radians(110)) + ellipse(-10, -15, 30, 15) + pop_matrix() + +# Adds a background colour +def draw_background(): + + # Background colour + fill(Color(255, 255, 255)) + rect(0, 0, 400, 400) + +def setup(): + + size(400, 400) + + +def draw(): + + # Colour palette for fruit drawings + + orange = Color(255, 165, 0) + lime = Color(134, 229, 77) + cherry = Color(213, 17, 70) + red = Color(229, 86, 77) + blue = Color(85, 182, 225) + purple = Color(165, 131, 245) + yellow = Color(243, 247, 32) + r = randint(0,255) + g = randint(0,255) + b = randint(0,255) + suprise_me = Color(r, g, b) # Generates a random colour + + + # Dictionary of letters and their encoded shape, a colour is selected from the palette + + code = { + 'a': ['shape 3', cherry], + 'b': ['shape 1', orange], + 'c': ['shape 1', lime], + 'd': ['shape 1', blue], + 'e': ['shape 3', red], + 'f': ['shape 1', suprise_me], + 'g': ['shape 1', purple], + 'h': ['shape 1', purple], + 'i': ['shape 3', purple], + 'j': ['shape 1', red], + 'k': ['shape 2', purple], + 'l': ['shape 1', red], + 'm': ['shape 1', purple], + 'n': ['shape 1', purple], + 'o': ['shape 1', red], + 'p': ['shape 2', lime], + 'q': ['shape 1', blue], + 'r': ['shape 3', suprise_me], + 's': ['shape 1', orange], + 't': ['shape 2', yellow], + 'u': ['shape 1', yellow], + 'v': ['shape 1', yellow], + 'w': ['shape 1', red], + 'x': ['shape 2', suprise_me], + 'y': ['shape 1', blue], + 'z': ['shape 1', lime], + ' ': ['shape 2', cherry], + + } + + global name, seed_value, count + + seed(seed_value) # Generate the same random numbers each time + no_stroke() + draw_background() + + name = name.lower() # Change the input to lowercase + + message = [] # Initialise the message list + + for letter in name: + message.append(code[letter]) # Encode each letter with a shape and add it to a list + + for item in message: # Draw either shape 1, 2 or 3 with the selected colour option + if item[0] == 'shape 1': + shape_1(item[1]) + elif item[0] == 'shape 2': + shape_2(item[1]) + elif item[0] == 'shape 3': + shape_3(item[1]) + + if count >= 1: + print('Press enter to redraw in a different pattern:') + answer = input() + if answer == '': + seed_value = randint(0,100) + + count = 1 + +seed_value = 10 +count = 0 +print('Enter your name to make some encoded artwork:') +name = input() + +run(frame_rate=10) diff --git a/lib/tasks/project_components/encoded_art_random_kawaii_fruit/project_config.yml b/lib/tasks/project_components/encoded_art_random_kawaii_fruit/project_config.yml new file mode 100644 index 00000000..4f545512 --- /dev/null +++ b/lib/tasks/project_components/encoded_art_random_kawaii_fruit/project_config.yml @@ -0,0 +1,8 @@ +NAME: "Encoded Art: Random Kawaii Fruit" +IDENTIFIER: "random-kawaii-fruit" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true diff --git a/lib/tasks/project_components/encoded_art_starter/main.py b/lib/tasks/project_components/encoded_art_starter/main.py new file mode 100644 index 00000000..af751185 --- /dev/null +++ b/lib/tasks/project_components/encoded_art_starter/main.py @@ -0,0 +1,3 @@ +#!/bin/python3 + +from p5 import * diff --git a/lib/tasks/project_components/encoded_art_starter/project_config.yml b/lib/tasks/project_components/encoded_art_starter/project_config.yml new file mode 100644 index 00000000..8d8f3169 --- /dev/null +++ b/lib/tasks/project_components/encoded_art_starter/project_config.yml @@ -0,0 +1,8 @@ +NAME: "Encoded Art" +IDENTIFIER: "encoded-art-starter" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true diff --git a/lib/tasks/project_components/mapping_data_carbon_data/carbon.csv b/lib/tasks/project_components/mapping_data_carbon_data/carbon.csv new file mode 100644 index 00000000..8733659c --- /dev/null +++ b/lib/tasks/project_components/mapping_data_carbon_data/carbon.csv @@ -0,0 +1,141 @@ +Albania,4342.011,1.511 +Algeria,130493.653,3.158 +Angola,18021.394,0.605 +Argentina,183375.203,4.142 +Armenia,5165.593,1.763 +Australia,384583.857,15.632 +Austria,64872.394,7.376 +Azerbaijan,30805.851,3.124 +Bahrain,29813.834,19.969 +Bangladesh,78270.17,0.475 +Belarus,54070.453,5.687 +Belgium,90368.188,7.963 +Benin,6763.074,0.605 +Bolivia,21899.18,1.981 +Bosnia and Herzegovina,22327.978,6.367 +Botswana,7717.409,3.367 +Brazil,427632.717,2.043 +Brunei,6710.178,15.641 +Bulgaria,42819.932,6.051 +Côte d'Ivoire,10234.205,0.421 +Cambodia,10762.923,0.672 +Cameroon,6152.919,0.256 +Canada,547798.641,14.992 +Chile,86087.14,4.648 +China,9257933.9,6.678 +Hong Kong,44034.675,5.957 +Colombia,75291.911,1.535 +Congo (Republic),2847.335,0.541 +Costa Rica,7584.411,1.546 +Croatia,16193.172,3.925 +Cuba,26215.665,2.283 +Curaçao,3748.132,23.28 +Cyprus,6367.874,7.448 +Czech Republic,101682.752,9.602 +North Korea,19579.698,0.768 +Congo (DRC),2201.742,0.027 +Denmark,31263.57,5.421 +Dominican Republic,21430.38,1.99 +Ecuador,34299.317,2.063 +Egypt,209219.059,2.145 +El Salvador,5735.668,0.899 +Eritrea,632.105,0.125 +Estonia,15972.029,12.137 +Ethiopia,13059.815,0.124 +Finland,42598.175,7.734 +France,306123.541,4.565 +Gabon,3367.911,1.663 +Georgia,8720.3,2.346 +Germany,718794.085,8.696 +Ghana,13779.635,0.478 +Gibraltar,703.9,20.703 +Greece,63213.31,5.878 +Guatemala,15703.161,0.928 +Haiti,3293.125,0.3 +Honduras,9426.74,1.017 +Hungary,45783.636,4.678 +Iceland,2173.307,6.336 +India,2161567.072,1.614 +Indonesia,496406.275,1.88 +Iran,567123.294,6.987 +Iraq,139877.659,3.655 +Ireland,35720.302,7.439 +Israel,63766.189,7.322 +Italy,321481.224,5.31 +Jamaica,6971.666,2.412 +Japan,1132435.4,8.938 +Jordan,25550.14,2.633 +Kazakhstan,255767.646,14.179 +Kenya,16264.973,0.327 +Kosovo,8168.55,4.461 +Kuwait,89420.615,21.615 +Kyrgyzstan,8909.263,1.437 +Latvia,6679.644,3.441 +Lebanon,26931.044,4.428 +Libya,41528.35,6.514 +Lithuania,10811.096,3.831 +Luxembourg,8631.187,14.458 +Malaysia,211046.967,6.674 +Malta,1516.276,3.261 +Mauritius,4182.138,3.306 +Mexico,445991.937,3.615 +Mongolia,19276,6.267 +Montenegro,2206.233,3.547 +Morocco,58149.86,1.627 +Mozambique,7624.932,0.257 +Myanmar,30404.919,0.57 +Namibia,4037.15,1.593 +Nepal,10113.953,0.345 +Netherlands,155574.278,9.081 +New Zealand,32241.597,6.673 +Nicaragua,5106.281,0.821 +Niger,2048.704,0.095 +Nigeria,85988.513,0.45 +Norway,34760.858,6.587 +Oman,65498.56,14.128 +Pakistan,183447.068,0.931 +Panama,9612.198,2.345 +Paraguay,7654.689,1.124 +Peru,49693.643,1.545 +Philippines,126487.694,1.206 +Poland,305841.991,7.96 +Portugal,50757.815,4.928 +Qatar,80116.551,30.359 +South Korea,600034.367,11.663 +Moldova,7526.673,2.12 +Romania,70788.76,3.614 +Russia,1536878.825,10.636 +Saudi Arabia,532181.611,16.157 +Senegal,8311.532,0.524 +Serbia,46129.569,6.569 +Singapore,47407.144,8.447 +Slovakia,32212.012,5.924 +Slovenia,13410.666,6.491 +South Africa,421682.392,7.435 +South Sudan,1549.031,0.123 +Spain,253423.277,5.446 +Sri Lanka,23103.271,1.077 +Sudan,18777.895,0.463 +Suriname,1928.134,3.425 +Sweden,37643.785,3.743 +Switzerland,37135.572,4.394 +Syria,23031.045,1.261 +Tajikistan,5843.657,0.655 +Thailand,244254.785,3.538 +Togo,2082.434,0.267 +Trinidad and Tobago,18007.573,13.154 +Tunisia,26156.972,2.268 +Turkey,378631.09,4.714 +Turkmenistan,68998.881,11.983 +Ukraine,171300.035,3.821 +United Arab Emirates,196510.174,20.905 +United Kingdom,358731.281,5.432 +Tanzania,10131.79,0.177 +United States,4761301.727,14.606 +Uruguay,5872.957,1.699 +Uzbekistan,81156.397,2.506 +Venezuela,113717.543,3.556 +Vietnam,191243.601,2.002 +Yemen,8919.998,0.316 +Zambia,6007.872,0.351 +Zimbabwe,9714.938,0.588 diff --git a/lib/tasks/project_components/mapping_data_carbon_data/computer-map.jpg b/lib/tasks/project_components/mapping_data_carbon_data/computer-map.jpg new file mode 100644 index 00000000..dadfe5d6 Binary files /dev/null and b/lib/tasks/project_components/mapping_data_carbon_data/computer-map.jpg differ diff --git a/lib/tasks/project_components/mapping_data_carbon_data/gdp.csv b/lib/tasks/project_components/mapping_data_carbon_data/gdp.csv new file mode 100644 index 00000000..a7b6d53a --- /dev/null +++ b/lib/tasks/project_components/mapping_data_carbon_data/gdp.csv @@ -0,0 +1,207 @@ +Aruba,3056424581 +Afghanistan,18869945678 +Angola,1.22124E+11 +Albania,13019693451 +Andorra,3000180750 +United Arab Emirates,3.85606E+11 +Argentina,6.43629E+11 +Armenia,11527458566 +American Samoa,602000000 +Antigua and Barbuda,1467977778 +Australia,1.32919E+12 +Austria,4.17238E+11 +Azerbaijan,40865558912 +Burundi,3172292379 +Belgium,5.02698E+11 +Benin,12701656931 +Burkina Faso,14106956830 +Bangladesh,2.49711E+11 +Bulgaria,58971520599 +Bahrain,35473776596 +Bahamas,12490700000 +Bosnia and Herzegovina,18080118128 +Belarus,54726595249 +Belize,1836600000 +Bermuda,7142316000 +Bolivia,37508642165 +Brazil,2.06283E+12 +Barbados,4978000000 +Brunei,12128104859 +Bhutan,2450364928 +Botswana,17405588070 +Central African Republic,2072350151 +Canada,1.64988E+12 +Switzerland,6.7995E+11 +Chile,2.77045E+11 +China,1.23104E+13 +Côte d'Ivoire,51588158718 +Cameroon,35009262788 +Congo (DRC),38019265626 +Congo (Republic),11198674674 +Colombia,3.11884E+11 +Comoros,1077439663 +Costa Rica,58481858043 +Cuba,96851000000 +Cayman Islands,5153091158 +Cyprus,22729184365 +Czech Republic,2.18629E+11 +Germany,3.6826E+12 +Djibouti,2751461056 +Dominica,519837037 +Denmark,3.32121E+11 +Dominican Republic,79997975623 +Algeria,1.70163E+11 +Ecuador,1.04296E+11 +Egypt,2.35734E+11 +Eritrea, +Spain,1.31254E+12 +Estonia,26951648829 +Ethiopia,81770791971 +Finland,2.55232E+11 +Fiji,5353404419 +France,2.59515E+12 +Faroe Islands,2905102304 +Micronesia,366666800 +Gabon,14929488771 +United Kingdom,2.66623E+12 +Georgia,16242916916 +Ghana,58998132330 +Gibraltar, +Guinea,10324668267 +Gambia,1504909753 +Guinea-Bissau,1350177128 +Equatorial Guinea,12200914930 +Greece,2.03588E+11 +Grenada,1125685185 +Greenland,2826651926 +Guatemala,71612352645 +Guam,5851000000 +Guyana,4748174334 +Hong Kong,3.41244E+11 +Honduras,23136232230 +Croatia,55481644098 +Haiti,14213814583 +Hungary,1.42962E+11 +Indonesia,1.01562E+12 +Isle of Man,6979581725 +India,2.65275E+12 +Ireland,3.35663E+11 +Iran,4.45345E+11 +Iraq,1.95473E+11 +Iceland,24488176541 +Israel,3.53253E+11 +Italy,1.9618E+12 +Jamaica,14806340821 +Jordan,41408960787 +Japan,4.86686E+12 +Kazakhstan,1.66806E+11 +Kenya,78965004656 +Kyrgyzstan,7702934800 +Cambodia,22177200512 +Kiribati,187276210.9 +St. Kitts and Nevis,996944444.4 +South Korea,1.6239E+12 +Kuwait,1.20707E+11 +Laos,16853087485 +Lebanon,53140638269 +Liberia,3285455000 +Libya,37883243650 +St. Lucia,1999090407 +Liechtenstein,6552858739 +Sri Lanka,87428125558 +Lesotho,2405289384 +Lithuania,47758736932 +Luxembourg,64181944723 +Latvia,30458763246 +Macau,50751059058 +Morocco,1.09683E+11 +Monaco,6431314957 +Moldova,9669759987 +Madagascar,13176313233 +Maldives,4754352301 +Mexico,1.15891E+12 +Marshall Islands,212881000 +Mali,15365627045 +Malta,13146963159 +Myanmar,68945867478 +Montenegro,4844606146 +Mongolia,11425755280 +Northern Mariana Islands,1601000000 +Mozambique,13219084261 +Mauritania,6758390729 +Mauritius,13259351418 +Malawi,6303292264 +Malaysia,3.19112E+11 +Namibia,12741746524 +New Caledonia, +Niger,11189541083 +Nigeria,3.75746E+11 +Nicaragua,13785909906 +Netherlands,8.3387E+11 +Norway,3.98394E+11 +Nepal,25180583770 +Nauru,109585941.6 +New Zealand,2.05416E+11 +Oman,70598026283 +Pakistan,3.04567E+11 +Panama,62219000000 +Peru,2.11007E+11 +Philippines,3.28481E+11 +Palau,286106800 +Papua New Guinea,22742613549 +Poland,5.26509E+11 +Puerto Rico,1.03446E+11 +North Korea, +Portugal,2.21358E+11 +Paraguay,39008900332 +French Polynesia, +Qatar,1.61099E+11 +Romania,2.11695E+11 +Russia,1.5742E+12 +Rwanda,9253098954 +Saudi Arabia,6.88586E+11 +Sudan,45021077955 +Senegal,20996564752 +Singapore,3.41863E+11 +Solomon Islands,1483758907 +Sierra Leone,3739577973 +El Salvador,24979200000 +San Marino,1528630707 +Somalia, +Serbia,44179055280 +South Sudan, +Suriname,3216207914 +Slovakia,95494424979 +Slovenia,48586603448 +Sweden,5.41019E+11 +Swaziland,4402973000 +Seychelles,1524486800 +Syria, +Turks and Caicos Islands,1022365000 +Chad,10000395242 +Togo,4819949975 +Thailand,4.56295E+11 +Tajikistan,7157865188 +Turkmenistan,37926285714 +Timor-Leste,1599338100 +Tonga,460379145 +Trinidad and Tobago,22474828527 +Tunisia,39802430355 +Turkey,8.58989E+11 +Tuvalu,40619251.99 +Tanzania,53320625959 +Uganda,30756466548 +Ukraine,1.1219E+11 +Uruguay,59530088537 +United States,1.95194E+13 +Uzbekistan,59159945321 +Venezuela, +British Virgin Islands, +Vietnam,2.2378E+11 +Vanuatu,880043553.7 +Samoa,832153612.6 +Kosovo,7245707185 +Yemen,26736139802 +South Africa,3.49554E+11 +Zambia,25868165345 +Zimbabwe,22040902300 diff --git a/lib/tasks/project_components/mapping_data_carbon_data/happy.csv b/lib/tasks/project_components/mapping_data_carbon_data/happy.csv new file mode 100644 index 00000000..90b257fa --- /dev/null +++ b/lib/tasks/project_components/mapping_data_carbon_data/happy.csv @@ -0,0 +1,155 @@ +Norway,1,7.537000179 +Denmark,2,7.521999836 +Iceland,3,7.504000187 +Switzerland,4,7.493999958 +Finland,5,7.468999863 +Netherlands,6,7.376999855 +Canada,7,7.315999985 +New Zealand,8,7.31400013 +Sweden,9,7.28399992 +Australia,10,7.28399992 +Israel,11,7.212999821 +Costa Rica,12,7.078999996 +Austria,13,7.006000042 +United States,14,6.993000031 +Ireland,15,6.977000237 +Germany,16,6.951000214 +Belgium,17,6.890999794 +Luxembourg,18,6.862999916 +United Kingdom,19,6.714000225 +Chile,20,6.65199995 +United Arab Emirates,21,6.647999763 +Brazil,22,6.635000229 +Czech Republic,23,6.609000206 +Argentina,24,6.598999977 +Mexico,25,6.578000069 +Singapore,26,6.572000027 +Malta,27,6.52699995 +Uruguay,28,6.453999996 +Guatemala,29,6.453999996 +Panama,30,6.452000141 +France,31,6.441999912 +Thailand,32,6.423999786 +Taiwan,33,6.421999931 +Spain,34,6.402999878 +Qatar,35,6.375 +Colombia,36,6.356999874 +Saudi Arabia,37,6.343999863 +Trinidad and Tobago,38,6.168000221 +Kuwait,39,6.105000019 +Slovakia,40,6.09800005 +Bahrain,41,6.086999893 +Malaysia,42,6.084000111 +Nicaragua,43,6.071000099 +Ecuador,44,6.007999897 +El Salvador,45,6.002999783 +Poland,46,5.97300005 +Uzbekistan,47,5.971000195 +Italy,48,5.964000225 +Russia,49,5.962999821 +Belize,50,5.955999851 +Japan,51,5.920000076 +Lithuania,52,5.90199995 +Algeria,53,5.872000217 +Latvia,54,5.849999905 +South Korea,55,5.837999821 +Moldova,56,5.837999821 +Romania,57,5.824999809 +Bolivia,58,5.822999954 +Turkmenistan,59,5.822000027 +Kazakhstan,60,5.818999767 +Northern Cyprus,61,5.809999943 +Slovenia,62,5.757999897 +Peru,63,5.715000153 +Mauritius,64,5.629000187 +Cyprus,65,5.620999813 +Estonia,66,5.611000061 +Belarus,67,5.568999767 +Libya,68,5.525000095 +Turkey,69,5.5 +Paraguay,70,5.493000031 +Hong Kong,71,5.472000122 +Philippines,72,5.429999828 +Serbia,73,5.394999981 +Jordan,74,5.335999966 +Hungary,75,5.323999882 +Jamaica,76,5.31099987 +Croatia,77,5.293000221 +Kosovo,78,5.278999805 +China,79,5.272999763 +Pakistan,80,5.269000053 +Indonesia,81,5.262000084 +Venezuela,82,5.25 +Montenegro,83,5.236999989 +Morocco,84,5.235000134 +Azerbaijan,85,5.234000206 +Dominican Republic,86,5.230000019 +Greece,87,5.227000237 +Lebanon,88,5.224999905 +Portugal,89,5.195000172 +Bosnia and Herzegovina,90,5.18200016 +Honduras,91,5.181000233 +Macedonia,92,5.175000191 +Somalia,93,5.151000023 +Vietnam,94,5.073999882 +Nigeria,95,5.073999882 +Tajikistan,96,5.040999889 +Bhutan,97,5.011000156 +Kyrgyzstan,98,5.004000187 +Nepal,99,4.961999893 +Mongolia,100,4.954999924 +South Africa,101,4.828999996 +Tunisia,102,4.804999828 +Palestine,103,4.775000095 +Egypt,104,4.735000134 +Bulgaria,105,4.714000225 +Sierra Leone,106,4.709000111 +Cameroon,107,4.695000172 +Iran,108,4.691999912 +Albania,109,4.644000053 +Bangladesh,110,4.607999802 +Namibia,111,4.573999882 +Kenya,112,4.552999973 +Mozambique,113,4.550000191 +Myanmar,114,4.545000076 +Senegal,115,4.534999847 +Zambia,116,4.513999939 +Iraq,117,4.497000217 +Gabon,118,4.465000153 +Ethiopia,119,4.460000038 +Sri Lanka,120,4.440000057 +Armenia,121,4.375999928 +India,122,4.315000057 +Mauritania,123,4.291999817 +Congo (Republic),124,4.290999889 +Georgia,125,4.285999775 +Congo (DRC),126,4.28000021 +Mali,127,4.190000057 +Côte d'Ivoire,128,4.179999828 +Cambodia,129,4.168000221 +Sudan,130,4.138999939 +Ghana,131,4.119999886 +Ukraine,132,4.096000195 +Uganda,133,4.080999851 +Burkina Faso,134,4.032000065 +Niger,135,4.027999878 +Malawi,136,3.970000029 +Chad,137,3.936000109 +Zimbabwe,138,3.875 +Lesotho,139,3.808000088 +Angola,140,3.795000076 +Afghanistan,141,3.79399991 +Botswana,142,3.766000032 +Benin,143,3.657000065 +Madagascar,144,3.644000053 +Haiti,145,3.602999926 +Yemen,146,3.592999935 +South Sudan,147,3.59100008 +Liberia,148,3.532999992 +Guinea,149,3.506999969 +Togo,150,3.494999886 +Rwanda,151,3.470999956 +Syria,152,3.461999893 +Tanzania,153,3.348999977 +Burundi,154,2.904999971 +Central African Republic,155,2.693000078 diff --git a/lib/tasks/project_components/mapping_data_carbon_data/ink-map.jpg b/lib/tasks/project_components/mapping_data_carbon_data/ink-map.jpg new file mode 100644 index 00000000..655cd278 Binary files /dev/null and b/lib/tasks/project_components/mapping_data_carbon_data/ink-map.jpg differ diff --git a/lib/tasks/project_components/mapping_data_carbon_data/main.py b/lib/tasks/project_components/mapping_data_carbon_data/main.py new file mode 100644 index 00000000..e2d7d57b --- /dev/null +++ b/lib/tasks/project_components/mapping_data_carbon_data/main.py @@ -0,0 +1,75 @@ +#!/bin/python3 +from p5 import * +from regions import get_region_coords + +region_list = [] +colours = {} + +# Put code to run once here +def setup(): + global map + load_data('carbon.csv') + print(region_list) + size(991, 768) + map = load_image('mercator_bw.png') + +def draw_pin(x, y, colour): + no_stroke() + fill(colour) + triangle(x-10, y-5, x, y+10, x+10, y-5) + triangle(x-10, y+5, x, y-10, x+10, y+5) + +def draw_data(): + red_value = 255 # Set a starting value for red + blue_value = 0 + green_value = 255 + for region in region_list: + region_name = region['region'] # Get the name of the region + region_coords = get_region_coords(region_name) # Use the name to get coordinates + region_x = region_coords['x'] # Get the x coordinate + region_y = region_coords['y'] # Get the y coordinate + #print(region_name, region_x, region_y) + region_colour = Color(red_value, green_value, blue_value) # Use the red value in the colour + colours[region_colour] = region + draw_pin(region_x, region_y, region_colour) # Draw the pin + red_value -= 1 # Change the red value + green_value += 1 #Change the green value + blue_value -= 1 #Change the blue value + +# Put code to run every frame here +def draw(): + image( + map, # The image to draw + 0, # The x of the top-left corner + 0, # The y of the top-left corner + width, # The width of the image + height # The height of the image + ) + #draw_pin(200, 200, color(255,0,0)) + draw_data() + + +# Put code to run when the mouse is pressed here +def mouse_pressed(): +# Put code to run when the mouse is pressed here + pixel_colour = Color(get(mouse_x, mouse_y)) + if pixel_colour in colours: + facts = colours[pixel_colour] + print(facts['region']) + print(facts['total carbon']) + print(facts['carbon per person']) + else: + print('Region not detected') + +def load_data(file_name): + with open(file_name) as f: + for line in f: + # print(line) + info = line.split(',') + region_dict = { + 'region': info[0], + 'total carbon': info[1], + 'carbon per person': info[2] + } + region_list.append(region_dict) +run() diff --git a/lib/tasks/project_components/mapping_data_carbon_data/mercator.jpeg b/lib/tasks/project_components/mapping_data_carbon_data/mercator.jpeg new file mode 100644 index 00000000..c964a51d Binary files /dev/null and b/lib/tasks/project_components/mapping_data_carbon_data/mercator.jpeg differ diff --git a/lib/tasks/project_components/mapping_data_carbon_data/mercator_bw.png b/lib/tasks/project_components/mapping_data_carbon_data/mercator_bw.png new file mode 100644 index 00000000..2123563e Binary files /dev/null and b/lib/tasks/project_components/mapping_data_carbon_data/mercator_bw.png differ diff --git a/lib/tasks/project_components/mapping_data_carbon_data/old-map.jpg b/lib/tasks/project_components/mapping_data_carbon_data/old-map.jpg new file mode 100644 index 00000000..fe2e66ed Binary files /dev/null and b/lib/tasks/project_components/mapping_data_carbon_data/old-map.jpg differ diff --git a/lib/tasks/project_components/mapping_data_carbon_data/olympics.csv b/lib/tasks/project_components/mapping_data_carbon_data/olympics.csv new file mode 100644 index 00000000..628cdc92 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_carbon_data/olympics.csv @@ -0,0 +1,21 @@ +United States,4 +United Kingdom,3 +Greece,3 +France,2 +Germany,2 +Australia,2 +Russia,1 +Italy,1 +Sweden,1 +China,1 +Japan,2 +Finland,1 +Canada,1 +Netherlands,1 +South Korea,1 +Belgium,1 +Spain,1 +Brazil,1 +Sweden,1 +Belgium,1 +Mexico,1 diff --git a/lib/tasks/project_components/mapping_data_carbon_data/pop.csv b/lib/tasks/project_components/mapping_data_carbon_data/pop.csv new file mode 100644 index 00000000..2f35a02a --- /dev/null +++ b/lib/tasks/project_components/mapping_data_carbon_data/pop.csv @@ -0,0 +1,184 @@ +Afghanistan,38928346,60,18,25 +Albania,2877797,105,36,63 +Algeria,43851044,18,29,73 +Andorra,77265,164,45,88 +Antigua and Barbuda,97929,223,34,26 +Argentina,45195774,17,32,93 +Armenia,2963243,104,35,63 +Aruba,106766,593,41,44 +Australia,25499884,3,38,86 +Austria,9006398,109,43,57 +Azerbaijan,10139177,123,32,56 +Bahamas,393244,39,32,86 +Bahrain,1701575,2239,32,89 +Bangladesh,164689383,1265,28,39 +Barbados,287375,668,40,31 +Belarus,9449323,47,40,79 +Belgium,11589623,383,42,98 +Belize,397628,17,24,46 +Benin,12123200,108,19,48 +Bhutan,771608,20,28,46 +Bolivia,11673021,11,26,69 +Bosnia and Herzegovina,3280819,64,43,52 +Brazil,212559417,25,33,88 +Brunei,437479,83,32,80 +Bulgaria,6948445,64,45,76 +Burkina Faso,20903273,76,18,31 +Cape Verde,554441,138,27.6,68 +Cambodia,16718965,95,26,24 +Cameroon,26545863,56,19,56 +Canada,37742154,4,41,81 +Central African Republic,37742154,8,18,43 +Chad,16302699,13,16.6,23.3 +Chile,19116201,26,35,85 +Hong Kong,7496981,7140,45,100 +China,1439323776,153,38,61 +Colombia,50882891,46,31,80 +Congo (Republic),5518087,16,19,70 +Congo (DRC),89561403,40,17,46 +Costa Rica,5094118,100,33,80 +Côte d'Ivoire,26378274,83,19,51 +Croatia,4105267,73,44,58 +Cuba,11326616,106,42,78 +Cyprus,1207359,131,37,67 +Czech Republic,10708981,139,43,74 +Denmark,5792202,137,42,88 +Djibouti,988000,43,27,79 +Dominica,71986,96,33.5,74 +Dominican Republic,10847910,225,28,85 +Ecuador,17643054,71,28,63 +Egypt,102334404,103,25,43 +El Salvador,6486205,313,27.6,73.4 +Equatorial Guinea,1402985,50,22,73 +Eritrea,3546421,35,19.2,63.3 +Estonia,1326535,31,42,68 +Swaziland,1160164,67,21,30 +Ethiopia,114963588,115,19,21 +Faroe Islands,48873,35,38,88 +Fiji,896445,49,27.9,59.1 +Finland,5540720,18,43,86 +France,65273511,119,42,82 +French Guiana,298682,4,25,87 +Gabon,2225734,9,23,87 +Gambia,2416668,239,18,59 +Georgia,3989167,57,38,58 +Germany,83783942,240,46,76 +Ghana,31072940,137,22,57 +Greece,10423054,81,46,85 +Grenada,112523,331,32,35.5 +Greenland,56770,0,34,87 +Guadeloupe,400124,237,44,96 +Guam,168775,313,31,95 +Guatemala,17915568,167,23,52 +Guernsey,70000,965,44,86 +Guinea,13132795,53,18,39 +Guinea-Bissau,1968001,70,18.8,44.9 +Guyana,786552,4,27,27 +Haiti,11402528,414,24,56.9 +Vatican City,801,2003,40,100 +Honduras,9904607,89,24,57 +Hungary,9660351,107,43,72 +Iceland,341243,3,37,94 +India,1380004385,464,28,35 +Indonesia,273523615,151,30,56 +Iran,83992949,52,32,76 +Iraq,40222493,93,21,73 +Ireland,4937786,72,38,63 +Israel,8655535,400,30,93 +Italy,60461826,206,47,69 +Jamaica,2961167,273,31,55 +Japan,126476461,347,48,92 +Jersey,106800,819,38,98 +Jordan,10203134,115,24,91 +Kazakhstan,18776707,7,31,58 +Kenya,53771296,94,20,28 +Kosovo,1810463,159,29,65 +Kuwait,4270571,240,37,92 +Kyrgyzstan,6524195,34,26,36 +Laos,7275560,32,24.4,35.7 +Latvia,1886198,30,44,69 +Lebanon,6825445,667,30,78 +Liberia,5057681,53,19,53 +Libya,6847352,4,28.8,78.2 +Liechtenstein,38128,109,41,15 +Lithuania,2722289,43,45,71 +Luxembourg,625978,242,40,88 +Madagascar,27691018,48,19.6,38.5 +Malaysia,32365999,99,30,78 +Maldives,540544,1802,30,35 +Mali,20250833,17,16.3,44 +Malta,441543,1380,43,93 +Martinique,375265,354,47,92 +Mauritania,4649658,5,20,57 +Mauritius,1271768,626,37,41 +Mayotte,272815,728,20,46 +Mexico,128932753,66,29,84 +Moldova,4033963,123,38,43 +Monaco,39242,26337,54,100 +Mongolia,3278290,2,28,67 +Montenegro,628066,47,39,68 +Morocco,36910560,83,30,64 +Mozambique,31255435,40,17.6,38.3 +Namibia,2540905,3,22,55 +Nepal,29136808,203,25,21 +Curaçao,164093,370,41.6,88.7 +Netherlands,17134872,508,43,92 +New Zealand,4822233,18,38,87 +Nicaragua,6624554,55,26.5,57.2 +Niger,24206644,19,15.2,16.5 +Nigeria,206139589,226,18,52 +Norway,5421241,15,40,83 +Oman,5106626,16,31,87 +Pakistan,220892340,287,23,35 +Panama,4314767,58,30,68 +Paraguay,7132538,18,26,62 +Peru,32971854,26,31,79 +Philippines,109581078,368,26,47 +Poland,37846611,124,42,60 +Portugal,10196709,111,46,66 +Puerto Rico,2860853,323,44,88 +Qatar,2881053,248,32,96 +Réunion,895312,358,36,100 +Romania,19237691,84,43,55 +Russia,145934462,9,40,74 +Rwanda,12952218,525,20,18 +St. Kitts and Nevis,53199,205,34.8,32.9 +St. Lucia,183627,301,34,19 +Saint Vincent and the Grenadines,115000,307,33,78 +San Marino,33931,566,47,97 +Saudi Arabia,34813871,16,32,84 +Senegal,16743927,87,19,49 +Serbia,8737371,100,42,56 +Seychelles,98347,214,34,56 +Singapore,5850342,8358,42,99 +Slovakia,5459642,114,41,54 +Slovenia,2078938,103,45,55 +Somalia,15893222,25,17,47 +South Africa,59308690,49,28,67 +South Korea,51269185,527,44,82 +Spain,46754778,94,45,80 +Sri Lanka,21413249,341,34,18 +Sudan,43849260,25,20,35 +Suriname,586632,4,29,65 +Sweden,10099265,25,41,88 +Switzerland,8654622,219,43,74 +Syria,17390388,95,25.6,60 +Taiwan,23816775,673,42,79 +Tanzania,59734218,67,18,37 +Thailand,69799978,137,40,51 +Timor-Leste,1318445,89,20.8,32.8 +Togo,8278724,152,19,43 +Trinidad and Tobago,1399488,273,36,52 +Tunisia,11818619,76,33,70 +Turkey,84339067,110,32,76 +United States,331002651,36,38,83 +Uganda,45741007,229,16.7,25.7 +Ukraine,43733762,75,41,69 +United Arab Emirates,9890402,118,33,86 +United Kingdom,67886011,281,40,83 +Uruguay,3473730,20,36,96 +Uzbekistan,33469203,79,28,50 +Venezuela,28435940,32,30,80 +Vietnam,97338579,314,32,38 +Zambia,18383955,25,18,45 +Zimbabwe,14862924,38,18.7,38.4 diff --git a/lib/tasks/project_components/mapping_data_carbon_data/project_config.yml b/lib/tasks/project_components/mapping_data_carbon_data/project_config.yml new file mode 100644 index 00000000..bc736dac --- /dev/null +++ b/lib/tasks/project_components/mapping_data_carbon_data/project_config.yml @@ -0,0 +1,50 @@ +NAME: "Mapping Data: World Carbon Data" +IDENTIFIER: "world-carbon-data" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "regions" + extension: "py" + location: "regions.py" + index: 1 + default: false + - name: "pop" + extension: "csv" + location: "pop.csv" + index: 2 + default: false + - name: "olympics" + extension: "csv" + location: "olympics.csv" + index: 3 + default: false + - name: "carbon" + extension: "csv" + location: "carbon.csv" + index: 4 + default: false + - name: "species" + extension: "csv" + location: "species.csv" + index: 5 + default: false + - name: "gdp" + extension: "csv" + location: "gdp.csv" + index: 6 + default: false + - name: "happy" + extension: "csv" + location: "happy.csv" + index: 7 + default: false + +IMAGES: + - "computer-map.jpg" + - "ink-map.jpg" + - "mercator.jpeg" + - "mercator_bw.png" + - "old-map.jpg" diff --git a/lib/tasks/project_components/mapping_data_carbon_data/regions.py b/lib/tasks/project_components/mapping_data_carbon_data/regions.py new file mode 100644 index 00000000..b5e840fd --- /dev/null +++ b/lib/tasks/project_components/mapping_data_carbon_data/regions.py @@ -0,0 +1,1548 @@ +#!/bin/python3 +from math import radians, pi, log, tan + +regions = { + 'Abkhazia': { + 'name': 'Abkhazia', + 'capital': 'Sukhumi', + 'latitude': 43.001525, + 'longitude': 41.023415 + }, + 'Afghanistan': { + 'name': 'Afghanistan', + 'capital': 'Kabul', + 'latitude': 34.575503, + 'longitude': 69.240073 + }, + 'Aland Islands': { + 'name': 'Aland Islands', + 'capital': 'Mariehamn', + 'latitude': 60.1, + 'longitude': 19.933333 + }, + 'Albania': { + 'name': 'Albania', + 'capital': 'Tirana', + 'latitude': 41.327546, + 'longitude': 19.818698 + }, + 'Algeria': { + 'name': 'Algeria', + 'capital': 'Algiers', + 'latitude': 36.752887, + 'longitude': 3.042048 + }, + 'American Samoa': { + 'name': 'American Samoa', + 'capital': 'Pago Pago', + 'latitude': -14.275632, + 'longitude': -170.702036 + }, + 'Andorra': { + 'name': 'Andorra', + 'capital': 'Andorra la Vella', + 'latitude': 42.506317, + 'longitude': 1.521835 + }, + 'Angola': { + 'name': 'Angola', + 'capital': 'Luanda', + 'latitude': -8.839988, + 'longitude': 13.289437 + }, + 'Anguilla': { + 'name': 'Anguilla', + 'capital': 'The Valley', + 'latitude': 18.214813, + 'longitude': -63.057441 + }, + 'Antarctica': { + 'name': 'Antarctica', + 'capital': 'South Pole', + 'latitude': -90.0, + 'longitude': 0.0 + }, + 'Antigua and Barbuda': { + 'name': 'Antigua and Barbuda', + 'capital': "St. John's", + 'latitude': 17.12741, + 'longitude': -61.846772 + }, + 'Argentina': { + 'name': 'Argentina', + 'capital': 'Buenos Aires', + 'latitude': -34.603684, + 'longitude': -58.381559 + }, + 'Armenia': { + 'name': 'Armenia', + 'capital': 'Yerevan', + 'latitude': 40.179186, + 'longitude': 44.499103 + }, + 'Aruba': { + 'name': 'Aruba', + 'capital': 'Oranjestad', + 'latitude': 12.509204, + 'longitude': -70.008631 + }, + 'Australia': { + 'name': 'Australia', + 'capital': 'Canberra', + 'latitude': -35.282, + 'longitude': 149.128684 + }, + 'Austria': { + 'name': 'Austria', + 'capital': 'Vienna', + 'latitude': 48.208174, + 'longitude': 16.373819 + }, + 'Azerbaijan': { + 'name': 'Azerbaijan', + 'capital': 'Baku', + 'latitude': 40.409262, + 'longitude': 49.867092 + }, + 'Bahamas': { + 'name': 'Bahamas', + 'capital': 'Nassau', + 'latitude': 25.047984, + 'longitude': -77.355413 + }, + 'Bahrain': { + 'name': 'Bahrain', + 'capital': 'Manama', + 'latitude': 26.228516, + 'longitude': 50.58605 + }, + 'Bangladesh': { + 'name': 'Bangladesh', + 'capital': 'Dhaka', + 'latitude': 23.810332, + 'longitude': 90.412518 + }, + 'Barbados': { + 'name': 'Barbados', + 'capital': 'Bridgetown', + 'latitude': 13.113222, + 'longitude': -59.598809 + }, + 'Belarus': { + 'name': 'Belarus', + 'capital': 'Minsk', + 'latitude': 53.90454, + 'longitude': 27.561524 + }, + 'Belgium': { + 'name': 'Belgium', + 'capital': 'Brussels', + 'latitude': 50.85034, + 'longitude': 4.35171 + }, + 'Belize': { + 'name': 'Belize', + 'capital': 'Belmopan', + 'latitude': 17.251011, + 'longitude': -88.75902 + }, + 'Benin': { + 'name': 'Benin', + 'capital': 'Porto-Novo', + 'latitude': 6.496857, + 'longitude': 2.628852 + }, + 'Bermuda': { + 'name': 'Bermuda', + 'capital': 'Hamilton', + 'latitude': 32.294816, + 'longitude': -64.781375 + }, + 'Bhutan': { + 'name': 'Bhutan', + 'capital': 'Thimphu', + 'latitude': 27.472792, + 'longitude': 89.639286 + }, + 'Bolivia': { + 'name': 'Bolivia', + 'capital': 'La Paz', + 'latitude': -16.489689, + 'longitude': -68.119294 + }, + 'Bosnia and Herzegovina': { + 'name': 'Bosnia and Herzegovina', + 'capital': 'Sarajevo', + 'latitude': 43.856259, + 'longitude': 18.413076 + }, + 'Botswana': { + 'name': 'Botswana', + 'capital': 'Gaborone', + 'latitude': -24.628208, + 'longitude': 25.923147 + }, + 'Bouvet Island': { + 'name': 'Bouvet Island', + 'capital': 'Bouvet Island', + 'latitude': -54.43, + 'longitude': 3.38 + }, + 'Brazil': { + 'name': 'Brazil', + 'capital': 'Brasília', + 'latitude': -15.794229, + 'longitude': -47.882166 + }, + 'British Indian Ocean Territory': { + 'name': 'British Indian Ocean Territory', + 'capital': 'Camp Justice', + 'latitude': 21.3419, + 'longitude': 55.4778 + }, + 'British Virgin Islands': { + 'name': 'British Virgin Islands', + 'capital': 'Road Town', + 'latitude': 18.428612, + 'longitude': -64.618466 + }, + 'Brunei': { + 'name': 'Brunei', + 'capital': 'Bandar Seri Begawan', + 'latitude': 4.903052, + 'longitude': 114.939821 + }, + 'Bulgaria': { + 'name': 'Bulgaria', + 'capital': 'Sofia', + 'latitude': 42.697708, + 'longitude': 23.321868 + }, + 'Burkina Faso': { + 'name': 'Burkina Faso', + 'capital': 'Ouagadougou', + 'latitude': 12.371428, + 'longitude': -1.51966 + }, + 'Burundi': { + 'name': 'Burundi', + 'capital': 'Bujumbura', + 'latitude': -3.361378, + 'longitude': 29.359878 + }, + 'Cambodia': { + 'name': 'Cambodia', + 'capital': 'Phnom Penh', + 'latitude': 11.544873, + 'longitude': 104.892167 + }, + 'Cameroon': { + 'name': 'Cameroon', + 'capital': 'Yaoundé', + 'latitude': 3.848033, + 'longitude': 11.502075 + }, + 'Canada': { + 'name': 'Canada', + 'capital': 'Ottawa', + 'latitude': 45.42153, + 'longitude': -75.697193 + }, + 'Cape Verde': { + 'name': 'Cape Verde', + 'capital': 'Praia', + 'latitude': 14.93305, + 'longitude': -23.513327 + }, + 'Cayman Islands': { + 'name': 'Cayman Islands', + 'capital': 'George Town', + 'latitude': 19.286932, + 'longitude': -81.367439 + }, + 'Central African Republic': { + 'name': 'Central African Republic', + 'capital': 'Bangui', + 'latitude': 4.394674, + 'longitude': 18.55819 + }, + 'Chad': { + 'name': 'Chad', + 'capital': "N'Djamena", + 'latitude': 12.134846, + 'longitude': 15.055742 + }, + 'Chile': { + 'name': 'Chile', + 'capital': 'Santiago', + 'latitude': -33.44889, + 'longitude': -70.669265 + }, + 'China': { + 'name': 'China', + 'capital': 'Beijing', + 'latitude': 39.904211, + 'longitude': 116.407395 + }, + 'Christmas Island': { + 'name': 'Christmas Island', + 'capital': 'Flying Fish Cove', + 'latitude': -10.420686, + 'longitude': 105.679379 + }, + 'Cocos (Keeling) Islands': { + 'name': 'Cocos (Keeling) Islands', + 'capital': 'West Island', + 'latitude': -12.188834, + 'longitude': 96.829316 + }, + 'Colombia': { + 'name': 'Colombia', + 'capital': 'Bogotá', + 'latitude': 4.710989, + 'longitude': -74.072092 + }, + 'Comoros': { + 'name': 'Comoros', + 'capital': 'Moroni', + 'latitude': -11.717216, + 'longitude': 43.247315 + }, + 'Congo (DRC)': { + 'name': 'Congo (DRC)', + 'capital': 'Kinshasa', + 'latitude': -4.441931, + 'longitude': 15.266293 + }, + 'Congo (Republic)': { + 'name': 'Congo (Republic)', + 'capital': 'Brazzaville', + 'latitude': -4.26336, + 'longitude': 15.242885 + }, + 'Cook Islands': { + 'name': 'Cook Islands', + 'capital': 'Avarua', + 'latitude': -21.212901, + 'longitude': -159.782306 + }, + 'Costa Rica': { + 'name': 'Costa Rica', + 'capital': 'San José', + 'latitude': 9.928069, + 'longitude': -84.090725 + }, + "Côte d'Ivoire": { + 'name': "Côte d'Ivoire", + 'capital': 'Yamoussoukro', + 'latitude': 6.827623, + 'longitude': -5.289343 + }, + 'Croatia': { + 'name': 'Croatia', + 'capital': 'Zagreb ', + 'latitude': 45.815011, + 'longitude': 15.981919 + }, + 'Cuba': { + 'name': 'Cuba', + 'capital': 'Havana', + 'latitude': 23.05407, + 'longitude': -82.345189 + }, + 'Curaçao': { + 'name': 'Curaçao', + 'capital': 'Willemstad', + 'latitude': 12.122422, + 'longitude': -68.882423 + }, + 'Cyprus': { + 'name': 'Cyprus', + 'capital': 'Nicosia', + 'latitude': 35.185566, + 'longitude': 33.382276 + }, + 'Czech Republic': { + 'name': 'Czech Republic', + 'capital': 'Prague', + 'latitude': 50.075538, + 'longitude': 14.4378 + }, + 'Denmark': { + 'name': 'Denmark', + 'capital': 'Copenhagen', + 'latitude': 55.676097, + 'longitude': 12.568337 + }, + 'Djibouti': { + 'name': 'Djibouti', + 'capital': 'Djibouti', + 'latitude': 11.572077, + 'longitude': 43.145647 + }, + 'Dominica': { + 'name': 'Dominica', + 'capital': 'Roseau', + 'latitude': 15.309168, + 'longitude': -61.379355 + }, + 'Dominican Republic': { + 'name': 'Dominican Republic', + 'capital': 'Santo Domingo', + 'latitude': 18.486058, + 'longitude': -69.931212 + }, + 'Ecuador': { + 'name': 'Ecuador', + 'capital': 'Quito', + 'latitude': -0.180653, + 'longitude': -78.467838 + }, + 'Egypt': { + 'name': 'Egypt', + 'capital': 'Cairo', + 'latitude': 30.04442, + 'longitude': 31.235712 + }, + 'El Salvador': { + 'name': 'El Salvador', + 'capital': 'San Salvador', + 'latitude': 13.69294, + 'longitude': -89.218191 + }, + 'Equatorial Guinea': { + 'name': 'Equatorial Guinea', + 'capital': 'Malabo', + 'latitude': 3.750412, + 'longitude': 8.737104 + }, + 'Eritrea': { + 'name': 'Eritrea', + 'capital': 'Asmara', + 'latitude': 15.322877, + 'longitude': 38.925052 + }, + 'Estonia': { + 'name': 'Estonia', + 'capital': 'Tallinn', + 'latitude': 59.436961, + 'longitude': 24.753575 + }, + 'Ethiopia': { + 'name': 'Ethiopia', + 'capital': 'Addis Ababa', + 'latitude': 8.980603, + 'longitude': 38.757761 + }, + 'Falkland Islands (Islas Malvinas)': { + 'name': 'Falkland Islands (Islas Malvinas)', + 'capital': 'Stanley', + 'latitude': -51.697713, + 'longitude': -57.851663 + }, + 'Faroe Islands': { + 'name': 'Faroe Islands', + 'capital': 'Tórshavn', + 'latitude': 62.007864, + 'longitude': -6.790982 + }, + 'Fiji': { + 'name': 'Fiji', + 'capital': 'Suva', + 'latitude': -18.124809, + 'longitude': 178.450079 + }, + 'Finland': { + 'name': 'Finland', + 'capital': 'Helsinki', + 'latitude': 60.173324, + 'longitude': 24.941025 + }, + 'France': { + 'name': 'France', + 'capital': 'Paris', + 'latitude': 48.856614, + 'longitude': 2.352222 + }, + 'French Guiana': { + 'name': 'French Guiana', + 'capital': 'Cayenne', + 'latitude': 4.92242, + 'longitude': -52.313453 + }, + 'French Polynesia': { + 'name': 'French Polynesia', + 'capital': 'Papeete', + 'latitude': -17.551625, + 'longitude': -149.558476 + }, + 'French Southern Territories': { + 'name': 'French Southern Territories', + 'capital': 'Saint-Pierre ', + 'latitude': -21.3419, + 'longitude': 55.4778 + }, + 'Gabon': { + 'name': 'Gabon', + 'capital': 'Libreville', + 'latitude': 0.416198, + 'longitude': 9.467268 + }, + 'Gambia': { + 'name': 'Gambia', + 'capital': 'Banjul', + 'latitude': 13.454876, + 'longitude': -16.579032 + }, + 'Georgia': { + 'name': 'Georgia', + 'capital': 'Tbilisi', + 'latitude': 41.715138, + 'longitude': 44.827096 + }, + 'Germany': { + 'name': 'Germany', + 'capital': 'Berlin', + 'latitude': 52.520007, + 'longitude': 13.404954 + }, + 'Ghana': { + 'name': 'Ghana', + 'capital': 'Accra', + 'latitude': 5.603717, + 'longitude': -0.186964 + }, + 'Gibraltar': { + 'name': 'Gibraltar', + 'capital': 'Gibraltar', + 'latitude': 36.140773, + 'longitude': -5.353599 + }, + 'Greece': { + 'name': 'Greece', + 'capital': 'Athens', + 'latitude': 37.983917, + 'longitude': 23.72936 + }, + 'Greenland': { + 'name': 'Greenland', + 'capital': 'Nuuk', + 'latitude': 64.18141, + 'longitude': -51.694138 + }, + 'Grenada': { + 'name': 'Grenada', + 'capital': "St. George's", + 'latitude': 12.056098, + 'longitude': -61.7488 + }, + 'Guadeloupe': { + 'name': 'Guadeloupe', + 'capital': 'Basse-Terre', + 'latitude': 16.014453, + 'longitude': -61.706411 + }, + 'Guam': { + 'name': 'Guam', + 'capital': 'Hagåtña', + 'latitude': 13.470891, + 'longitude': 144.751278 + }, + 'Guatemala': { + 'name': 'Guatemala', + 'capital': 'Guatemala City', + 'latitude': 14.634915, + 'longitude': -90.506882 + }, + 'Guernsey': { + 'name': 'Guernsey', + 'capital': 'St. Peter Port', + 'latitude': 49.455443, + 'longitude': -2.536871 + }, + 'Guinea': { + 'name': 'Guinea', + 'capital': 'Conakry', + 'latitude': 9.641185, + 'longitude': -13.578401 + }, + 'Guinea-Bissau': { + 'name': 'Guinea-Bissau', + 'capital': 'Bissau', + 'latitude': 11.881655, + 'longitude': -15.617794 + }, + 'Guyana': { + 'name': 'Guyana', + 'capital': 'Georgetown', + 'latitude': 6.801279, + 'longitude': -58.155125 + }, + 'Haiti': { + 'name': 'Haiti', + 'capital': 'Port-au-Prince', + 'latitude': 18.594395, + 'longitude': -72.307433 + }, + 'Honduras': { + 'name': 'Honduras', + 'capital': 'Tegucigalpa', + 'latitude': 14.072275, + 'longitude': -87.192136 + }, + 'Hong Kong': { + 'name': 'Hong Kong', + 'capital': 'Hong Kong', + 'latitude': 22.396428, + 'longitude': 114.109497 + }, + 'Hungary': { + 'name': 'Hungary', + 'capital': 'Budapest', + 'latitude': 47.497912, + 'longitude': 19.040235 + }, + 'Iceland': { + 'name': 'Iceland', + 'capital': 'Reykjavík', + 'latitude': 64.126521, + 'longitude': -21.817439 + }, + 'India': { + 'name': 'India', + 'capital': 'New Delhi', + 'latitude': 28.613939, + 'longitude': 77.209021 + }, + 'Indonesia': { + 'name': 'Indonesia', + 'capital': 'Jakarta', + 'latitude': -6.208763, + 'longitude': 106.845599 + }, + 'Iran': { + 'name': 'Iran', + 'capital': 'Tehran', + 'latitude': 35.689198, + 'longitude': 51.388974 + }, + 'Iraq': { + 'name': 'Iraq', + 'capital': 'Baghdad', + 'latitude': 33.312806, + 'longitude': 44.361488 + }, + 'Ireland': { + 'name': 'Ireland', + 'capital': 'Dublin', + 'latitude': 53.349805, + 'longitude': -6.26031 + }, + 'Isle of Man': { + 'name': 'Isle of Man', + 'capital': 'Douglas', + 'latitude': 54.152337, + 'longitude': -4.486123 + }, + 'Israel': { + 'name': 'Israel', + 'capital': 'Tel Aviv', + 'latitude': 32.0853, + 'longitude': 34.781768 + }, + 'Italy': { + 'name': 'Italy', + 'capital': 'Rome', + 'latitude': 41.902784, + 'longitude': 12.496366 + }, + 'Jamaica': { + 'name': 'Jamaica', + 'capital': 'Kingston', + 'latitude': 18.042327, + 'longitude': -76.802893 + }, + 'Japan': { + 'name': 'Japan', + 'capital': 'Tokyo', + 'latitude': 35.709026, + 'longitude': 139.731992 + }, + 'Jersey': { + 'name': 'Jersey', + 'capital': 'St. Helier', + 'latitude': 49.186823, + 'longitude': -2.106568 + }, + 'Jordan': { + 'name': 'Jordan', + 'capital': 'Amman', + 'latitude': 31.956578, + 'longitude': 35.945695 + }, + 'Kazakhstan': { + 'name': 'Kazakhstan', + 'capital': 'Astana', + 'latitude': 51.160523, + 'longitude': 71.470356 + }, + 'Kenya': { + 'name': 'Kenya', + 'capital': 'Nairobi', + 'latitude': -1.292066, + 'longitude': 36.821946 + }, + 'Kiribati': { + 'name': 'Kiribati', + 'capital': 'Tarawa Atoll', + 'latitude': 1.451817, + 'longitude': 172.971662 + }, + 'Kosovo': { + 'name': 'Kosovo', + 'capital': 'Pristina', + 'latitude': 42.662914, + 'longitude': 21.165503 + }, + 'Kuwait': { + 'name': 'Kuwait', + 'capital': 'Kuwait City', + 'latitude': 29.375859, + 'longitude': 47.977405 + }, + 'Kyrgyzstan': { + 'name': 'Kyrgyzstan', + 'capital': 'Bishkek', + 'latitude': 42.874621, + 'longitude': 74.569762 + }, + 'Laos': { + 'name': 'Laos', + 'capital': 'Vientiane', + 'latitude': 17.975706, + 'longitude': 102.633104 + }, + 'Latvia': { + 'name': 'Latvia', + 'capital': 'Riga', + 'latitude': 56.949649, + 'longitude': 24.105186 + }, + 'Lebanon': { + 'name': 'Lebanon', + 'capital': 'Beirut', + 'latitude': 33.888629, + 'longitude': 35.495479 + }, + 'Lesotho': { + 'name': 'Lesotho', + 'capital': 'Maseru', + 'latitude': -29.363219, + 'longitude': 27.51436 + }, + 'Liberia': { + 'name': 'Liberia', + 'capital': 'Monrovia', + 'latitude': 6.290743, + 'longitude': -10.760524 + }, + 'Libya': { + 'name': 'Libya', + 'capital': 'Tripoli', + 'latitude': 32.887209, + 'longitude': 13.191338 + }, + 'Liechtenstein': { + 'name': 'Liechtenstein', + 'capital': 'Vaduz', + 'latitude': 47.14103, + 'longitude': 9.520928 + }, + 'Lithuania': { + 'name': 'Lithuania', + 'capital': 'Vilnius', + 'latitude': 54.687156, + 'longitude': 25.279651 + }, + 'Luxembourg': { + 'name': 'Luxembourg', + 'capital': 'Luxembourg', + 'latitude': 49.611621, + 'longitude': 6.131935 + }, + 'Macau': { + 'name': 'Macau', + 'capital': 'Macau', + 'latitude': 22.166667, + 'longitude': 113.55 + }, + 'Macedonia': { + 'name': 'Macedonia', + 'capital': 'Skopje', + 'latitude': 41.997346, + 'longitude': 21.427996 + }, + 'Madagascar': { + 'name': 'Madagascar', + 'capital': 'Antananarivo', + 'latitude': -18.87919, + 'longitude': 47.507905 + }, + 'Malawi': { + 'name': 'Malawi', + 'capital': 'Lilongwe', + 'latitude': -13.962612, + 'longitude': 33.774119 + }, + 'Malaysia': { + 'name': 'Malaysia', + 'capital': 'Kuala Lumpur', + 'latitude': 3.139003, + 'longitude': 101.686855 + }, + 'Maldives': { + 'name': 'Maldives', + 'capital': 'Malé', + 'latitude': 4.175496, + 'longitude': 73.509347 + }, + 'Mali': { + 'name': 'Mali', + 'capital': 'Bamako', + 'latitude': 12.639232, + 'longitude': -8.002889 + }, + 'Malta': { + 'name': 'Malta', + 'capital': 'Valletta', + 'latitude': 35.898909, + 'longitude': 14.514553 + }, + 'Marshall Islands': { + 'name': 'Marshall Islands', + 'capital': 'Majuro', + 'latitude': 7.116421, + 'longitude': 171.185774 + }, + 'Martinique': { + 'name': 'Martinique', + 'capital': 'Fort-de-France', + 'latitude': 14.616065, + 'longitude': -61.05878 + }, + 'Mauritania': { + 'name': 'Mauritania', + 'capital': 'Nouakchott', + 'latitude': 18.07353, + 'longitude': -15.958237 + }, + 'Mauritius': { + 'name': 'Mauritius', + 'capital': 'Port Louis', + 'latitude': -20.166896, + 'longitude': 57.502332 + }, + 'Mayotte': { + 'name': 'Mayotte', + 'capital': 'Mamoudzou', + 'latitude': -12.780949, + 'longitude': 45.227872 + }, + 'Mexico': { + 'name': 'Mexico', + 'capital': 'Mexico City', + 'latitude': 19.432608, + 'longitude': -99.133208 + }, + 'Micronesia': { + 'name': 'Micronesia', + 'capital': 'Palikir', + 'latitude': 6.914712, + 'longitude': 158.161027 + }, + 'Moldova': { + 'name': 'Moldova', + 'capital': 'Chisinau', + 'latitude': 47.010453, + 'longitude': 28.86381 + }, + 'Monaco': { + 'name': 'Monaco', + 'capital': 'Monaco', + 'latitude': 43.737411, + 'longitude': 7.420816 + }, + 'Mongolia': { + 'name': 'Mongolia', + 'capital': 'Ulaanbaatar', + 'latitude': 47.886399, + 'longitude': 106.905744 + }, + 'Montenegro': { + 'name': 'Montenegro', + 'capital': 'Podgorica', + 'latitude': 42.43042, + 'longitude': 19.259364 + }, + 'Montserrat': { + 'name': 'Montserrat', + 'capital': 'Plymouth', + 'latitude': 16.706523, + 'longitude': -62.215738 + }, + 'Morocco': { + 'name': 'Morocco', + 'capital': 'Rabat', + 'latitude': 33.97159, + 'longitude': -6.849813 + }, + 'Mozambique': { + 'name': 'Mozambique', + 'capital': 'Maputo', + 'latitude': -25.891968, + 'longitude': 32.605135 + }, + 'Myanmar': { + 'name': 'Myanmar', + 'capital': 'Naypyidaw', + 'latitude': 19.763306, + 'longitude': 96.07851 + }, + 'Nagorno-Karabakh Republic': { + 'name': 'Nagorno-Karabakh Republic', + 'capital': 'Stepanakert', + 'latitude': 39.826385, + 'longitude': 46.763595 + }, + 'Namibia': { + 'name': 'Namibia', + 'capital': 'Windhoek', + 'latitude': -22.560881, + 'longitude': 17.065755 + }, + 'Nauru': { + 'name': 'Nauru', + 'capital': 'Yaren', + 'latitude': -0.546686, + 'longitude': 166.921091 + }, + 'Nepal': { + 'name': 'Nepal', + 'capital': 'Kathmandu', + 'latitude': 27.717245, + 'longitude': 85.323961 + }, + 'Netherlands': { + 'name': 'Netherlands', + 'capital': 'Amsterdam', + 'latitude': 52.370216, + 'longitude': 4.895168 + }, + 'Netherlands Antilles': { + 'name': 'Netherlands Antilles', + 'capital': 'Willemstad ', + 'latitude': 12.1091242, + 'longitude': -68.9316546 + }, + 'New Caledonia': { + 'name': 'New Caledonia', + 'capital': 'Nouméa', + 'latitude': -22.255823, + 'longitude': 166.450524 + }, + 'New Zealand': { + 'name': 'New Zealand', + 'capital': 'Wellington', + 'latitude': -41.28646, + 'longitude': 174.776236 + }, + 'Nicaragua': { + 'name': 'Nicaragua', + 'capital': 'Managua', + 'latitude': 12.114993, + 'longitude': -86.236174 + }, + 'Niger': { + 'name': 'Niger', + 'capital': 'Niamey', + 'latitude': 13.511596, + 'longitude': 2.125385 + }, + 'Nigeria': { + 'name': 'Nigeria', + 'capital': 'Abuja', + 'latitude': 9.076479, + 'longitude': 7.398574 + }, + 'Niue': { + 'name': 'Niue', + 'capital': 'Alofi', + 'latitude': -19.055371, + 'longitude': -169.917871 + }, + 'Norfolk Island': { + 'name': 'Norfolk Island', + 'capital': 'Kingston', + 'latitude': -29.056394, + 'longitude': 167.959588 + }, + 'North Korea': { + 'name': 'North Korea', + 'capital': 'Pyongyang', + 'latitude': 39.039219, + 'longitude': 125.762524 + }, + 'Northern Cyprus': { + 'name': 'Northern Cyprus', + 'capital': 'Nicosia', + 'latitude': 35.185566, + 'longitude': 33.382276 + }, + 'Northern Mariana Islands': { + 'name': 'Northern Mariana Islands', + 'capital': 'Saipan', + 'latitude': 15.177801, + 'longitude': 145.750967 + }, + 'Norway': { + 'name': 'Norway', + 'capital': 'Oslo', + 'latitude': 59.913869, + 'longitude': 10.752245 + }, + 'Oman': { + 'name': 'Oman', + 'capital': 'Muscat', + 'latitude': 23.58589, + 'longitude': 58.405923 + }, + 'Pakistan': { + 'name': 'Pakistan', + 'capital': 'Islamabad', + 'latitude': 33.729388, + 'longitude': 73.093146 + }, + 'Palau': { + 'name': 'Palau', + 'capital': 'Ngerulmud', + 'latitude': 7.500384, + 'longitude': 134.624289 + }, + 'Palestine': { + 'name': 'Palestine', + 'capital': 'Ramallah', + 'latitude': 31.9073509, + 'longitude': 35.5354719 + }, + 'Panama': { + 'name': 'Panama', + 'capital': 'Panama City', + 'latitude': 9.101179, + 'longitude': -79.402864 + }, + 'Papua New Guinea': { + 'name': 'Papua New Guinea', + 'capital': 'Port Moresby', + 'latitude': -9.4438, + 'longitude': 147.180267 + }, + 'Paraguay': { + 'name': 'Paraguay', + 'capital': 'Asuncion', + 'latitude': -25.26374, + 'longitude': -57.575926 + }, + 'Peru': { + 'name': 'Peru', + 'capital': 'Lima', + 'latitude': -12.046374, + 'longitude': -77.042793 + }, + 'Philippines': { + 'name': 'Philippines', + 'capital': 'Manila', + 'latitude': 14.599512, + 'longitude': 120.98422 + }, + 'Pitcairn Islands': { + 'name': 'Pitcairn Islands', + 'capital': 'Adamstown', + 'latitude': -25.06629, + 'longitude': -130.100464 + }, + 'Poland': { + 'name': 'Poland', + 'capital': 'Warsaw', + 'latitude': 52.229676, + 'longitude': 21.012229 + }, + 'Portugal': { + 'name': 'Portugal', + 'capital': 'Lisbon', + 'latitude': 38.722252, + 'longitude': -9.139337 + }, + 'Puerto Rico': { + 'name': 'Puerto Rico', + 'capital': 'San Juan', + 'latitude': 18.466334, + 'longitude': -66.105722 + }, + 'Qatar': { + 'name': 'Qatar', + 'capital': 'Doha', + 'latitude': 25.285447, + 'longitude': 51.53104 + }, + 'Réunion': { + 'name': 'Réunion', + 'capital': 'Saint-Denis', + 'latitude': -20.882057, + 'longitude': 55.450675 + }, + 'Romania': { + 'name': 'Romania', + 'capital': 'Bucharest', + 'latitude': 44.426767, + 'longitude': 26.102538 + }, + 'Russia': { + 'name': 'Russia', + 'capital': 'Moscow', + 'latitude': 55.755826, + 'longitude': 37.6173 + }, + 'Rwanda': { + 'name': 'Rwanda', + 'capital': 'Kigali', + 'latitude': -1.957875, + 'longitude': 30.112735 + }, + 'Saint Pierre and Miquelon': { + 'name': 'Saint Pierre and Miquelon', + 'capital': 'St. Pierre', + 'latitude': 46.775846, + 'longitude': -56.180636 + }, + 'Saint Vincent and the Grenadines': { + 'name': 'Saint Vincent and the Grenadines', + 'capital': 'Kingstown', + 'latitude': 13.160025, + 'longitude': -61.224816 + }, + 'Samoa': { + 'name': 'Samoa', + 'capital': 'Apia', + 'latitude': -13.850696, + 'longitude': -171.751355 + }, + 'San Marino': { + 'name': 'San Marino', + 'capital': 'San Marino', + 'latitude': 43.935591, + 'longitude': 12.447281 + }, + 'São Tomé and Príncipe': { + 'name': 'São Tomé and Príncipe', + 'capital': 'São Tomé', + 'latitude': 0.330192, + 'longitude': 6.733343 + }, + 'Saudi Arabia': { + 'name': 'Saudi Arabia', + 'capital': 'Riyadh', + 'latitude': 24.749403, + 'longitude': 46.902838 + }, + 'Senegal': { + 'name': 'Senegal', + 'capital': 'Dakar', + 'latitude': 14.764504, + 'longitude': -17.366029 + }, + 'Serbia': { + 'name': 'Serbia', + 'capital': 'Belgrade', + 'latitude': 44.786568, + 'longitude': 20.448922 + }, + 'Seychelles': { + 'name': 'Seychelles', + 'capital': 'Victoria', + 'latitude': -4.619143, + 'longitude': 55.451315 + }, + 'Sierra Leone': { + 'name': 'Sierra Leone', + 'capital': 'Freetown', + 'latitude': 8.465677, + 'longitude': -13.231722 + }, + 'Singapore': { + 'name': 'Singapore', + 'capital': 'Singapore', + 'latitude': 1.280095, + 'longitude': 103.850949 + }, + 'Slovakia': { + 'name': 'Slovakia', + 'capital': 'Bratislava', + 'latitude': 48.145892, + 'longitude': 17.107137 + }, + 'Slovenia': { + 'name': 'Slovenia', + 'capital': 'Ljubljana', + 'latitude': 46.056947, + 'longitude': 14.505751 + }, + 'Solomon Islands': { + 'name': 'Solomon Islands', + 'capital': 'Honiara', + 'latitude': -9.445638, + 'longitude': 159.9729 + }, + 'Somalia': { + 'name': 'Somalia', + 'capital': 'Mogadishu', + 'latitude': 2.046934, + 'longitude': 45.318162 + }, + 'South Africa': { + 'name': 'South Africa', + 'capital': 'Pretoria', + 'latitude': -25.747868, + 'longitude': 28.229271 + }, + 'South Georgia and the South Sandwich Islands': { + 'name': 'South Georgia and the South Sandwich Islands', + 'capital': 'King Edward Point', + 'latitude': -54.28325, + 'longitude': -36.493735 + }, + 'South Korea': { + 'name': 'South Korea', + 'capital': 'Seoul', + 'latitude': 37.566535, + 'longitude': 126.977969 + }, + 'South Ossetia': { + 'name': 'South Ossetia', + 'capital': 'Tskhinvali', + 'latitude': 42.22146, + 'longitude': 43.964405 + }, + 'South Sudan': { + 'name': 'South Sudan', + 'capital': 'Juba', + 'latitude': 4.859363, + 'longitude': 31.57125 + }, + 'Spain': { + 'name': 'Spain', + 'capital': 'Madrid', + 'latitude': 40.416775, + 'longitude': -3.70379 + }, + 'Sri Lanka': { + 'name': 'Sri Lanka', + 'capital': 'Sri Jayawardenepura Kotte', + 'latitude': 6.89407, + 'longitude': 79.902478 + }, + 'St. Barthélemy': { + 'name': 'St. Barthélemy', + 'capital': 'Gustavia', + 'latitude': 17.896435, + 'longitude': -62.852201 + }, + 'St. Kitts and Nevis': { + 'name': 'St. Kitts and Nevis', + 'capital': 'Basseterre', + 'latitude': 17.302606, + 'longitude': -62.717692 + }, + 'St. Lucia': { + 'name': 'St. Lucia', + 'capital': 'Castries', + 'latitude': 14.010109, + 'longitude': -60.987469 + }, + 'St. Martin': { + 'name': 'St. Martin', + 'capital': 'Marigot', + 'latitude': 18.067519, + 'longitude': -63.082466 + }, + 'Sudan': { + 'name': 'Sudan', + 'capital': 'Khartoum', + 'latitude': 15.500654, + 'longitude': 32.559899 + }, + 'Suriname': { + 'name': 'Suriname', + 'capital': 'Paramaribo', + 'latitude': 5.852036, + 'longitude': -55.203828 + }, + 'Svalbard and Jan Mayen': { + 'name': 'Svalbard and Jan Mayen', + 'capital': 'Longyearbyen ', + 'latitude': 78.062, + 'longitude': 22.055 + }, + 'Swaziland': { + 'name': 'Swaziland', + 'capital': 'Mbabane', + 'latitude': -26.305448, + 'longitude': 31.136672 + }, + 'Sweden': { + 'name': 'Sweden', + 'capital': 'Stockholm', + 'latitude': 59.329323, + 'longitude': 18.068581 + }, + 'Switzerland': { + 'name': 'Switzerland', + 'capital': 'Bern', + 'latitude': 46.947974, + 'longitude': 7.447447 + }, + 'Syria': { + 'name': 'Syria', + 'capital': 'Damascus', + 'latitude': 33.513807, + 'longitude': 36.276528 + }, + 'Taiwan': { + 'name': 'Taiwan', + 'capital': 'Taipei', + 'latitude': 25.032969, + 'longitude': 121.565418 + }, + 'Tajikistan': { + 'name': 'Tajikistan', + 'capital': 'Dushanbe', + 'latitude': 38.559772, + 'longitude': 68.787038 + }, + 'Tanzania': { + 'name': 'Tanzania', + 'capital': 'Dodoma', + 'latitude': -6.162959, + 'longitude': 35.751607 + }, + 'Thailand': { + 'name': 'Thailand', + 'capital': 'Bangkok', + 'latitude': 13.756331, + 'longitude': 100.501765 + }, + 'Timor-Leste': { + 'name': 'Timor-Leste', + 'capital': 'Dili', + 'latitude': -8.556856, + 'longitude': 125.560314 + }, + 'Togo': { + 'name': 'Togo', + 'capital': 'Lomé', + 'latitude': 6.172497, + 'longitude': 1.231362 + }, + 'Tokelau': { + 'name': 'Tokelau', + 'capital': 'Nukunonu', + 'latitude': -9.2005, + 'longitude': -171.848 + }, + 'Tonga': { + 'name': 'Tonga', + 'capital': 'Nukuʻalofa', + 'latitude': -21.139342, + 'longitude': -175.204947 + }, + 'Transnistria': { + 'name': 'Transnistria', + 'capital': 'Tiraspol', + 'latitude': 46.848185, + 'longitude': 29.596805 + }, + 'Trinidad and Tobago': { + 'name': 'Trinidad and Tobago', + 'capital': 'Port of Spain', + 'latitude': 10.654901, + 'longitude': -61.501926 + }, + 'Tristan da Cunha': { + 'name': 'Tristan da Cunha', + 'capital': 'Edinburgh of the Seven Seas', + 'latitude': -37.068042, + 'longitude': -12.311315 + }, + 'Tunisia': { + 'name': 'Tunisia', + 'capital': 'Tunis', + 'latitude': 36.806495, + 'longitude': 10.181532 + }, + 'Turkey': { + 'name': 'Turkey', + 'capital': 'Ankara', + 'latitude': 39.933364, + 'longitude': 32.859742 + }, + 'Turkmenistan': { + 'name': 'Turkmenistan', + 'capital': 'Ashgabat', + 'latitude': 37.960077, + 'longitude': 58.326063 + }, + 'Turks and Caicos Islands': { + 'name': 'Turks and Caicos Islands', + 'capital': 'Cockburn Town', + 'latitude': 21.467458, + 'longitude': -71.13891 + }, + 'Tuvalu': { + 'name': 'Tuvalu', + 'capital': 'Funafuti', + 'latitude': -8.520066, + 'longitude': 179.198128 + }, + 'U.S. Virgin Islands': { + 'name': 'U.S. Virgin Islands', + 'capital': 'Charlotte Amalie', + 'latitude': 18.3419, + 'longitude': -64.930701 + }, + 'Uganda': { + 'name': 'Uganda', + 'capital': 'Kampala', + 'latitude': 0.347596, + 'longitude': 32.58252 + }, + 'Ukraine': { + 'name': 'Ukraine', + 'capital': 'Kiev', + 'latitude': 50.4501, + 'longitude': 30.5234 + }, + 'United Arab Emirates': { + 'name': 'United Arab Emirates', + 'capital': 'Abu Dhabi', + 'latitude': 24.299174, + 'longitude': 54.697277 + }, + 'United Kingdom': { + 'name': 'United Kingdom', + 'capital': 'London', + 'latitude': 51.507351, + 'longitude': -0.127758 + }, + 'United States': { + 'name': 'United States', + 'capital': 'Washington', + 'latitude': 38.907192, + 'longitude': -77.036871 + }, + 'Uruguay': { + 'name': 'Uruguay', + 'capital': 'Montevideo', + 'latitude': -34.901113, + 'longitude': -56.164531 + }, + 'Uzbekistan': { + 'name': 'Uzbekistan', + 'capital': 'Tashkent', + 'latitude': 41.299496, + 'longitude': 69.240073 + }, + 'Vanuatu': { + 'name': 'Vanuatu', + 'capital': 'Port Vila', + 'latitude': -17.733251, + 'longitude': 168.327325 + }, + 'Vatican City': { + 'name': 'Vatican City', + 'capital': 'Vatican City', + 'latitude': 41.902179, + 'longitude': 12.453601 + }, + 'Venezuela': { + 'name': 'Venezuela', + 'capital': 'Caracas', + 'latitude': 10.480594, + 'longitude': -66.903606 + }, + 'Vietnam': { + 'name': 'Vietnam', + 'capital': 'Hanoi', + 'latitude': 21.027764, + 'longitude': 105.83416 + }, + 'Wallis and Futuna': { + 'name': 'Wallis and Futuna', + 'capital': 'Mata-Utu', + 'latitude': -13.282509, + 'longitude': -176.176447 + }, + 'Western Sahara': { + 'name': 'Western Sahara', + 'capital': 'El Aaiún', + 'latitude': 27.125287, + 'longitude': -13.1625 + }, + 'Yemen': { + 'name': 'Yemen', + 'capital': "Sana'a", + 'latitude': 15.369445, + 'longitude': 44.191007 + }, + 'Zambia': { + 'name': 'Zambia', + 'capital': 'Lusaka', + 'latitude': -15.387526, + 'longitude': 28.322817 + }, + 'Zimbabwe': { + 'name': 'Zimbabwe', + 'capital': 'Harare', + 'latitude': -17.825166, + 'longitude': 31.03351 + } +} + +def convert_lat_long(latitude, longitude, map_width, map_height): + + false_easting = 180 + radius = map_width / (2 * pi) + latitude = radians(latitude) + longitude = radians(longitude + false_easting) + + x_coord = longitude * radius + + y_dist_from_equator = radius * log(tan(pi / 4 + latitude / 2)) + y_coord = map_height / 2 - y_dist_from_equator + + coords = {'x': x_coord, 'y': y_coord} + + return coords + + +def get_available_regions(): + return regions.keys() + + +def get_region_coords(region, map_width=991, map_height=768): + coords = None + + try: + lookup = regions[region] + coords = convert_lat_long(lookup['latitude'], lookup['longitude'], map_width, map_height) + return coords + except KeyError: + print('Region not recognised: ', region) diff --git a/lib/tasks/project_components/mapping_data_carbon_data/species.csv b/lib/tasks/project_components/mapping_data_carbon_data/species.csv new file mode 100644 index 00000000..a6ec45d8 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_carbon_data/species.csv @@ -0,0 +1,238 @@ +Afghanistan,42 +Albania,130 +Algeria,135 +American Samoa,92 +Andorra,13 +Angola,146 +Anguilla,52 +Antarctica,6 +Antigua and Barbuda,55 +Argentina,256 +Armenia,114 +Aruba,32 +Australia,948 +Austria,118 +Azerbaijan,97 +Bahamas,86 +Bahrain,36 +Bangladesh,151 +Barbados,56 +Belarus,25 +Belgium,37 +Belize,117 +Benin,88 +Bermuda,72 +Bhutan,71 +Bolivia,231 +Bosnia and Herzegovina,91 +Botswana,28 +Bouvet Island,3 +Brazil,990 +British Indian Ocean Territory,85 +British Virgin Islands,67 +Brunei,193 +Bulgaria,104 +Burkina Faso,31 +Burundi,61 +Cape Verde,65 +Cambodia,255 +Cameroon,775 +Canada,122 +Cayman Islands,74 +Central African Republic,60 +Chad,43 +Chile,197 +China,1080 +Hong Kong,64 +Macau,11 +Christmas Island,39 +Cocos (Keeling) Islands,33 +Colombia,835 +Comoros,114 +Congo (Republic),134 +Cook Islands,75 +Costa Rica,340 +Côte d'Ivoire,249 +Croatia,176 +Cuba,339 +Curaçao,51 +Cyprus,72 +Czech Republic,53 +North Korea,78 +Congo (DRC),349 +Denmark,47 +Djibouti,98 +Dominica,66 +Dominican Republic,184 +Ecuador,2358 +Egypt,156 +El Salvador,86 +Equatorial Guinea,177 +Eritrea,122 +Estonia,23 +Swaziland,34 +Ethiopia,148 +Falkland Islands (Islas Malvinas),23 +Faroe Islands,21 +Fiji,291 +Finland,36 +France,278 +French Guiana,73 +French Polynesia,175 +French Southern Territories,25 +Gabon,270 +Gambia,67 +Georgia,120 +Germany,116 +Ghana,238 +Gibraltar,31 +Greece,374 +Greenland,23 +Grenada,54 +Guadeloupe,73 +Guam,99 +Guatemala,290 +Guernsey,5 +Guinea,185 +Guinea-Bissau,77 +Guyana,94 +Haiti,205 +Vatican City,1 +Honduras,301 +Hungary,66 +Iceland,27 +India,1052 +Indonesia,1281 +Iran,134 +Iraq,72 +Ireland,50 +Isle of Man,3 +Israel,174 +Italy,359 +Jamaica,311 +Japan,404 +Jersey,6 +Jordan,113 +Kazakhstan,82 +Kenya,480 +Kiribati,104 +Kuwait,49 +Kyrgyzstan,44 +Laos,209 +Latvia,30 +Lebanon,87 +Lesotho,18 +Liberia,172 +Libya,63 +Liechtenstein,6 +Lithuania,26 +Luxembourg,11 +Madagascar,1324 +Malawi,176 +Malaysia,1272 +Maldives,75 +Mali,42 +Malta,39 +Marshall Islands,101 +Martinique,48 +Mauritania,86 +Mauritius,257 +Mayotte,88 +Mexico,1162 +Micronesia,167 +Monaco,21 +Mongolia,41 +Montenegro,98 +Montserrat,55 +Morocco,207 +Mozambique,309 +Myanmar,321 +Namibia,115 +Nauru,82 +Nepal,104 +Netherlands,40 +New Caledonia,526 +New Zealand,199 +Nicaragua,144 +Niger,34 +Nigeria,361 +Niue,52 +Norfolk Island,44 +Northern Mariana Islands,102 +Norway,64 +Oman,99 +Pakistan,140 +Palau,182 +Panama,383 +Papua New Guinea,493 +Paraguay,59 +Peru,685 +Philippines,783 +Poland,58 +Portugal,281 +Puerto Rico,126 +Qatar,39 +South Korea,111 +Moldova,35 +Réunion,130 +Romania,104 +Russia,235 +Rwanda,62 +St. Barthélemy,31 +St. Kitts and Nevis,52 +St. Lucia,62 +Saint Pierre and Miquelon,12 +Saint Vincent and the Grenadines,58 +Samoa,93 +San Marino,1 +São Tomé and Príncipe,94 +Saudi Arabia,131 +Senegal,123 +Serbia,71 +Seychelles,439 +Sierra Leone,177 +Singapore,293 +Slovakia,54 +Slovenia,143 +Solomon Islands,245 +Somalia,175 +South Africa,581 +South Georgia and the South Sandwich Islands,9 +South Sudan,49 +Spain,617 +Sri Lanka,587 +Palestine,31 +Sudan,133 +Suriname,83 +Sweden,54 +Switzerland,74 +Syria,132 +Tajikistan,45 +Thailand,611 +Timor-Leste,24 +Togo,80 +Tokelau,49 +Tonga,79 +Trinidad and Tobago,69 +Tunisia,96 +Turkey,388 +Turkmenistan,54 +Turks and Caicos Islands,60 +Tuvalu,96 +Uganda,196 +Ukraine,102 +United Arab Emirates,56 +United Kingdom,102 +Tanzania,1082 +United States,1513 +U.S. Virgin Islands,58 +Uruguay,106 +Uzbekistan,59 +Vanuatu,137 +Venezuela,328 +Vietnam,616 +Wallis and Futuna,89 +Western Sahara,49 +Yemen,298 +Zambia,88 +Zimbabwe,89 diff --git a/lib/tasks/project_components/mapping_data_gdp/carbon.csv b/lib/tasks/project_components/mapping_data_gdp/carbon.csv new file mode 100644 index 00000000..8733659c --- /dev/null +++ b/lib/tasks/project_components/mapping_data_gdp/carbon.csv @@ -0,0 +1,141 @@ +Albania,4342.011,1.511 +Algeria,130493.653,3.158 +Angola,18021.394,0.605 +Argentina,183375.203,4.142 +Armenia,5165.593,1.763 +Australia,384583.857,15.632 +Austria,64872.394,7.376 +Azerbaijan,30805.851,3.124 +Bahrain,29813.834,19.969 +Bangladesh,78270.17,0.475 +Belarus,54070.453,5.687 +Belgium,90368.188,7.963 +Benin,6763.074,0.605 +Bolivia,21899.18,1.981 +Bosnia and Herzegovina,22327.978,6.367 +Botswana,7717.409,3.367 +Brazil,427632.717,2.043 +Brunei,6710.178,15.641 +Bulgaria,42819.932,6.051 +Côte d'Ivoire,10234.205,0.421 +Cambodia,10762.923,0.672 +Cameroon,6152.919,0.256 +Canada,547798.641,14.992 +Chile,86087.14,4.648 +China,9257933.9,6.678 +Hong Kong,44034.675,5.957 +Colombia,75291.911,1.535 +Congo (Republic),2847.335,0.541 +Costa Rica,7584.411,1.546 +Croatia,16193.172,3.925 +Cuba,26215.665,2.283 +Curaçao,3748.132,23.28 +Cyprus,6367.874,7.448 +Czech Republic,101682.752,9.602 +North Korea,19579.698,0.768 +Congo (DRC),2201.742,0.027 +Denmark,31263.57,5.421 +Dominican Republic,21430.38,1.99 +Ecuador,34299.317,2.063 +Egypt,209219.059,2.145 +El Salvador,5735.668,0.899 +Eritrea,632.105,0.125 +Estonia,15972.029,12.137 +Ethiopia,13059.815,0.124 +Finland,42598.175,7.734 +France,306123.541,4.565 +Gabon,3367.911,1.663 +Georgia,8720.3,2.346 +Germany,718794.085,8.696 +Ghana,13779.635,0.478 +Gibraltar,703.9,20.703 +Greece,63213.31,5.878 +Guatemala,15703.161,0.928 +Haiti,3293.125,0.3 +Honduras,9426.74,1.017 +Hungary,45783.636,4.678 +Iceland,2173.307,6.336 +India,2161567.072,1.614 +Indonesia,496406.275,1.88 +Iran,567123.294,6.987 +Iraq,139877.659,3.655 +Ireland,35720.302,7.439 +Israel,63766.189,7.322 +Italy,321481.224,5.31 +Jamaica,6971.666,2.412 +Japan,1132435.4,8.938 +Jordan,25550.14,2.633 +Kazakhstan,255767.646,14.179 +Kenya,16264.973,0.327 +Kosovo,8168.55,4.461 +Kuwait,89420.615,21.615 +Kyrgyzstan,8909.263,1.437 +Latvia,6679.644,3.441 +Lebanon,26931.044,4.428 +Libya,41528.35,6.514 +Lithuania,10811.096,3.831 +Luxembourg,8631.187,14.458 +Malaysia,211046.967,6.674 +Malta,1516.276,3.261 +Mauritius,4182.138,3.306 +Mexico,445991.937,3.615 +Mongolia,19276,6.267 +Montenegro,2206.233,3.547 +Morocco,58149.86,1.627 +Mozambique,7624.932,0.257 +Myanmar,30404.919,0.57 +Namibia,4037.15,1.593 +Nepal,10113.953,0.345 +Netherlands,155574.278,9.081 +New Zealand,32241.597,6.673 +Nicaragua,5106.281,0.821 +Niger,2048.704,0.095 +Nigeria,85988.513,0.45 +Norway,34760.858,6.587 +Oman,65498.56,14.128 +Pakistan,183447.068,0.931 +Panama,9612.198,2.345 +Paraguay,7654.689,1.124 +Peru,49693.643,1.545 +Philippines,126487.694,1.206 +Poland,305841.991,7.96 +Portugal,50757.815,4.928 +Qatar,80116.551,30.359 +South Korea,600034.367,11.663 +Moldova,7526.673,2.12 +Romania,70788.76,3.614 +Russia,1536878.825,10.636 +Saudi Arabia,532181.611,16.157 +Senegal,8311.532,0.524 +Serbia,46129.569,6.569 +Singapore,47407.144,8.447 +Slovakia,32212.012,5.924 +Slovenia,13410.666,6.491 +South Africa,421682.392,7.435 +South Sudan,1549.031,0.123 +Spain,253423.277,5.446 +Sri Lanka,23103.271,1.077 +Sudan,18777.895,0.463 +Suriname,1928.134,3.425 +Sweden,37643.785,3.743 +Switzerland,37135.572,4.394 +Syria,23031.045,1.261 +Tajikistan,5843.657,0.655 +Thailand,244254.785,3.538 +Togo,2082.434,0.267 +Trinidad and Tobago,18007.573,13.154 +Tunisia,26156.972,2.268 +Turkey,378631.09,4.714 +Turkmenistan,68998.881,11.983 +Ukraine,171300.035,3.821 +United Arab Emirates,196510.174,20.905 +United Kingdom,358731.281,5.432 +Tanzania,10131.79,0.177 +United States,4761301.727,14.606 +Uruguay,5872.957,1.699 +Uzbekistan,81156.397,2.506 +Venezuela,113717.543,3.556 +Vietnam,191243.601,2.002 +Yemen,8919.998,0.316 +Zambia,6007.872,0.351 +Zimbabwe,9714.938,0.588 diff --git a/lib/tasks/project_components/mapping_data_gdp/computer-map.jpg b/lib/tasks/project_components/mapping_data_gdp/computer-map.jpg new file mode 100644 index 00000000..dadfe5d6 Binary files /dev/null and b/lib/tasks/project_components/mapping_data_gdp/computer-map.jpg differ diff --git a/lib/tasks/project_components/mapping_data_gdp/gdp.csv b/lib/tasks/project_components/mapping_data_gdp/gdp.csv new file mode 100644 index 00000000..a7b6d53a --- /dev/null +++ b/lib/tasks/project_components/mapping_data_gdp/gdp.csv @@ -0,0 +1,207 @@ +Aruba,3056424581 +Afghanistan,18869945678 +Angola,1.22124E+11 +Albania,13019693451 +Andorra,3000180750 +United Arab Emirates,3.85606E+11 +Argentina,6.43629E+11 +Armenia,11527458566 +American Samoa,602000000 +Antigua and Barbuda,1467977778 +Australia,1.32919E+12 +Austria,4.17238E+11 +Azerbaijan,40865558912 +Burundi,3172292379 +Belgium,5.02698E+11 +Benin,12701656931 +Burkina Faso,14106956830 +Bangladesh,2.49711E+11 +Bulgaria,58971520599 +Bahrain,35473776596 +Bahamas,12490700000 +Bosnia and Herzegovina,18080118128 +Belarus,54726595249 +Belize,1836600000 +Bermuda,7142316000 +Bolivia,37508642165 +Brazil,2.06283E+12 +Barbados,4978000000 +Brunei,12128104859 +Bhutan,2450364928 +Botswana,17405588070 +Central African Republic,2072350151 +Canada,1.64988E+12 +Switzerland,6.7995E+11 +Chile,2.77045E+11 +China,1.23104E+13 +Côte d'Ivoire,51588158718 +Cameroon,35009262788 +Congo (DRC),38019265626 +Congo (Republic),11198674674 +Colombia,3.11884E+11 +Comoros,1077439663 +Costa Rica,58481858043 +Cuba,96851000000 +Cayman Islands,5153091158 +Cyprus,22729184365 +Czech Republic,2.18629E+11 +Germany,3.6826E+12 +Djibouti,2751461056 +Dominica,519837037 +Denmark,3.32121E+11 +Dominican Republic,79997975623 +Algeria,1.70163E+11 +Ecuador,1.04296E+11 +Egypt,2.35734E+11 +Eritrea, +Spain,1.31254E+12 +Estonia,26951648829 +Ethiopia,81770791971 +Finland,2.55232E+11 +Fiji,5353404419 +France,2.59515E+12 +Faroe Islands,2905102304 +Micronesia,366666800 +Gabon,14929488771 +United Kingdom,2.66623E+12 +Georgia,16242916916 +Ghana,58998132330 +Gibraltar, +Guinea,10324668267 +Gambia,1504909753 +Guinea-Bissau,1350177128 +Equatorial Guinea,12200914930 +Greece,2.03588E+11 +Grenada,1125685185 +Greenland,2826651926 +Guatemala,71612352645 +Guam,5851000000 +Guyana,4748174334 +Hong Kong,3.41244E+11 +Honduras,23136232230 +Croatia,55481644098 +Haiti,14213814583 +Hungary,1.42962E+11 +Indonesia,1.01562E+12 +Isle of Man,6979581725 +India,2.65275E+12 +Ireland,3.35663E+11 +Iran,4.45345E+11 +Iraq,1.95473E+11 +Iceland,24488176541 +Israel,3.53253E+11 +Italy,1.9618E+12 +Jamaica,14806340821 +Jordan,41408960787 +Japan,4.86686E+12 +Kazakhstan,1.66806E+11 +Kenya,78965004656 +Kyrgyzstan,7702934800 +Cambodia,22177200512 +Kiribati,187276210.9 +St. Kitts and Nevis,996944444.4 +South Korea,1.6239E+12 +Kuwait,1.20707E+11 +Laos,16853087485 +Lebanon,53140638269 +Liberia,3285455000 +Libya,37883243650 +St. Lucia,1999090407 +Liechtenstein,6552858739 +Sri Lanka,87428125558 +Lesotho,2405289384 +Lithuania,47758736932 +Luxembourg,64181944723 +Latvia,30458763246 +Macau,50751059058 +Morocco,1.09683E+11 +Monaco,6431314957 +Moldova,9669759987 +Madagascar,13176313233 +Maldives,4754352301 +Mexico,1.15891E+12 +Marshall Islands,212881000 +Mali,15365627045 +Malta,13146963159 +Myanmar,68945867478 +Montenegro,4844606146 +Mongolia,11425755280 +Northern Mariana Islands,1601000000 +Mozambique,13219084261 +Mauritania,6758390729 +Mauritius,13259351418 +Malawi,6303292264 +Malaysia,3.19112E+11 +Namibia,12741746524 +New Caledonia, +Niger,11189541083 +Nigeria,3.75746E+11 +Nicaragua,13785909906 +Netherlands,8.3387E+11 +Norway,3.98394E+11 +Nepal,25180583770 +Nauru,109585941.6 +New Zealand,2.05416E+11 +Oman,70598026283 +Pakistan,3.04567E+11 +Panama,62219000000 +Peru,2.11007E+11 +Philippines,3.28481E+11 +Palau,286106800 +Papua New Guinea,22742613549 +Poland,5.26509E+11 +Puerto Rico,1.03446E+11 +North Korea, +Portugal,2.21358E+11 +Paraguay,39008900332 +French Polynesia, +Qatar,1.61099E+11 +Romania,2.11695E+11 +Russia,1.5742E+12 +Rwanda,9253098954 +Saudi Arabia,6.88586E+11 +Sudan,45021077955 +Senegal,20996564752 +Singapore,3.41863E+11 +Solomon Islands,1483758907 +Sierra Leone,3739577973 +El Salvador,24979200000 +San Marino,1528630707 +Somalia, +Serbia,44179055280 +South Sudan, +Suriname,3216207914 +Slovakia,95494424979 +Slovenia,48586603448 +Sweden,5.41019E+11 +Swaziland,4402973000 +Seychelles,1524486800 +Syria, +Turks and Caicos Islands,1022365000 +Chad,10000395242 +Togo,4819949975 +Thailand,4.56295E+11 +Tajikistan,7157865188 +Turkmenistan,37926285714 +Timor-Leste,1599338100 +Tonga,460379145 +Trinidad and Tobago,22474828527 +Tunisia,39802430355 +Turkey,8.58989E+11 +Tuvalu,40619251.99 +Tanzania,53320625959 +Uganda,30756466548 +Ukraine,1.1219E+11 +Uruguay,59530088537 +United States,1.95194E+13 +Uzbekistan,59159945321 +Venezuela, +British Virgin Islands, +Vietnam,2.2378E+11 +Vanuatu,880043553.7 +Samoa,832153612.6 +Kosovo,7245707185 +Yemen,26736139802 +South Africa,3.49554E+11 +Zambia,25868165345 +Zimbabwe,22040902300 diff --git a/lib/tasks/project_components/mapping_data_gdp/happy.csv b/lib/tasks/project_components/mapping_data_gdp/happy.csv new file mode 100644 index 00000000..90b257fa --- /dev/null +++ b/lib/tasks/project_components/mapping_data_gdp/happy.csv @@ -0,0 +1,155 @@ +Norway,1,7.537000179 +Denmark,2,7.521999836 +Iceland,3,7.504000187 +Switzerland,4,7.493999958 +Finland,5,7.468999863 +Netherlands,6,7.376999855 +Canada,7,7.315999985 +New Zealand,8,7.31400013 +Sweden,9,7.28399992 +Australia,10,7.28399992 +Israel,11,7.212999821 +Costa Rica,12,7.078999996 +Austria,13,7.006000042 +United States,14,6.993000031 +Ireland,15,6.977000237 +Germany,16,6.951000214 +Belgium,17,6.890999794 +Luxembourg,18,6.862999916 +United Kingdom,19,6.714000225 +Chile,20,6.65199995 +United Arab Emirates,21,6.647999763 +Brazil,22,6.635000229 +Czech Republic,23,6.609000206 +Argentina,24,6.598999977 +Mexico,25,6.578000069 +Singapore,26,6.572000027 +Malta,27,6.52699995 +Uruguay,28,6.453999996 +Guatemala,29,6.453999996 +Panama,30,6.452000141 +France,31,6.441999912 +Thailand,32,6.423999786 +Taiwan,33,6.421999931 +Spain,34,6.402999878 +Qatar,35,6.375 +Colombia,36,6.356999874 +Saudi Arabia,37,6.343999863 +Trinidad and Tobago,38,6.168000221 +Kuwait,39,6.105000019 +Slovakia,40,6.09800005 +Bahrain,41,6.086999893 +Malaysia,42,6.084000111 +Nicaragua,43,6.071000099 +Ecuador,44,6.007999897 +El Salvador,45,6.002999783 +Poland,46,5.97300005 +Uzbekistan,47,5.971000195 +Italy,48,5.964000225 +Russia,49,5.962999821 +Belize,50,5.955999851 +Japan,51,5.920000076 +Lithuania,52,5.90199995 +Algeria,53,5.872000217 +Latvia,54,5.849999905 +South Korea,55,5.837999821 +Moldova,56,5.837999821 +Romania,57,5.824999809 +Bolivia,58,5.822999954 +Turkmenistan,59,5.822000027 +Kazakhstan,60,5.818999767 +Northern Cyprus,61,5.809999943 +Slovenia,62,5.757999897 +Peru,63,5.715000153 +Mauritius,64,5.629000187 +Cyprus,65,5.620999813 +Estonia,66,5.611000061 +Belarus,67,5.568999767 +Libya,68,5.525000095 +Turkey,69,5.5 +Paraguay,70,5.493000031 +Hong Kong,71,5.472000122 +Philippines,72,5.429999828 +Serbia,73,5.394999981 +Jordan,74,5.335999966 +Hungary,75,5.323999882 +Jamaica,76,5.31099987 +Croatia,77,5.293000221 +Kosovo,78,5.278999805 +China,79,5.272999763 +Pakistan,80,5.269000053 +Indonesia,81,5.262000084 +Venezuela,82,5.25 +Montenegro,83,5.236999989 +Morocco,84,5.235000134 +Azerbaijan,85,5.234000206 +Dominican Republic,86,5.230000019 +Greece,87,5.227000237 +Lebanon,88,5.224999905 +Portugal,89,5.195000172 +Bosnia and Herzegovina,90,5.18200016 +Honduras,91,5.181000233 +Macedonia,92,5.175000191 +Somalia,93,5.151000023 +Vietnam,94,5.073999882 +Nigeria,95,5.073999882 +Tajikistan,96,5.040999889 +Bhutan,97,5.011000156 +Kyrgyzstan,98,5.004000187 +Nepal,99,4.961999893 +Mongolia,100,4.954999924 +South Africa,101,4.828999996 +Tunisia,102,4.804999828 +Palestine,103,4.775000095 +Egypt,104,4.735000134 +Bulgaria,105,4.714000225 +Sierra Leone,106,4.709000111 +Cameroon,107,4.695000172 +Iran,108,4.691999912 +Albania,109,4.644000053 +Bangladesh,110,4.607999802 +Namibia,111,4.573999882 +Kenya,112,4.552999973 +Mozambique,113,4.550000191 +Myanmar,114,4.545000076 +Senegal,115,4.534999847 +Zambia,116,4.513999939 +Iraq,117,4.497000217 +Gabon,118,4.465000153 +Ethiopia,119,4.460000038 +Sri Lanka,120,4.440000057 +Armenia,121,4.375999928 +India,122,4.315000057 +Mauritania,123,4.291999817 +Congo (Republic),124,4.290999889 +Georgia,125,4.285999775 +Congo (DRC),126,4.28000021 +Mali,127,4.190000057 +Côte d'Ivoire,128,4.179999828 +Cambodia,129,4.168000221 +Sudan,130,4.138999939 +Ghana,131,4.119999886 +Ukraine,132,4.096000195 +Uganda,133,4.080999851 +Burkina Faso,134,4.032000065 +Niger,135,4.027999878 +Malawi,136,3.970000029 +Chad,137,3.936000109 +Zimbabwe,138,3.875 +Lesotho,139,3.808000088 +Angola,140,3.795000076 +Afghanistan,141,3.79399991 +Botswana,142,3.766000032 +Benin,143,3.657000065 +Madagascar,144,3.644000053 +Haiti,145,3.602999926 +Yemen,146,3.592999935 +South Sudan,147,3.59100008 +Liberia,148,3.532999992 +Guinea,149,3.506999969 +Togo,150,3.494999886 +Rwanda,151,3.470999956 +Syria,152,3.461999893 +Tanzania,153,3.348999977 +Burundi,154,2.904999971 +Central African Republic,155,2.693000078 diff --git a/lib/tasks/project_components/mapping_data_gdp/ink-map.jpg b/lib/tasks/project_components/mapping_data_gdp/ink-map.jpg new file mode 100644 index 00000000..655cd278 Binary files /dev/null and b/lib/tasks/project_components/mapping_data_gdp/ink-map.jpg differ diff --git a/lib/tasks/project_components/mapping_data_gdp/main.py b/lib/tasks/project_components/mapping_data_gdp/main.py new file mode 100644 index 00000000..b3faccb5 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_gdp/main.py @@ -0,0 +1,73 @@ +#!/bin/python3 +from p5 import * +from regions import get_region_coords + +region_list = [] +colours = {} + + +def draw_pin(x, y, colour): + fill(colour) + ellipse(x, y, 10, 10) # x, y, width, height + +def draw_data(): + + red_value = 255 # Set a starting value for red + + for region in region_list: + region_name = region['region'] # Get the name of the region + region_coords = get_region_coords(region_name) # Use the name to get coordinates + region_x = region_coords['x'] # Get the x coordinate + region_y = region_coords['y'] # Get the y coordinate + #print(region_name, region_x, region_y) + region_colour = Color(red_value, 0, 0) # Set the pin colour + colours[region_colour] = region + draw_pin(region_x, region_y, region_colour) # Draw the pin + red_value -= 1 # Change the red value + +# Put code to run once here +def setup(): + global map + load_data('gdp.csv') + size(991, 768) + map = load_image('old-map.jpg') # Replace with your image + + +# Put code to run every frame here +def draw(): + image( + map, # The image to draw + 0, # The x of the top-left corner + 0, # The y of the top-left corner + width, # The width of the image + height # The height of the image + ) + draw_pin(300, 300, Color(255,0,0)) + draw_data() + + +# Put code to run when the mouse is pressed here +def mouse_pressed(): + pixel_colour = Color(get(mouse_x, mouse_y)) + if pixel_colour in colours: + facts = colours[pixel_colour] + print(facts['region']) + print(facts['gdp']) + else: + print('Region not detected') + +def load_data(file_name): + with open(file_name) as f: + for line in f: + #print(line) + info = line.split(',') + # Change the dictionary to match the data you're using + region_dict = { + 'region': info[0], + 'gdp': info[1] + } + #print(region_dict) + region_list.append(region_dict) + #print(region_list) + +run() diff --git a/lib/tasks/project_components/mapping_data_gdp/mercator.jpeg b/lib/tasks/project_components/mapping_data_gdp/mercator.jpeg new file mode 100644 index 00000000..c964a51d Binary files /dev/null and b/lib/tasks/project_components/mapping_data_gdp/mercator.jpeg differ diff --git a/lib/tasks/project_components/mapping_data_gdp/mercator_bw.png b/lib/tasks/project_components/mapping_data_gdp/mercator_bw.png new file mode 100644 index 00000000..2123563e Binary files /dev/null and b/lib/tasks/project_components/mapping_data_gdp/mercator_bw.png differ diff --git a/lib/tasks/project_components/mapping_data_gdp/old-map.jpg b/lib/tasks/project_components/mapping_data_gdp/old-map.jpg new file mode 100644 index 00000000..fe2e66ed Binary files /dev/null and b/lib/tasks/project_components/mapping_data_gdp/old-map.jpg differ diff --git a/lib/tasks/project_components/mapping_data_gdp/olympics.csv b/lib/tasks/project_components/mapping_data_gdp/olympics.csv new file mode 100644 index 00000000..628cdc92 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_gdp/olympics.csv @@ -0,0 +1,21 @@ +United States,4 +United Kingdom,3 +Greece,3 +France,2 +Germany,2 +Australia,2 +Russia,1 +Italy,1 +Sweden,1 +China,1 +Japan,2 +Finland,1 +Canada,1 +Netherlands,1 +South Korea,1 +Belgium,1 +Spain,1 +Brazil,1 +Sweden,1 +Belgium,1 +Mexico,1 diff --git a/lib/tasks/project_components/mapping_data_gdp/pop.csv b/lib/tasks/project_components/mapping_data_gdp/pop.csv new file mode 100644 index 00000000..2f35a02a --- /dev/null +++ b/lib/tasks/project_components/mapping_data_gdp/pop.csv @@ -0,0 +1,184 @@ +Afghanistan,38928346,60,18,25 +Albania,2877797,105,36,63 +Algeria,43851044,18,29,73 +Andorra,77265,164,45,88 +Antigua and Barbuda,97929,223,34,26 +Argentina,45195774,17,32,93 +Armenia,2963243,104,35,63 +Aruba,106766,593,41,44 +Australia,25499884,3,38,86 +Austria,9006398,109,43,57 +Azerbaijan,10139177,123,32,56 +Bahamas,393244,39,32,86 +Bahrain,1701575,2239,32,89 +Bangladesh,164689383,1265,28,39 +Barbados,287375,668,40,31 +Belarus,9449323,47,40,79 +Belgium,11589623,383,42,98 +Belize,397628,17,24,46 +Benin,12123200,108,19,48 +Bhutan,771608,20,28,46 +Bolivia,11673021,11,26,69 +Bosnia and Herzegovina,3280819,64,43,52 +Brazil,212559417,25,33,88 +Brunei,437479,83,32,80 +Bulgaria,6948445,64,45,76 +Burkina Faso,20903273,76,18,31 +Cape Verde,554441,138,27.6,68 +Cambodia,16718965,95,26,24 +Cameroon,26545863,56,19,56 +Canada,37742154,4,41,81 +Central African Republic,37742154,8,18,43 +Chad,16302699,13,16.6,23.3 +Chile,19116201,26,35,85 +Hong Kong,7496981,7140,45,100 +China,1439323776,153,38,61 +Colombia,50882891,46,31,80 +Congo (Republic),5518087,16,19,70 +Congo (DRC),89561403,40,17,46 +Costa Rica,5094118,100,33,80 +Côte d'Ivoire,26378274,83,19,51 +Croatia,4105267,73,44,58 +Cuba,11326616,106,42,78 +Cyprus,1207359,131,37,67 +Czech Republic,10708981,139,43,74 +Denmark,5792202,137,42,88 +Djibouti,988000,43,27,79 +Dominica,71986,96,33.5,74 +Dominican Republic,10847910,225,28,85 +Ecuador,17643054,71,28,63 +Egypt,102334404,103,25,43 +El Salvador,6486205,313,27.6,73.4 +Equatorial Guinea,1402985,50,22,73 +Eritrea,3546421,35,19.2,63.3 +Estonia,1326535,31,42,68 +Swaziland,1160164,67,21,30 +Ethiopia,114963588,115,19,21 +Faroe Islands,48873,35,38,88 +Fiji,896445,49,27.9,59.1 +Finland,5540720,18,43,86 +France,65273511,119,42,82 +French Guiana,298682,4,25,87 +Gabon,2225734,9,23,87 +Gambia,2416668,239,18,59 +Georgia,3989167,57,38,58 +Germany,83783942,240,46,76 +Ghana,31072940,137,22,57 +Greece,10423054,81,46,85 +Grenada,112523,331,32,35.5 +Greenland,56770,0,34,87 +Guadeloupe,400124,237,44,96 +Guam,168775,313,31,95 +Guatemala,17915568,167,23,52 +Guernsey,70000,965,44,86 +Guinea,13132795,53,18,39 +Guinea-Bissau,1968001,70,18.8,44.9 +Guyana,786552,4,27,27 +Haiti,11402528,414,24,56.9 +Vatican City,801,2003,40,100 +Honduras,9904607,89,24,57 +Hungary,9660351,107,43,72 +Iceland,341243,3,37,94 +India,1380004385,464,28,35 +Indonesia,273523615,151,30,56 +Iran,83992949,52,32,76 +Iraq,40222493,93,21,73 +Ireland,4937786,72,38,63 +Israel,8655535,400,30,93 +Italy,60461826,206,47,69 +Jamaica,2961167,273,31,55 +Japan,126476461,347,48,92 +Jersey,106800,819,38,98 +Jordan,10203134,115,24,91 +Kazakhstan,18776707,7,31,58 +Kenya,53771296,94,20,28 +Kosovo,1810463,159,29,65 +Kuwait,4270571,240,37,92 +Kyrgyzstan,6524195,34,26,36 +Laos,7275560,32,24.4,35.7 +Latvia,1886198,30,44,69 +Lebanon,6825445,667,30,78 +Liberia,5057681,53,19,53 +Libya,6847352,4,28.8,78.2 +Liechtenstein,38128,109,41,15 +Lithuania,2722289,43,45,71 +Luxembourg,625978,242,40,88 +Madagascar,27691018,48,19.6,38.5 +Malaysia,32365999,99,30,78 +Maldives,540544,1802,30,35 +Mali,20250833,17,16.3,44 +Malta,441543,1380,43,93 +Martinique,375265,354,47,92 +Mauritania,4649658,5,20,57 +Mauritius,1271768,626,37,41 +Mayotte,272815,728,20,46 +Mexico,128932753,66,29,84 +Moldova,4033963,123,38,43 +Monaco,39242,26337,54,100 +Mongolia,3278290,2,28,67 +Montenegro,628066,47,39,68 +Morocco,36910560,83,30,64 +Mozambique,31255435,40,17.6,38.3 +Namibia,2540905,3,22,55 +Nepal,29136808,203,25,21 +Curaçao,164093,370,41.6,88.7 +Netherlands,17134872,508,43,92 +New Zealand,4822233,18,38,87 +Nicaragua,6624554,55,26.5,57.2 +Niger,24206644,19,15.2,16.5 +Nigeria,206139589,226,18,52 +Norway,5421241,15,40,83 +Oman,5106626,16,31,87 +Pakistan,220892340,287,23,35 +Panama,4314767,58,30,68 +Paraguay,7132538,18,26,62 +Peru,32971854,26,31,79 +Philippines,109581078,368,26,47 +Poland,37846611,124,42,60 +Portugal,10196709,111,46,66 +Puerto Rico,2860853,323,44,88 +Qatar,2881053,248,32,96 +Réunion,895312,358,36,100 +Romania,19237691,84,43,55 +Russia,145934462,9,40,74 +Rwanda,12952218,525,20,18 +St. Kitts and Nevis,53199,205,34.8,32.9 +St. Lucia,183627,301,34,19 +Saint Vincent and the Grenadines,115000,307,33,78 +San Marino,33931,566,47,97 +Saudi Arabia,34813871,16,32,84 +Senegal,16743927,87,19,49 +Serbia,8737371,100,42,56 +Seychelles,98347,214,34,56 +Singapore,5850342,8358,42,99 +Slovakia,5459642,114,41,54 +Slovenia,2078938,103,45,55 +Somalia,15893222,25,17,47 +South Africa,59308690,49,28,67 +South Korea,51269185,527,44,82 +Spain,46754778,94,45,80 +Sri Lanka,21413249,341,34,18 +Sudan,43849260,25,20,35 +Suriname,586632,4,29,65 +Sweden,10099265,25,41,88 +Switzerland,8654622,219,43,74 +Syria,17390388,95,25.6,60 +Taiwan,23816775,673,42,79 +Tanzania,59734218,67,18,37 +Thailand,69799978,137,40,51 +Timor-Leste,1318445,89,20.8,32.8 +Togo,8278724,152,19,43 +Trinidad and Tobago,1399488,273,36,52 +Tunisia,11818619,76,33,70 +Turkey,84339067,110,32,76 +United States,331002651,36,38,83 +Uganda,45741007,229,16.7,25.7 +Ukraine,43733762,75,41,69 +United Arab Emirates,9890402,118,33,86 +United Kingdom,67886011,281,40,83 +Uruguay,3473730,20,36,96 +Uzbekistan,33469203,79,28,50 +Venezuela,28435940,32,30,80 +Vietnam,97338579,314,32,38 +Zambia,18383955,25,18,45 +Zimbabwe,14862924,38,18.7,38.4 diff --git a/lib/tasks/project_components/mapping_data_gdp/project_config.yml b/lib/tasks/project_components/mapping_data_gdp/project_config.yml new file mode 100644 index 00000000..3043bde4 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_gdp/project_config.yml @@ -0,0 +1,50 @@ +NAME: "Mapping Data: GDP" +IDENTIFIER: "mapping-data-gdp" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "regions" + extension: "py" + location: "regions.py" + index: 1 + default: false + - name: "pop" + extension: "csv" + location: "pop.csv" + index: 2 + default: false + - name: "olympics" + extension: "csv" + location: "olympics.csv" + index: 3 + default: false + - name: "carbon" + extension: "csv" + location: "carbon.csv" + index: 4 + default: false + - name: "species" + extension: "csv" + location: "species.csv" + index: 5 + default: false + - name: "gdp" + extension: "csv" + location: "gdp.csv" + index: 6 + default: false + - name: "happy" + extension: "csv" + location: "happy.csv" + index: 7 + default: false + +IMAGES: + - "computer-map.jpg" + - "ink-map.jpg" + - "mercator.jpeg" + - "mercator_bw.png" + - "old-map.jpg" diff --git a/lib/tasks/project_components/mapping_data_gdp/regions.py b/lib/tasks/project_components/mapping_data_gdp/regions.py new file mode 100644 index 00000000..b5e840fd --- /dev/null +++ b/lib/tasks/project_components/mapping_data_gdp/regions.py @@ -0,0 +1,1548 @@ +#!/bin/python3 +from math import radians, pi, log, tan + +regions = { + 'Abkhazia': { + 'name': 'Abkhazia', + 'capital': 'Sukhumi', + 'latitude': 43.001525, + 'longitude': 41.023415 + }, + 'Afghanistan': { + 'name': 'Afghanistan', + 'capital': 'Kabul', + 'latitude': 34.575503, + 'longitude': 69.240073 + }, + 'Aland Islands': { + 'name': 'Aland Islands', + 'capital': 'Mariehamn', + 'latitude': 60.1, + 'longitude': 19.933333 + }, + 'Albania': { + 'name': 'Albania', + 'capital': 'Tirana', + 'latitude': 41.327546, + 'longitude': 19.818698 + }, + 'Algeria': { + 'name': 'Algeria', + 'capital': 'Algiers', + 'latitude': 36.752887, + 'longitude': 3.042048 + }, + 'American Samoa': { + 'name': 'American Samoa', + 'capital': 'Pago Pago', + 'latitude': -14.275632, + 'longitude': -170.702036 + }, + 'Andorra': { + 'name': 'Andorra', + 'capital': 'Andorra la Vella', + 'latitude': 42.506317, + 'longitude': 1.521835 + }, + 'Angola': { + 'name': 'Angola', + 'capital': 'Luanda', + 'latitude': -8.839988, + 'longitude': 13.289437 + }, + 'Anguilla': { + 'name': 'Anguilla', + 'capital': 'The Valley', + 'latitude': 18.214813, + 'longitude': -63.057441 + }, + 'Antarctica': { + 'name': 'Antarctica', + 'capital': 'South Pole', + 'latitude': -90.0, + 'longitude': 0.0 + }, + 'Antigua and Barbuda': { + 'name': 'Antigua and Barbuda', + 'capital': "St. John's", + 'latitude': 17.12741, + 'longitude': -61.846772 + }, + 'Argentina': { + 'name': 'Argentina', + 'capital': 'Buenos Aires', + 'latitude': -34.603684, + 'longitude': -58.381559 + }, + 'Armenia': { + 'name': 'Armenia', + 'capital': 'Yerevan', + 'latitude': 40.179186, + 'longitude': 44.499103 + }, + 'Aruba': { + 'name': 'Aruba', + 'capital': 'Oranjestad', + 'latitude': 12.509204, + 'longitude': -70.008631 + }, + 'Australia': { + 'name': 'Australia', + 'capital': 'Canberra', + 'latitude': -35.282, + 'longitude': 149.128684 + }, + 'Austria': { + 'name': 'Austria', + 'capital': 'Vienna', + 'latitude': 48.208174, + 'longitude': 16.373819 + }, + 'Azerbaijan': { + 'name': 'Azerbaijan', + 'capital': 'Baku', + 'latitude': 40.409262, + 'longitude': 49.867092 + }, + 'Bahamas': { + 'name': 'Bahamas', + 'capital': 'Nassau', + 'latitude': 25.047984, + 'longitude': -77.355413 + }, + 'Bahrain': { + 'name': 'Bahrain', + 'capital': 'Manama', + 'latitude': 26.228516, + 'longitude': 50.58605 + }, + 'Bangladesh': { + 'name': 'Bangladesh', + 'capital': 'Dhaka', + 'latitude': 23.810332, + 'longitude': 90.412518 + }, + 'Barbados': { + 'name': 'Barbados', + 'capital': 'Bridgetown', + 'latitude': 13.113222, + 'longitude': -59.598809 + }, + 'Belarus': { + 'name': 'Belarus', + 'capital': 'Minsk', + 'latitude': 53.90454, + 'longitude': 27.561524 + }, + 'Belgium': { + 'name': 'Belgium', + 'capital': 'Brussels', + 'latitude': 50.85034, + 'longitude': 4.35171 + }, + 'Belize': { + 'name': 'Belize', + 'capital': 'Belmopan', + 'latitude': 17.251011, + 'longitude': -88.75902 + }, + 'Benin': { + 'name': 'Benin', + 'capital': 'Porto-Novo', + 'latitude': 6.496857, + 'longitude': 2.628852 + }, + 'Bermuda': { + 'name': 'Bermuda', + 'capital': 'Hamilton', + 'latitude': 32.294816, + 'longitude': -64.781375 + }, + 'Bhutan': { + 'name': 'Bhutan', + 'capital': 'Thimphu', + 'latitude': 27.472792, + 'longitude': 89.639286 + }, + 'Bolivia': { + 'name': 'Bolivia', + 'capital': 'La Paz', + 'latitude': -16.489689, + 'longitude': -68.119294 + }, + 'Bosnia and Herzegovina': { + 'name': 'Bosnia and Herzegovina', + 'capital': 'Sarajevo', + 'latitude': 43.856259, + 'longitude': 18.413076 + }, + 'Botswana': { + 'name': 'Botswana', + 'capital': 'Gaborone', + 'latitude': -24.628208, + 'longitude': 25.923147 + }, + 'Bouvet Island': { + 'name': 'Bouvet Island', + 'capital': 'Bouvet Island', + 'latitude': -54.43, + 'longitude': 3.38 + }, + 'Brazil': { + 'name': 'Brazil', + 'capital': 'Brasília', + 'latitude': -15.794229, + 'longitude': -47.882166 + }, + 'British Indian Ocean Territory': { + 'name': 'British Indian Ocean Territory', + 'capital': 'Camp Justice', + 'latitude': 21.3419, + 'longitude': 55.4778 + }, + 'British Virgin Islands': { + 'name': 'British Virgin Islands', + 'capital': 'Road Town', + 'latitude': 18.428612, + 'longitude': -64.618466 + }, + 'Brunei': { + 'name': 'Brunei', + 'capital': 'Bandar Seri Begawan', + 'latitude': 4.903052, + 'longitude': 114.939821 + }, + 'Bulgaria': { + 'name': 'Bulgaria', + 'capital': 'Sofia', + 'latitude': 42.697708, + 'longitude': 23.321868 + }, + 'Burkina Faso': { + 'name': 'Burkina Faso', + 'capital': 'Ouagadougou', + 'latitude': 12.371428, + 'longitude': -1.51966 + }, + 'Burundi': { + 'name': 'Burundi', + 'capital': 'Bujumbura', + 'latitude': -3.361378, + 'longitude': 29.359878 + }, + 'Cambodia': { + 'name': 'Cambodia', + 'capital': 'Phnom Penh', + 'latitude': 11.544873, + 'longitude': 104.892167 + }, + 'Cameroon': { + 'name': 'Cameroon', + 'capital': 'Yaoundé', + 'latitude': 3.848033, + 'longitude': 11.502075 + }, + 'Canada': { + 'name': 'Canada', + 'capital': 'Ottawa', + 'latitude': 45.42153, + 'longitude': -75.697193 + }, + 'Cape Verde': { + 'name': 'Cape Verde', + 'capital': 'Praia', + 'latitude': 14.93305, + 'longitude': -23.513327 + }, + 'Cayman Islands': { + 'name': 'Cayman Islands', + 'capital': 'George Town', + 'latitude': 19.286932, + 'longitude': -81.367439 + }, + 'Central African Republic': { + 'name': 'Central African Republic', + 'capital': 'Bangui', + 'latitude': 4.394674, + 'longitude': 18.55819 + }, + 'Chad': { + 'name': 'Chad', + 'capital': "N'Djamena", + 'latitude': 12.134846, + 'longitude': 15.055742 + }, + 'Chile': { + 'name': 'Chile', + 'capital': 'Santiago', + 'latitude': -33.44889, + 'longitude': -70.669265 + }, + 'China': { + 'name': 'China', + 'capital': 'Beijing', + 'latitude': 39.904211, + 'longitude': 116.407395 + }, + 'Christmas Island': { + 'name': 'Christmas Island', + 'capital': 'Flying Fish Cove', + 'latitude': -10.420686, + 'longitude': 105.679379 + }, + 'Cocos (Keeling) Islands': { + 'name': 'Cocos (Keeling) Islands', + 'capital': 'West Island', + 'latitude': -12.188834, + 'longitude': 96.829316 + }, + 'Colombia': { + 'name': 'Colombia', + 'capital': 'Bogotá', + 'latitude': 4.710989, + 'longitude': -74.072092 + }, + 'Comoros': { + 'name': 'Comoros', + 'capital': 'Moroni', + 'latitude': -11.717216, + 'longitude': 43.247315 + }, + 'Congo (DRC)': { + 'name': 'Congo (DRC)', + 'capital': 'Kinshasa', + 'latitude': -4.441931, + 'longitude': 15.266293 + }, + 'Congo (Republic)': { + 'name': 'Congo (Republic)', + 'capital': 'Brazzaville', + 'latitude': -4.26336, + 'longitude': 15.242885 + }, + 'Cook Islands': { + 'name': 'Cook Islands', + 'capital': 'Avarua', + 'latitude': -21.212901, + 'longitude': -159.782306 + }, + 'Costa Rica': { + 'name': 'Costa Rica', + 'capital': 'San José', + 'latitude': 9.928069, + 'longitude': -84.090725 + }, + "Côte d'Ivoire": { + 'name': "Côte d'Ivoire", + 'capital': 'Yamoussoukro', + 'latitude': 6.827623, + 'longitude': -5.289343 + }, + 'Croatia': { + 'name': 'Croatia', + 'capital': 'Zagreb ', + 'latitude': 45.815011, + 'longitude': 15.981919 + }, + 'Cuba': { + 'name': 'Cuba', + 'capital': 'Havana', + 'latitude': 23.05407, + 'longitude': -82.345189 + }, + 'Curaçao': { + 'name': 'Curaçao', + 'capital': 'Willemstad', + 'latitude': 12.122422, + 'longitude': -68.882423 + }, + 'Cyprus': { + 'name': 'Cyprus', + 'capital': 'Nicosia', + 'latitude': 35.185566, + 'longitude': 33.382276 + }, + 'Czech Republic': { + 'name': 'Czech Republic', + 'capital': 'Prague', + 'latitude': 50.075538, + 'longitude': 14.4378 + }, + 'Denmark': { + 'name': 'Denmark', + 'capital': 'Copenhagen', + 'latitude': 55.676097, + 'longitude': 12.568337 + }, + 'Djibouti': { + 'name': 'Djibouti', + 'capital': 'Djibouti', + 'latitude': 11.572077, + 'longitude': 43.145647 + }, + 'Dominica': { + 'name': 'Dominica', + 'capital': 'Roseau', + 'latitude': 15.309168, + 'longitude': -61.379355 + }, + 'Dominican Republic': { + 'name': 'Dominican Republic', + 'capital': 'Santo Domingo', + 'latitude': 18.486058, + 'longitude': -69.931212 + }, + 'Ecuador': { + 'name': 'Ecuador', + 'capital': 'Quito', + 'latitude': -0.180653, + 'longitude': -78.467838 + }, + 'Egypt': { + 'name': 'Egypt', + 'capital': 'Cairo', + 'latitude': 30.04442, + 'longitude': 31.235712 + }, + 'El Salvador': { + 'name': 'El Salvador', + 'capital': 'San Salvador', + 'latitude': 13.69294, + 'longitude': -89.218191 + }, + 'Equatorial Guinea': { + 'name': 'Equatorial Guinea', + 'capital': 'Malabo', + 'latitude': 3.750412, + 'longitude': 8.737104 + }, + 'Eritrea': { + 'name': 'Eritrea', + 'capital': 'Asmara', + 'latitude': 15.322877, + 'longitude': 38.925052 + }, + 'Estonia': { + 'name': 'Estonia', + 'capital': 'Tallinn', + 'latitude': 59.436961, + 'longitude': 24.753575 + }, + 'Ethiopia': { + 'name': 'Ethiopia', + 'capital': 'Addis Ababa', + 'latitude': 8.980603, + 'longitude': 38.757761 + }, + 'Falkland Islands (Islas Malvinas)': { + 'name': 'Falkland Islands (Islas Malvinas)', + 'capital': 'Stanley', + 'latitude': -51.697713, + 'longitude': -57.851663 + }, + 'Faroe Islands': { + 'name': 'Faroe Islands', + 'capital': 'Tórshavn', + 'latitude': 62.007864, + 'longitude': -6.790982 + }, + 'Fiji': { + 'name': 'Fiji', + 'capital': 'Suva', + 'latitude': -18.124809, + 'longitude': 178.450079 + }, + 'Finland': { + 'name': 'Finland', + 'capital': 'Helsinki', + 'latitude': 60.173324, + 'longitude': 24.941025 + }, + 'France': { + 'name': 'France', + 'capital': 'Paris', + 'latitude': 48.856614, + 'longitude': 2.352222 + }, + 'French Guiana': { + 'name': 'French Guiana', + 'capital': 'Cayenne', + 'latitude': 4.92242, + 'longitude': -52.313453 + }, + 'French Polynesia': { + 'name': 'French Polynesia', + 'capital': 'Papeete', + 'latitude': -17.551625, + 'longitude': -149.558476 + }, + 'French Southern Territories': { + 'name': 'French Southern Territories', + 'capital': 'Saint-Pierre ', + 'latitude': -21.3419, + 'longitude': 55.4778 + }, + 'Gabon': { + 'name': 'Gabon', + 'capital': 'Libreville', + 'latitude': 0.416198, + 'longitude': 9.467268 + }, + 'Gambia': { + 'name': 'Gambia', + 'capital': 'Banjul', + 'latitude': 13.454876, + 'longitude': -16.579032 + }, + 'Georgia': { + 'name': 'Georgia', + 'capital': 'Tbilisi', + 'latitude': 41.715138, + 'longitude': 44.827096 + }, + 'Germany': { + 'name': 'Germany', + 'capital': 'Berlin', + 'latitude': 52.520007, + 'longitude': 13.404954 + }, + 'Ghana': { + 'name': 'Ghana', + 'capital': 'Accra', + 'latitude': 5.603717, + 'longitude': -0.186964 + }, + 'Gibraltar': { + 'name': 'Gibraltar', + 'capital': 'Gibraltar', + 'latitude': 36.140773, + 'longitude': -5.353599 + }, + 'Greece': { + 'name': 'Greece', + 'capital': 'Athens', + 'latitude': 37.983917, + 'longitude': 23.72936 + }, + 'Greenland': { + 'name': 'Greenland', + 'capital': 'Nuuk', + 'latitude': 64.18141, + 'longitude': -51.694138 + }, + 'Grenada': { + 'name': 'Grenada', + 'capital': "St. George's", + 'latitude': 12.056098, + 'longitude': -61.7488 + }, + 'Guadeloupe': { + 'name': 'Guadeloupe', + 'capital': 'Basse-Terre', + 'latitude': 16.014453, + 'longitude': -61.706411 + }, + 'Guam': { + 'name': 'Guam', + 'capital': 'Hagåtña', + 'latitude': 13.470891, + 'longitude': 144.751278 + }, + 'Guatemala': { + 'name': 'Guatemala', + 'capital': 'Guatemala City', + 'latitude': 14.634915, + 'longitude': -90.506882 + }, + 'Guernsey': { + 'name': 'Guernsey', + 'capital': 'St. Peter Port', + 'latitude': 49.455443, + 'longitude': -2.536871 + }, + 'Guinea': { + 'name': 'Guinea', + 'capital': 'Conakry', + 'latitude': 9.641185, + 'longitude': -13.578401 + }, + 'Guinea-Bissau': { + 'name': 'Guinea-Bissau', + 'capital': 'Bissau', + 'latitude': 11.881655, + 'longitude': -15.617794 + }, + 'Guyana': { + 'name': 'Guyana', + 'capital': 'Georgetown', + 'latitude': 6.801279, + 'longitude': -58.155125 + }, + 'Haiti': { + 'name': 'Haiti', + 'capital': 'Port-au-Prince', + 'latitude': 18.594395, + 'longitude': -72.307433 + }, + 'Honduras': { + 'name': 'Honduras', + 'capital': 'Tegucigalpa', + 'latitude': 14.072275, + 'longitude': -87.192136 + }, + 'Hong Kong': { + 'name': 'Hong Kong', + 'capital': 'Hong Kong', + 'latitude': 22.396428, + 'longitude': 114.109497 + }, + 'Hungary': { + 'name': 'Hungary', + 'capital': 'Budapest', + 'latitude': 47.497912, + 'longitude': 19.040235 + }, + 'Iceland': { + 'name': 'Iceland', + 'capital': 'Reykjavík', + 'latitude': 64.126521, + 'longitude': -21.817439 + }, + 'India': { + 'name': 'India', + 'capital': 'New Delhi', + 'latitude': 28.613939, + 'longitude': 77.209021 + }, + 'Indonesia': { + 'name': 'Indonesia', + 'capital': 'Jakarta', + 'latitude': -6.208763, + 'longitude': 106.845599 + }, + 'Iran': { + 'name': 'Iran', + 'capital': 'Tehran', + 'latitude': 35.689198, + 'longitude': 51.388974 + }, + 'Iraq': { + 'name': 'Iraq', + 'capital': 'Baghdad', + 'latitude': 33.312806, + 'longitude': 44.361488 + }, + 'Ireland': { + 'name': 'Ireland', + 'capital': 'Dublin', + 'latitude': 53.349805, + 'longitude': -6.26031 + }, + 'Isle of Man': { + 'name': 'Isle of Man', + 'capital': 'Douglas', + 'latitude': 54.152337, + 'longitude': -4.486123 + }, + 'Israel': { + 'name': 'Israel', + 'capital': 'Tel Aviv', + 'latitude': 32.0853, + 'longitude': 34.781768 + }, + 'Italy': { + 'name': 'Italy', + 'capital': 'Rome', + 'latitude': 41.902784, + 'longitude': 12.496366 + }, + 'Jamaica': { + 'name': 'Jamaica', + 'capital': 'Kingston', + 'latitude': 18.042327, + 'longitude': -76.802893 + }, + 'Japan': { + 'name': 'Japan', + 'capital': 'Tokyo', + 'latitude': 35.709026, + 'longitude': 139.731992 + }, + 'Jersey': { + 'name': 'Jersey', + 'capital': 'St. Helier', + 'latitude': 49.186823, + 'longitude': -2.106568 + }, + 'Jordan': { + 'name': 'Jordan', + 'capital': 'Amman', + 'latitude': 31.956578, + 'longitude': 35.945695 + }, + 'Kazakhstan': { + 'name': 'Kazakhstan', + 'capital': 'Astana', + 'latitude': 51.160523, + 'longitude': 71.470356 + }, + 'Kenya': { + 'name': 'Kenya', + 'capital': 'Nairobi', + 'latitude': -1.292066, + 'longitude': 36.821946 + }, + 'Kiribati': { + 'name': 'Kiribati', + 'capital': 'Tarawa Atoll', + 'latitude': 1.451817, + 'longitude': 172.971662 + }, + 'Kosovo': { + 'name': 'Kosovo', + 'capital': 'Pristina', + 'latitude': 42.662914, + 'longitude': 21.165503 + }, + 'Kuwait': { + 'name': 'Kuwait', + 'capital': 'Kuwait City', + 'latitude': 29.375859, + 'longitude': 47.977405 + }, + 'Kyrgyzstan': { + 'name': 'Kyrgyzstan', + 'capital': 'Bishkek', + 'latitude': 42.874621, + 'longitude': 74.569762 + }, + 'Laos': { + 'name': 'Laos', + 'capital': 'Vientiane', + 'latitude': 17.975706, + 'longitude': 102.633104 + }, + 'Latvia': { + 'name': 'Latvia', + 'capital': 'Riga', + 'latitude': 56.949649, + 'longitude': 24.105186 + }, + 'Lebanon': { + 'name': 'Lebanon', + 'capital': 'Beirut', + 'latitude': 33.888629, + 'longitude': 35.495479 + }, + 'Lesotho': { + 'name': 'Lesotho', + 'capital': 'Maseru', + 'latitude': -29.363219, + 'longitude': 27.51436 + }, + 'Liberia': { + 'name': 'Liberia', + 'capital': 'Monrovia', + 'latitude': 6.290743, + 'longitude': -10.760524 + }, + 'Libya': { + 'name': 'Libya', + 'capital': 'Tripoli', + 'latitude': 32.887209, + 'longitude': 13.191338 + }, + 'Liechtenstein': { + 'name': 'Liechtenstein', + 'capital': 'Vaduz', + 'latitude': 47.14103, + 'longitude': 9.520928 + }, + 'Lithuania': { + 'name': 'Lithuania', + 'capital': 'Vilnius', + 'latitude': 54.687156, + 'longitude': 25.279651 + }, + 'Luxembourg': { + 'name': 'Luxembourg', + 'capital': 'Luxembourg', + 'latitude': 49.611621, + 'longitude': 6.131935 + }, + 'Macau': { + 'name': 'Macau', + 'capital': 'Macau', + 'latitude': 22.166667, + 'longitude': 113.55 + }, + 'Macedonia': { + 'name': 'Macedonia', + 'capital': 'Skopje', + 'latitude': 41.997346, + 'longitude': 21.427996 + }, + 'Madagascar': { + 'name': 'Madagascar', + 'capital': 'Antananarivo', + 'latitude': -18.87919, + 'longitude': 47.507905 + }, + 'Malawi': { + 'name': 'Malawi', + 'capital': 'Lilongwe', + 'latitude': -13.962612, + 'longitude': 33.774119 + }, + 'Malaysia': { + 'name': 'Malaysia', + 'capital': 'Kuala Lumpur', + 'latitude': 3.139003, + 'longitude': 101.686855 + }, + 'Maldives': { + 'name': 'Maldives', + 'capital': 'Malé', + 'latitude': 4.175496, + 'longitude': 73.509347 + }, + 'Mali': { + 'name': 'Mali', + 'capital': 'Bamako', + 'latitude': 12.639232, + 'longitude': -8.002889 + }, + 'Malta': { + 'name': 'Malta', + 'capital': 'Valletta', + 'latitude': 35.898909, + 'longitude': 14.514553 + }, + 'Marshall Islands': { + 'name': 'Marshall Islands', + 'capital': 'Majuro', + 'latitude': 7.116421, + 'longitude': 171.185774 + }, + 'Martinique': { + 'name': 'Martinique', + 'capital': 'Fort-de-France', + 'latitude': 14.616065, + 'longitude': -61.05878 + }, + 'Mauritania': { + 'name': 'Mauritania', + 'capital': 'Nouakchott', + 'latitude': 18.07353, + 'longitude': -15.958237 + }, + 'Mauritius': { + 'name': 'Mauritius', + 'capital': 'Port Louis', + 'latitude': -20.166896, + 'longitude': 57.502332 + }, + 'Mayotte': { + 'name': 'Mayotte', + 'capital': 'Mamoudzou', + 'latitude': -12.780949, + 'longitude': 45.227872 + }, + 'Mexico': { + 'name': 'Mexico', + 'capital': 'Mexico City', + 'latitude': 19.432608, + 'longitude': -99.133208 + }, + 'Micronesia': { + 'name': 'Micronesia', + 'capital': 'Palikir', + 'latitude': 6.914712, + 'longitude': 158.161027 + }, + 'Moldova': { + 'name': 'Moldova', + 'capital': 'Chisinau', + 'latitude': 47.010453, + 'longitude': 28.86381 + }, + 'Monaco': { + 'name': 'Monaco', + 'capital': 'Monaco', + 'latitude': 43.737411, + 'longitude': 7.420816 + }, + 'Mongolia': { + 'name': 'Mongolia', + 'capital': 'Ulaanbaatar', + 'latitude': 47.886399, + 'longitude': 106.905744 + }, + 'Montenegro': { + 'name': 'Montenegro', + 'capital': 'Podgorica', + 'latitude': 42.43042, + 'longitude': 19.259364 + }, + 'Montserrat': { + 'name': 'Montserrat', + 'capital': 'Plymouth', + 'latitude': 16.706523, + 'longitude': -62.215738 + }, + 'Morocco': { + 'name': 'Morocco', + 'capital': 'Rabat', + 'latitude': 33.97159, + 'longitude': -6.849813 + }, + 'Mozambique': { + 'name': 'Mozambique', + 'capital': 'Maputo', + 'latitude': -25.891968, + 'longitude': 32.605135 + }, + 'Myanmar': { + 'name': 'Myanmar', + 'capital': 'Naypyidaw', + 'latitude': 19.763306, + 'longitude': 96.07851 + }, + 'Nagorno-Karabakh Republic': { + 'name': 'Nagorno-Karabakh Republic', + 'capital': 'Stepanakert', + 'latitude': 39.826385, + 'longitude': 46.763595 + }, + 'Namibia': { + 'name': 'Namibia', + 'capital': 'Windhoek', + 'latitude': -22.560881, + 'longitude': 17.065755 + }, + 'Nauru': { + 'name': 'Nauru', + 'capital': 'Yaren', + 'latitude': -0.546686, + 'longitude': 166.921091 + }, + 'Nepal': { + 'name': 'Nepal', + 'capital': 'Kathmandu', + 'latitude': 27.717245, + 'longitude': 85.323961 + }, + 'Netherlands': { + 'name': 'Netherlands', + 'capital': 'Amsterdam', + 'latitude': 52.370216, + 'longitude': 4.895168 + }, + 'Netherlands Antilles': { + 'name': 'Netherlands Antilles', + 'capital': 'Willemstad ', + 'latitude': 12.1091242, + 'longitude': -68.9316546 + }, + 'New Caledonia': { + 'name': 'New Caledonia', + 'capital': 'Nouméa', + 'latitude': -22.255823, + 'longitude': 166.450524 + }, + 'New Zealand': { + 'name': 'New Zealand', + 'capital': 'Wellington', + 'latitude': -41.28646, + 'longitude': 174.776236 + }, + 'Nicaragua': { + 'name': 'Nicaragua', + 'capital': 'Managua', + 'latitude': 12.114993, + 'longitude': -86.236174 + }, + 'Niger': { + 'name': 'Niger', + 'capital': 'Niamey', + 'latitude': 13.511596, + 'longitude': 2.125385 + }, + 'Nigeria': { + 'name': 'Nigeria', + 'capital': 'Abuja', + 'latitude': 9.076479, + 'longitude': 7.398574 + }, + 'Niue': { + 'name': 'Niue', + 'capital': 'Alofi', + 'latitude': -19.055371, + 'longitude': -169.917871 + }, + 'Norfolk Island': { + 'name': 'Norfolk Island', + 'capital': 'Kingston', + 'latitude': -29.056394, + 'longitude': 167.959588 + }, + 'North Korea': { + 'name': 'North Korea', + 'capital': 'Pyongyang', + 'latitude': 39.039219, + 'longitude': 125.762524 + }, + 'Northern Cyprus': { + 'name': 'Northern Cyprus', + 'capital': 'Nicosia', + 'latitude': 35.185566, + 'longitude': 33.382276 + }, + 'Northern Mariana Islands': { + 'name': 'Northern Mariana Islands', + 'capital': 'Saipan', + 'latitude': 15.177801, + 'longitude': 145.750967 + }, + 'Norway': { + 'name': 'Norway', + 'capital': 'Oslo', + 'latitude': 59.913869, + 'longitude': 10.752245 + }, + 'Oman': { + 'name': 'Oman', + 'capital': 'Muscat', + 'latitude': 23.58589, + 'longitude': 58.405923 + }, + 'Pakistan': { + 'name': 'Pakistan', + 'capital': 'Islamabad', + 'latitude': 33.729388, + 'longitude': 73.093146 + }, + 'Palau': { + 'name': 'Palau', + 'capital': 'Ngerulmud', + 'latitude': 7.500384, + 'longitude': 134.624289 + }, + 'Palestine': { + 'name': 'Palestine', + 'capital': 'Ramallah', + 'latitude': 31.9073509, + 'longitude': 35.5354719 + }, + 'Panama': { + 'name': 'Panama', + 'capital': 'Panama City', + 'latitude': 9.101179, + 'longitude': -79.402864 + }, + 'Papua New Guinea': { + 'name': 'Papua New Guinea', + 'capital': 'Port Moresby', + 'latitude': -9.4438, + 'longitude': 147.180267 + }, + 'Paraguay': { + 'name': 'Paraguay', + 'capital': 'Asuncion', + 'latitude': -25.26374, + 'longitude': -57.575926 + }, + 'Peru': { + 'name': 'Peru', + 'capital': 'Lima', + 'latitude': -12.046374, + 'longitude': -77.042793 + }, + 'Philippines': { + 'name': 'Philippines', + 'capital': 'Manila', + 'latitude': 14.599512, + 'longitude': 120.98422 + }, + 'Pitcairn Islands': { + 'name': 'Pitcairn Islands', + 'capital': 'Adamstown', + 'latitude': -25.06629, + 'longitude': -130.100464 + }, + 'Poland': { + 'name': 'Poland', + 'capital': 'Warsaw', + 'latitude': 52.229676, + 'longitude': 21.012229 + }, + 'Portugal': { + 'name': 'Portugal', + 'capital': 'Lisbon', + 'latitude': 38.722252, + 'longitude': -9.139337 + }, + 'Puerto Rico': { + 'name': 'Puerto Rico', + 'capital': 'San Juan', + 'latitude': 18.466334, + 'longitude': -66.105722 + }, + 'Qatar': { + 'name': 'Qatar', + 'capital': 'Doha', + 'latitude': 25.285447, + 'longitude': 51.53104 + }, + 'Réunion': { + 'name': 'Réunion', + 'capital': 'Saint-Denis', + 'latitude': -20.882057, + 'longitude': 55.450675 + }, + 'Romania': { + 'name': 'Romania', + 'capital': 'Bucharest', + 'latitude': 44.426767, + 'longitude': 26.102538 + }, + 'Russia': { + 'name': 'Russia', + 'capital': 'Moscow', + 'latitude': 55.755826, + 'longitude': 37.6173 + }, + 'Rwanda': { + 'name': 'Rwanda', + 'capital': 'Kigali', + 'latitude': -1.957875, + 'longitude': 30.112735 + }, + 'Saint Pierre and Miquelon': { + 'name': 'Saint Pierre and Miquelon', + 'capital': 'St. Pierre', + 'latitude': 46.775846, + 'longitude': -56.180636 + }, + 'Saint Vincent and the Grenadines': { + 'name': 'Saint Vincent and the Grenadines', + 'capital': 'Kingstown', + 'latitude': 13.160025, + 'longitude': -61.224816 + }, + 'Samoa': { + 'name': 'Samoa', + 'capital': 'Apia', + 'latitude': -13.850696, + 'longitude': -171.751355 + }, + 'San Marino': { + 'name': 'San Marino', + 'capital': 'San Marino', + 'latitude': 43.935591, + 'longitude': 12.447281 + }, + 'São Tomé and Príncipe': { + 'name': 'São Tomé and Príncipe', + 'capital': 'São Tomé', + 'latitude': 0.330192, + 'longitude': 6.733343 + }, + 'Saudi Arabia': { + 'name': 'Saudi Arabia', + 'capital': 'Riyadh', + 'latitude': 24.749403, + 'longitude': 46.902838 + }, + 'Senegal': { + 'name': 'Senegal', + 'capital': 'Dakar', + 'latitude': 14.764504, + 'longitude': -17.366029 + }, + 'Serbia': { + 'name': 'Serbia', + 'capital': 'Belgrade', + 'latitude': 44.786568, + 'longitude': 20.448922 + }, + 'Seychelles': { + 'name': 'Seychelles', + 'capital': 'Victoria', + 'latitude': -4.619143, + 'longitude': 55.451315 + }, + 'Sierra Leone': { + 'name': 'Sierra Leone', + 'capital': 'Freetown', + 'latitude': 8.465677, + 'longitude': -13.231722 + }, + 'Singapore': { + 'name': 'Singapore', + 'capital': 'Singapore', + 'latitude': 1.280095, + 'longitude': 103.850949 + }, + 'Slovakia': { + 'name': 'Slovakia', + 'capital': 'Bratislava', + 'latitude': 48.145892, + 'longitude': 17.107137 + }, + 'Slovenia': { + 'name': 'Slovenia', + 'capital': 'Ljubljana', + 'latitude': 46.056947, + 'longitude': 14.505751 + }, + 'Solomon Islands': { + 'name': 'Solomon Islands', + 'capital': 'Honiara', + 'latitude': -9.445638, + 'longitude': 159.9729 + }, + 'Somalia': { + 'name': 'Somalia', + 'capital': 'Mogadishu', + 'latitude': 2.046934, + 'longitude': 45.318162 + }, + 'South Africa': { + 'name': 'South Africa', + 'capital': 'Pretoria', + 'latitude': -25.747868, + 'longitude': 28.229271 + }, + 'South Georgia and the South Sandwich Islands': { + 'name': 'South Georgia and the South Sandwich Islands', + 'capital': 'King Edward Point', + 'latitude': -54.28325, + 'longitude': -36.493735 + }, + 'South Korea': { + 'name': 'South Korea', + 'capital': 'Seoul', + 'latitude': 37.566535, + 'longitude': 126.977969 + }, + 'South Ossetia': { + 'name': 'South Ossetia', + 'capital': 'Tskhinvali', + 'latitude': 42.22146, + 'longitude': 43.964405 + }, + 'South Sudan': { + 'name': 'South Sudan', + 'capital': 'Juba', + 'latitude': 4.859363, + 'longitude': 31.57125 + }, + 'Spain': { + 'name': 'Spain', + 'capital': 'Madrid', + 'latitude': 40.416775, + 'longitude': -3.70379 + }, + 'Sri Lanka': { + 'name': 'Sri Lanka', + 'capital': 'Sri Jayawardenepura Kotte', + 'latitude': 6.89407, + 'longitude': 79.902478 + }, + 'St. Barthélemy': { + 'name': 'St. Barthélemy', + 'capital': 'Gustavia', + 'latitude': 17.896435, + 'longitude': -62.852201 + }, + 'St. Kitts and Nevis': { + 'name': 'St. Kitts and Nevis', + 'capital': 'Basseterre', + 'latitude': 17.302606, + 'longitude': -62.717692 + }, + 'St. Lucia': { + 'name': 'St. Lucia', + 'capital': 'Castries', + 'latitude': 14.010109, + 'longitude': -60.987469 + }, + 'St. Martin': { + 'name': 'St. Martin', + 'capital': 'Marigot', + 'latitude': 18.067519, + 'longitude': -63.082466 + }, + 'Sudan': { + 'name': 'Sudan', + 'capital': 'Khartoum', + 'latitude': 15.500654, + 'longitude': 32.559899 + }, + 'Suriname': { + 'name': 'Suriname', + 'capital': 'Paramaribo', + 'latitude': 5.852036, + 'longitude': -55.203828 + }, + 'Svalbard and Jan Mayen': { + 'name': 'Svalbard and Jan Mayen', + 'capital': 'Longyearbyen ', + 'latitude': 78.062, + 'longitude': 22.055 + }, + 'Swaziland': { + 'name': 'Swaziland', + 'capital': 'Mbabane', + 'latitude': -26.305448, + 'longitude': 31.136672 + }, + 'Sweden': { + 'name': 'Sweden', + 'capital': 'Stockholm', + 'latitude': 59.329323, + 'longitude': 18.068581 + }, + 'Switzerland': { + 'name': 'Switzerland', + 'capital': 'Bern', + 'latitude': 46.947974, + 'longitude': 7.447447 + }, + 'Syria': { + 'name': 'Syria', + 'capital': 'Damascus', + 'latitude': 33.513807, + 'longitude': 36.276528 + }, + 'Taiwan': { + 'name': 'Taiwan', + 'capital': 'Taipei', + 'latitude': 25.032969, + 'longitude': 121.565418 + }, + 'Tajikistan': { + 'name': 'Tajikistan', + 'capital': 'Dushanbe', + 'latitude': 38.559772, + 'longitude': 68.787038 + }, + 'Tanzania': { + 'name': 'Tanzania', + 'capital': 'Dodoma', + 'latitude': -6.162959, + 'longitude': 35.751607 + }, + 'Thailand': { + 'name': 'Thailand', + 'capital': 'Bangkok', + 'latitude': 13.756331, + 'longitude': 100.501765 + }, + 'Timor-Leste': { + 'name': 'Timor-Leste', + 'capital': 'Dili', + 'latitude': -8.556856, + 'longitude': 125.560314 + }, + 'Togo': { + 'name': 'Togo', + 'capital': 'Lomé', + 'latitude': 6.172497, + 'longitude': 1.231362 + }, + 'Tokelau': { + 'name': 'Tokelau', + 'capital': 'Nukunonu', + 'latitude': -9.2005, + 'longitude': -171.848 + }, + 'Tonga': { + 'name': 'Tonga', + 'capital': 'Nukuʻalofa', + 'latitude': -21.139342, + 'longitude': -175.204947 + }, + 'Transnistria': { + 'name': 'Transnistria', + 'capital': 'Tiraspol', + 'latitude': 46.848185, + 'longitude': 29.596805 + }, + 'Trinidad and Tobago': { + 'name': 'Trinidad and Tobago', + 'capital': 'Port of Spain', + 'latitude': 10.654901, + 'longitude': -61.501926 + }, + 'Tristan da Cunha': { + 'name': 'Tristan da Cunha', + 'capital': 'Edinburgh of the Seven Seas', + 'latitude': -37.068042, + 'longitude': -12.311315 + }, + 'Tunisia': { + 'name': 'Tunisia', + 'capital': 'Tunis', + 'latitude': 36.806495, + 'longitude': 10.181532 + }, + 'Turkey': { + 'name': 'Turkey', + 'capital': 'Ankara', + 'latitude': 39.933364, + 'longitude': 32.859742 + }, + 'Turkmenistan': { + 'name': 'Turkmenistan', + 'capital': 'Ashgabat', + 'latitude': 37.960077, + 'longitude': 58.326063 + }, + 'Turks and Caicos Islands': { + 'name': 'Turks and Caicos Islands', + 'capital': 'Cockburn Town', + 'latitude': 21.467458, + 'longitude': -71.13891 + }, + 'Tuvalu': { + 'name': 'Tuvalu', + 'capital': 'Funafuti', + 'latitude': -8.520066, + 'longitude': 179.198128 + }, + 'U.S. Virgin Islands': { + 'name': 'U.S. Virgin Islands', + 'capital': 'Charlotte Amalie', + 'latitude': 18.3419, + 'longitude': -64.930701 + }, + 'Uganda': { + 'name': 'Uganda', + 'capital': 'Kampala', + 'latitude': 0.347596, + 'longitude': 32.58252 + }, + 'Ukraine': { + 'name': 'Ukraine', + 'capital': 'Kiev', + 'latitude': 50.4501, + 'longitude': 30.5234 + }, + 'United Arab Emirates': { + 'name': 'United Arab Emirates', + 'capital': 'Abu Dhabi', + 'latitude': 24.299174, + 'longitude': 54.697277 + }, + 'United Kingdom': { + 'name': 'United Kingdom', + 'capital': 'London', + 'latitude': 51.507351, + 'longitude': -0.127758 + }, + 'United States': { + 'name': 'United States', + 'capital': 'Washington', + 'latitude': 38.907192, + 'longitude': -77.036871 + }, + 'Uruguay': { + 'name': 'Uruguay', + 'capital': 'Montevideo', + 'latitude': -34.901113, + 'longitude': -56.164531 + }, + 'Uzbekistan': { + 'name': 'Uzbekistan', + 'capital': 'Tashkent', + 'latitude': 41.299496, + 'longitude': 69.240073 + }, + 'Vanuatu': { + 'name': 'Vanuatu', + 'capital': 'Port Vila', + 'latitude': -17.733251, + 'longitude': 168.327325 + }, + 'Vatican City': { + 'name': 'Vatican City', + 'capital': 'Vatican City', + 'latitude': 41.902179, + 'longitude': 12.453601 + }, + 'Venezuela': { + 'name': 'Venezuela', + 'capital': 'Caracas', + 'latitude': 10.480594, + 'longitude': -66.903606 + }, + 'Vietnam': { + 'name': 'Vietnam', + 'capital': 'Hanoi', + 'latitude': 21.027764, + 'longitude': 105.83416 + }, + 'Wallis and Futuna': { + 'name': 'Wallis and Futuna', + 'capital': 'Mata-Utu', + 'latitude': -13.282509, + 'longitude': -176.176447 + }, + 'Western Sahara': { + 'name': 'Western Sahara', + 'capital': 'El Aaiún', + 'latitude': 27.125287, + 'longitude': -13.1625 + }, + 'Yemen': { + 'name': 'Yemen', + 'capital': "Sana'a", + 'latitude': 15.369445, + 'longitude': 44.191007 + }, + 'Zambia': { + 'name': 'Zambia', + 'capital': 'Lusaka', + 'latitude': -15.387526, + 'longitude': 28.322817 + }, + 'Zimbabwe': { + 'name': 'Zimbabwe', + 'capital': 'Harare', + 'latitude': -17.825166, + 'longitude': 31.03351 + } +} + +def convert_lat_long(latitude, longitude, map_width, map_height): + + false_easting = 180 + radius = map_width / (2 * pi) + latitude = radians(latitude) + longitude = radians(longitude + false_easting) + + x_coord = longitude * radius + + y_dist_from_equator = radius * log(tan(pi / 4 + latitude / 2)) + y_coord = map_height / 2 - y_dist_from_equator + + coords = {'x': x_coord, 'y': y_coord} + + return coords + + +def get_available_regions(): + return regions.keys() + + +def get_region_coords(region, map_width=991, map_height=768): + coords = None + + try: + lookup = regions[region] + coords = convert_lat_long(lookup['latitude'], lookup['longitude'], map_width, map_height) + return coords + except KeyError: + print('Region not recognised: ', region) diff --git a/lib/tasks/project_components/mapping_data_gdp/species.csv b/lib/tasks/project_components/mapping_data_gdp/species.csv new file mode 100644 index 00000000..a6ec45d8 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_gdp/species.csv @@ -0,0 +1,238 @@ +Afghanistan,42 +Albania,130 +Algeria,135 +American Samoa,92 +Andorra,13 +Angola,146 +Anguilla,52 +Antarctica,6 +Antigua and Barbuda,55 +Argentina,256 +Armenia,114 +Aruba,32 +Australia,948 +Austria,118 +Azerbaijan,97 +Bahamas,86 +Bahrain,36 +Bangladesh,151 +Barbados,56 +Belarus,25 +Belgium,37 +Belize,117 +Benin,88 +Bermuda,72 +Bhutan,71 +Bolivia,231 +Bosnia and Herzegovina,91 +Botswana,28 +Bouvet Island,3 +Brazil,990 +British Indian Ocean Territory,85 +British Virgin Islands,67 +Brunei,193 +Bulgaria,104 +Burkina Faso,31 +Burundi,61 +Cape Verde,65 +Cambodia,255 +Cameroon,775 +Canada,122 +Cayman Islands,74 +Central African Republic,60 +Chad,43 +Chile,197 +China,1080 +Hong Kong,64 +Macau,11 +Christmas Island,39 +Cocos (Keeling) Islands,33 +Colombia,835 +Comoros,114 +Congo (Republic),134 +Cook Islands,75 +Costa Rica,340 +Côte d'Ivoire,249 +Croatia,176 +Cuba,339 +Curaçao,51 +Cyprus,72 +Czech Republic,53 +North Korea,78 +Congo (DRC),349 +Denmark,47 +Djibouti,98 +Dominica,66 +Dominican Republic,184 +Ecuador,2358 +Egypt,156 +El Salvador,86 +Equatorial Guinea,177 +Eritrea,122 +Estonia,23 +Swaziland,34 +Ethiopia,148 +Falkland Islands (Islas Malvinas),23 +Faroe Islands,21 +Fiji,291 +Finland,36 +France,278 +French Guiana,73 +French Polynesia,175 +French Southern Territories,25 +Gabon,270 +Gambia,67 +Georgia,120 +Germany,116 +Ghana,238 +Gibraltar,31 +Greece,374 +Greenland,23 +Grenada,54 +Guadeloupe,73 +Guam,99 +Guatemala,290 +Guernsey,5 +Guinea,185 +Guinea-Bissau,77 +Guyana,94 +Haiti,205 +Vatican City,1 +Honduras,301 +Hungary,66 +Iceland,27 +India,1052 +Indonesia,1281 +Iran,134 +Iraq,72 +Ireland,50 +Isle of Man,3 +Israel,174 +Italy,359 +Jamaica,311 +Japan,404 +Jersey,6 +Jordan,113 +Kazakhstan,82 +Kenya,480 +Kiribati,104 +Kuwait,49 +Kyrgyzstan,44 +Laos,209 +Latvia,30 +Lebanon,87 +Lesotho,18 +Liberia,172 +Libya,63 +Liechtenstein,6 +Lithuania,26 +Luxembourg,11 +Madagascar,1324 +Malawi,176 +Malaysia,1272 +Maldives,75 +Mali,42 +Malta,39 +Marshall Islands,101 +Martinique,48 +Mauritania,86 +Mauritius,257 +Mayotte,88 +Mexico,1162 +Micronesia,167 +Monaco,21 +Mongolia,41 +Montenegro,98 +Montserrat,55 +Morocco,207 +Mozambique,309 +Myanmar,321 +Namibia,115 +Nauru,82 +Nepal,104 +Netherlands,40 +New Caledonia,526 +New Zealand,199 +Nicaragua,144 +Niger,34 +Nigeria,361 +Niue,52 +Norfolk Island,44 +Northern Mariana Islands,102 +Norway,64 +Oman,99 +Pakistan,140 +Palau,182 +Panama,383 +Papua New Guinea,493 +Paraguay,59 +Peru,685 +Philippines,783 +Poland,58 +Portugal,281 +Puerto Rico,126 +Qatar,39 +South Korea,111 +Moldova,35 +Réunion,130 +Romania,104 +Russia,235 +Rwanda,62 +St. Barthélemy,31 +St. Kitts and Nevis,52 +St. Lucia,62 +Saint Pierre and Miquelon,12 +Saint Vincent and the Grenadines,58 +Samoa,93 +San Marino,1 +São Tomé and Príncipe,94 +Saudi Arabia,131 +Senegal,123 +Serbia,71 +Seychelles,439 +Sierra Leone,177 +Singapore,293 +Slovakia,54 +Slovenia,143 +Solomon Islands,245 +Somalia,175 +South Africa,581 +South Georgia and the South Sandwich Islands,9 +South Sudan,49 +Spain,617 +Sri Lanka,587 +Palestine,31 +Sudan,133 +Suriname,83 +Sweden,54 +Switzerland,74 +Syria,132 +Tajikistan,45 +Thailand,611 +Timor-Leste,24 +Togo,80 +Tokelau,49 +Tonga,79 +Trinidad and Tobago,69 +Tunisia,96 +Turkey,388 +Turkmenistan,54 +Turks and Caicos Islands,60 +Tuvalu,96 +Uganda,196 +Ukraine,102 +United Arab Emirates,56 +United Kingdom,102 +Tanzania,1082 +United States,1513 +U.S. Virgin Islands,58 +Uruguay,106 +Uzbekistan,59 +Vanuatu,137 +Venezuela,328 +Vietnam,616 +Wallis and Futuna,89 +Western Sahara,49 +Yemen,298 +Zambia,88 +Zimbabwe,89 diff --git a/lib/tasks/project_components/mapping_data_happiness/carbon.csv b/lib/tasks/project_components/mapping_data_happiness/carbon.csv new file mode 100644 index 00000000..8733659c --- /dev/null +++ b/lib/tasks/project_components/mapping_data_happiness/carbon.csv @@ -0,0 +1,141 @@ +Albania,4342.011,1.511 +Algeria,130493.653,3.158 +Angola,18021.394,0.605 +Argentina,183375.203,4.142 +Armenia,5165.593,1.763 +Australia,384583.857,15.632 +Austria,64872.394,7.376 +Azerbaijan,30805.851,3.124 +Bahrain,29813.834,19.969 +Bangladesh,78270.17,0.475 +Belarus,54070.453,5.687 +Belgium,90368.188,7.963 +Benin,6763.074,0.605 +Bolivia,21899.18,1.981 +Bosnia and Herzegovina,22327.978,6.367 +Botswana,7717.409,3.367 +Brazil,427632.717,2.043 +Brunei,6710.178,15.641 +Bulgaria,42819.932,6.051 +Côte d'Ivoire,10234.205,0.421 +Cambodia,10762.923,0.672 +Cameroon,6152.919,0.256 +Canada,547798.641,14.992 +Chile,86087.14,4.648 +China,9257933.9,6.678 +Hong Kong,44034.675,5.957 +Colombia,75291.911,1.535 +Congo (Republic),2847.335,0.541 +Costa Rica,7584.411,1.546 +Croatia,16193.172,3.925 +Cuba,26215.665,2.283 +Curaçao,3748.132,23.28 +Cyprus,6367.874,7.448 +Czech Republic,101682.752,9.602 +North Korea,19579.698,0.768 +Congo (DRC),2201.742,0.027 +Denmark,31263.57,5.421 +Dominican Republic,21430.38,1.99 +Ecuador,34299.317,2.063 +Egypt,209219.059,2.145 +El Salvador,5735.668,0.899 +Eritrea,632.105,0.125 +Estonia,15972.029,12.137 +Ethiopia,13059.815,0.124 +Finland,42598.175,7.734 +France,306123.541,4.565 +Gabon,3367.911,1.663 +Georgia,8720.3,2.346 +Germany,718794.085,8.696 +Ghana,13779.635,0.478 +Gibraltar,703.9,20.703 +Greece,63213.31,5.878 +Guatemala,15703.161,0.928 +Haiti,3293.125,0.3 +Honduras,9426.74,1.017 +Hungary,45783.636,4.678 +Iceland,2173.307,6.336 +India,2161567.072,1.614 +Indonesia,496406.275,1.88 +Iran,567123.294,6.987 +Iraq,139877.659,3.655 +Ireland,35720.302,7.439 +Israel,63766.189,7.322 +Italy,321481.224,5.31 +Jamaica,6971.666,2.412 +Japan,1132435.4,8.938 +Jordan,25550.14,2.633 +Kazakhstan,255767.646,14.179 +Kenya,16264.973,0.327 +Kosovo,8168.55,4.461 +Kuwait,89420.615,21.615 +Kyrgyzstan,8909.263,1.437 +Latvia,6679.644,3.441 +Lebanon,26931.044,4.428 +Libya,41528.35,6.514 +Lithuania,10811.096,3.831 +Luxembourg,8631.187,14.458 +Malaysia,211046.967,6.674 +Malta,1516.276,3.261 +Mauritius,4182.138,3.306 +Mexico,445991.937,3.615 +Mongolia,19276,6.267 +Montenegro,2206.233,3.547 +Morocco,58149.86,1.627 +Mozambique,7624.932,0.257 +Myanmar,30404.919,0.57 +Namibia,4037.15,1.593 +Nepal,10113.953,0.345 +Netherlands,155574.278,9.081 +New Zealand,32241.597,6.673 +Nicaragua,5106.281,0.821 +Niger,2048.704,0.095 +Nigeria,85988.513,0.45 +Norway,34760.858,6.587 +Oman,65498.56,14.128 +Pakistan,183447.068,0.931 +Panama,9612.198,2.345 +Paraguay,7654.689,1.124 +Peru,49693.643,1.545 +Philippines,126487.694,1.206 +Poland,305841.991,7.96 +Portugal,50757.815,4.928 +Qatar,80116.551,30.359 +South Korea,600034.367,11.663 +Moldova,7526.673,2.12 +Romania,70788.76,3.614 +Russia,1536878.825,10.636 +Saudi Arabia,532181.611,16.157 +Senegal,8311.532,0.524 +Serbia,46129.569,6.569 +Singapore,47407.144,8.447 +Slovakia,32212.012,5.924 +Slovenia,13410.666,6.491 +South Africa,421682.392,7.435 +South Sudan,1549.031,0.123 +Spain,253423.277,5.446 +Sri Lanka,23103.271,1.077 +Sudan,18777.895,0.463 +Suriname,1928.134,3.425 +Sweden,37643.785,3.743 +Switzerland,37135.572,4.394 +Syria,23031.045,1.261 +Tajikistan,5843.657,0.655 +Thailand,244254.785,3.538 +Togo,2082.434,0.267 +Trinidad and Tobago,18007.573,13.154 +Tunisia,26156.972,2.268 +Turkey,378631.09,4.714 +Turkmenistan,68998.881,11.983 +Ukraine,171300.035,3.821 +United Arab Emirates,196510.174,20.905 +United Kingdom,358731.281,5.432 +Tanzania,10131.79,0.177 +United States,4761301.727,14.606 +Uruguay,5872.957,1.699 +Uzbekistan,81156.397,2.506 +Venezuela,113717.543,3.556 +Vietnam,191243.601,2.002 +Yemen,8919.998,0.316 +Zambia,6007.872,0.351 +Zimbabwe,9714.938,0.588 diff --git a/lib/tasks/project_components/mapping_data_happiness/gdp.csv b/lib/tasks/project_components/mapping_data_happiness/gdp.csv new file mode 100644 index 00000000..a7b6d53a --- /dev/null +++ b/lib/tasks/project_components/mapping_data_happiness/gdp.csv @@ -0,0 +1,207 @@ +Aruba,3056424581 +Afghanistan,18869945678 +Angola,1.22124E+11 +Albania,13019693451 +Andorra,3000180750 +United Arab Emirates,3.85606E+11 +Argentina,6.43629E+11 +Armenia,11527458566 +American Samoa,602000000 +Antigua and Barbuda,1467977778 +Australia,1.32919E+12 +Austria,4.17238E+11 +Azerbaijan,40865558912 +Burundi,3172292379 +Belgium,5.02698E+11 +Benin,12701656931 +Burkina Faso,14106956830 +Bangladesh,2.49711E+11 +Bulgaria,58971520599 +Bahrain,35473776596 +Bahamas,12490700000 +Bosnia and Herzegovina,18080118128 +Belarus,54726595249 +Belize,1836600000 +Bermuda,7142316000 +Bolivia,37508642165 +Brazil,2.06283E+12 +Barbados,4978000000 +Brunei,12128104859 +Bhutan,2450364928 +Botswana,17405588070 +Central African Republic,2072350151 +Canada,1.64988E+12 +Switzerland,6.7995E+11 +Chile,2.77045E+11 +China,1.23104E+13 +Côte d'Ivoire,51588158718 +Cameroon,35009262788 +Congo (DRC),38019265626 +Congo (Republic),11198674674 +Colombia,3.11884E+11 +Comoros,1077439663 +Costa Rica,58481858043 +Cuba,96851000000 +Cayman Islands,5153091158 +Cyprus,22729184365 +Czech Republic,2.18629E+11 +Germany,3.6826E+12 +Djibouti,2751461056 +Dominica,519837037 +Denmark,3.32121E+11 +Dominican Republic,79997975623 +Algeria,1.70163E+11 +Ecuador,1.04296E+11 +Egypt,2.35734E+11 +Eritrea, +Spain,1.31254E+12 +Estonia,26951648829 +Ethiopia,81770791971 +Finland,2.55232E+11 +Fiji,5353404419 +France,2.59515E+12 +Faroe Islands,2905102304 +Micronesia,366666800 +Gabon,14929488771 +United Kingdom,2.66623E+12 +Georgia,16242916916 +Ghana,58998132330 +Gibraltar, +Guinea,10324668267 +Gambia,1504909753 +Guinea-Bissau,1350177128 +Equatorial Guinea,12200914930 +Greece,2.03588E+11 +Grenada,1125685185 +Greenland,2826651926 +Guatemala,71612352645 +Guam,5851000000 +Guyana,4748174334 +Hong Kong,3.41244E+11 +Honduras,23136232230 +Croatia,55481644098 +Haiti,14213814583 +Hungary,1.42962E+11 +Indonesia,1.01562E+12 +Isle of Man,6979581725 +India,2.65275E+12 +Ireland,3.35663E+11 +Iran,4.45345E+11 +Iraq,1.95473E+11 +Iceland,24488176541 +Israel,3.53253E+11 +Italy,1.9618E+12 +Jamaica,14806340821 +Jordan,41408960787 +Japan,4.86686E+12 +Kazakhstan,1.66806E+11 +Kenya,78965004656 +Kyrgyzstan,7702934800 +Cambodia,22177200512 +Kiribati,187276210.9 +St. Kitts and Nevis,996944444.4 +South Korea,1.6239E+12 +Kuwait,1.20707E+11 +Laos,16853087485 +Lebanon,53140638269 +Liberia,3285455000 +Libya,37883243650 +St. Lucia,1999090407 +Liechtenstein,6552858739 +Sri Lanka,87428125558 +Lesotho,2405289384 +Lithuania,47758736932 +Luxembourg,64181944723 +Latvia,30458763246 +Macau,50751059058 +Morocco,1.09683E+11 +Monaco,6431314957 +Moldova,9669759987 +Madagascar,13176313233 +Maldives,4754352301 +Mexico,1.15891E+12 +Marshall Islands,212881000 +Mali,15365627045 +Malta,13146963159 +Myanmar,68945867478 +Montenegro,4844606146 +Mongolia,11425755280 +Northern Mariana Islands,1601000000 +Mozambique,13219084261 +Mauritania,6758390729 +Mauritius,13259351418 +Malawi,6303292264 +Malaysia,3.19112E+11 +Namibia,12741746524 +New Caledonia, +Niger,11189541083 +Nigeria,3.75746E+11 +Nicaragua,13785909906 +Netherlands,8.3387E+11 +Norway,3.98394E+11 +Nepal,25180583770 +Nauru,109585941.6 +New Zealand,2.05416E+11 +Oman,70598026283 +Pakistan,3.04567E+11 +Panama,62219000000 +Peru,2.11007E+11 +Philippines,3.28481E+11 +Palau,286106800 +Papua New Guinea,22742613549 +Poland,5.26509E+11 +Puerto Rico,1.03446E+11 +North Korea, +Portugal,2.21358E+11 +Paraguay,39008900332 +French Polynesia, +Qatar,1.61099E+11 +Romania,2.11695E+11 +Russia,1.5742E+12 +Rwanda,9253098954 +Saudi Arabia,6.88586E+11 +Sudan,45021077955 +Senegal,20996564752 +Singapore,3.41863E+11 +Solomon Islands,1483758907 +Sierra Leone,3739577973 +El Salvador,24979200000 +San Marino,1528630707 +Somalia, +Serbia,44179055280 +South Sudan, +Suriname,3216207914 +Slovakia,95494424979 +Slovenia,48586603448 +Sweden,5.41019E+11 +Swaziland,4402973000 +Seychelles,1524486800 +Syria, +Turks and Caicos Islands,1022365000 +Chad,10000395242 +Togo,4819949975 +Thailand,4.56295E+11 +Tajikistan,7157865188 +Turkmenistan,37926285714 +Timor-Leste,1599338100 +Tonga,460379145 +Trinidad and Tobago,22474828527 +Tunisia,39802430355 +Turkey,8.58989E+11 +Tuvalu,40619251.99 +Tanzania,53320625959 +Uganda,30756466548 +Ukraine,1.1219E+11 +Uruguay,59530088537 +United States,1.95194E+13 +Uzbekistan,59159945321 +Venezuela, +British Virgin Islands, +Vietnam,2.2378E+11 +Vanuatu,880043553.7 +Samoa,832153612.6 +Kosovo,7245707185 +Yemen,26736139802 +South Africa,3.49554E+11 +Zambia,25868165345 +Zimbabwe,22040902300 diff --git a/lib/tasks/project_components/mapping_data_happiness/happy.csv b/lib/tasks/project_components/mapping_data_happiness/happy.csv new file mode 100644 index 00000000..90b257fa --- /dev/null +++ b/lib/tasks/project_components/mapping_data_happiness/happy.csv @@ -0,0 +1,155 @@ +Norway,1,7.537000179 +Denmark,2,7.521999836 +Iceland,3,7.504000187 +Switzerland,4,7.493999958 +Finland,5,7.468999863 +Netherlands,6,7.376999855 +Canada,7,7.315999985 +New Zealand,8,7.31400013 +Sweden,9,7.28399992 +Australia,10,7.28399992 +Israel,11,7.212999821 +Costa Rica,12,7.078999996 +Austria,13,7.006000042 +United States,14,6.993000031 +Ireland,15,6.977000237 +Germany,16,6.951000214 +Belgium,17,6.890999794 +Luxembourg,18,6.862999916 +United Kingdom,19,6.714000225 +Chile,20,6.65199995 +United Arab Emirates,21,6.647999763 +Brazil,22,6.635000229 +Czech Republic,23,6.609000206 +Argentina,24,6.598999977 +Mexico,25,6.578000069 +Singapore,26,6.572000027 +Malta,27,6.52699995 +Uruguay,28,6.453999996 +Guatemala,29,6.453999996 +Panama,30,6.452000141 +France,31,6.441999912 +Thailand,32,6.423999786 +Taiwan,33,6.421999931 +Spain,34,6.402999878 +Qatar,35,6.375 +Colombia,36,6.356999874 +Saudi Arabia,37,6.343999863 +Trinidad and Tobago,38,6.168000221 +Kuwait,39,6.105000019 +Slovakia,40,6.09800005 +Bahrain,41,6.086999893 +Malaysia,42,6.084000111 +Nicaragua,43,6.071000099 +Ecuador,44,6.007999897 +El Salvador,45,6.002999783 +Poland,46,5.97300005 +Uzbekistan,47,5.971000195 +Italy,48,5.964000225 +Russia,49,5.962999821 +Belize,50,5.955999851 +Japan,51,5.920000076 +Lithuania,52,5.90199995 +Algeria,53,5.872000217 +Latvia,54,5.849999905 +South Korea,55,5.837999821 +Moldova,56,5.837999821 +Romania,57,5.824999809 +Bolivia,58,5.822999954 +Turkmenistan,59,5.822000027 +Kazakhstan,60,5.818999767 +Northern Cyprus,61,5.809999943 +Slovenia,62,5.757999897 +Peru,63,5.715000153 +Mauritius,64,5.629000187 +Cyprus,65,5.620999813 +Estonia,66,5.611000061 +Belarus,67,5.568999767 +Libya,68,5.525000095 +Turkey,69,5.5 +Paraguay,70,5.493000031 +Hong Kong,71,5.472000122 +Philippines,72,5.429999828 +Serbia,73,5.394999981 +Jordan,74,5.335999966 +Hungary,75,5.323999882 +Jamaica,76,5.31099987 +Croatia,77,5.293000221 +Kosovo,78,5.278999805 +China,79,5.272999763 +Pakistan,80,5.269000053 +Indonesia,81,5.262000084 +Venezuela,82,5.25 +Montenegro,83,5.236999989 +Morocco,84,5.235000134 +Azerbaijan,85,5.234000206 +Dominican Republic,86,5.230000019 +Greece,87,5.227000237 +Lebanon,88,5.224999905 +Portugal,89,5.195000172 +Bosnia and Herzegovina,90,5.18200016 +Honduras,91,5.181000233 +Macedonia,92,5.175000191 +Somalia,93,5.151000023 +Vietnam,94,5.073999882 +Nigeria,95,5.073999882 +Tajikistan,96,5.040999889 +Bhutan,97,5.011000156 +Kyrgyzstan,98,5.004000187 +Nepal,99,4.961999893 +Mongolia,100,4.954999924 +South Africa,101,4.828999996 +Tunisia,102,4.804999828 +Palestine,103,4.775000095 +Egypt,104,4.735000134 +Bulgaria,105,4.714000225 +Sierra Leone,106,4.709000111 +Cameroon,107,4.695000172 +Iran,108,4.691999912 +Albania,109,4.644000053 +Bangladesh,110,4.607999802 +Namibia,111,4.573999882 +Kenya,112,4.552999973 +Mozambique,113,4.550000191 +Myanmar,114,4.545000076 +Senegal,115,4.534999847 +Zambia,116,4.513999939 +Iraq,117,4.497000217 +Gabon,118,4.465000153 +Ethiopia,119,4.460000038 +Sri Lanka,120,4.440000057 +Armenia,121,4.375999928 +India,122,4.315000057 +Mauritania,123,4.291999817 +Congo (Republic),124,4.290999889 +Georgia,125,4.285999775 +Congo (DRC),126,4.28000021 +Mali,127,4.190000057 +Côte d'Ivoire,128,4.179999828 +Cambodia,129,4.168000221 +Sudan,130,4.138999939 +Ghana,131,4.119999886 +Ukraine,132,4.096000195 +Uganda,133,4.080999851 +Burkina Faso,134,4.032000065 +Niger,135,4.027999878 +Malawi,136,3.970000029 +Chad,137,3.936000109 +Zimbabwe,138,3.875 +Lesotho,139,3.808000088 +Angola,140,3.795000076 +Afghanistan,141,3.79399991 +Botswana,142,3.766000032 +Benin,143,3.657000065 +Madagascar,144,3.644000053 +Haiti,145,3.602999926 +Yemen,146,3.592999935 +South Sudan,147,3.59100008 +Liberia,148,3.532999992 +Guinea,149,3.506999969 +Togo,150,3.494999886 +Rwanda,151,3.470999956 +Syria,152,3.461999893 +Tanzania,153,3.348999977 +Burundi,154,2.904999971 +Central African Republic,155,2.693000078 diff --git a/lib/tasks/project_components/mapping_data_happiness/ink_map.jpg b/lib/tasks/project_components/mapping_data_happiness/ink_map.jpg new file mode 100644 index 00000000..655cd278 Binary files /dev/null and b/lib/tasks/project_components/mapping_data_happiness/ink_map.jpg differ diff --git a/lib/tasks/project_components/mapping_data_happiness/main.py b/lib/tasks/project_components/mapping_data_happiness/main.py new file mode 100644 index 00000000..b33bebb2 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_happiness/main.py @@ -0,0 +1,74 @@ +#!/bin/python3 +from p5 import * +from regions import get_region_coords +from random import randint + +region_list = [] +colours = {} + + +def setup(): +# Put code to run once here + global map + load_data('happy.csv') + size(991, 768) + map = load_image('tech_map.jpg') + + +def draw(): +# Put code to run every frame here + image( + map, # The image to draw + 0, # The x of the top-left corner + 0, # The y of the top-left corner + width, # The width of the image + height # The height of the image + ) + draw_data() + + +def mouse_pressed(): +# Put code to run when the mouse is pressed here + pixel_colour = Color(get(mouse_x, mouse_y)) + if pixel_colour in colours: + facts = colours[pixel_colour] + print(facts['name']) + print(facts['happiness rank']) + else: + print('Region not detected') + + +def load_data(file_name): + with open(file_name) as f: + for line in f: + #print(line) + info = line.split(',') + region_dict = { + 'name': info[0], + 'happiness rank': int(info[1]), + 'happiness score': float(info[2]) + } + #print(region_dict) + region_list.append(region_dict) + + +def draw_pin(x, y, color): + no_stroke() + fill(color) + ellipse(x, y, 10, 10) + + +def draw_data(): + i = 255 + for region in region_list: + region_name = region['name'] # Get the name of the region + region_coords = get_region_coords(region_name) # Use the name to get coordinates + region_x = region_coords['x'] # Get the x coordinate + region_y = region_coords['y'] # Get the y coordinate + region_colour = Color(i, 100, 0) # Set the pin colour + colours[region_colour] = region + draw_pin(region_x, region_y, region_colour) + i -= 1 + + +run() diff --git a/lib/tasks/project_components/mapping_data_happiness/mercator.jpeg b/lib/tasks/project_components/mapping_data_happiness/mercator.jpeg new file mode 100644 index 00000000..c964a51d Binary files /dev/null and b/lib/tasks/project_components/mapping_data_happiness/mercator.jpeg differ diff --git a/lib/tasks/project_components/mapping_data_happiness/mercator_bw.png b/lib/tasks/project_components/mapping_data_happiness/mercator_bw.png new file mode 100644 index 00000000..2123563e Binary files /dev/null and b/lib/tasks/project_components/mapping_data_happiness/mercator_bw.png differ diff --git a/lib/tasks/project_components/mapping_data_happiness/old_map.jpg b/lib/tasks/project_components/mapping_data_happiness/old_map.jpg new file mode 100644 index 00000000..fe2e66ed Binary files /dev/null and b/lib/tasks/project_components/mapping_data_happiness/old_map.jpg differ diff --git a/lib/tasks/project_components/mapping_data_happiness/olympics.csv b/lib/tasks/project_components/mapping_data_happiness/olympics.csv new file mode 100644 index 00000000..628cdc92 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_happiness/olympics.csv @@ -0,0 +1,21 @@ +United States,4 +United Kingdom,3 +Greece,3 +France,2 +Germany,2 +Australia,2 +Russia,1 +Italy,1 +Sweden,1 +China,1 +Japan,2 +Finland,1 +Canada,1 +Netherlands,1 +South Korea,1 +Belgium,1 +Spain,1 +Brazil,1 +Sweden,1 +Belgium,1 +Mexico,1 diff --git a/lib/tasks/project_components/mapping_data_happiness/pop.csv b/lib/tasks/project_components/mapping_data_happiness/pop.csv new file mode 100644 index 00000000..2f35a02a --- /dev/null +++ b/lib/tasks/project_components/mapping_data_happiness/pop.csv @@ -0,0 +1,184 @@ +Afghanistan,38928346,60,18,25 +Albania,2877797,105,36,63 +Algeria,43851044,18,29,73 +Andorra,77265,164,45,88 +Antigua and Barbuda,97929,223,34,26 +Argentina,45195774,17,32,93 +Armenia,2963243,104,35,63 +Aruba,106766,593,41,44 +Australia,25499884,3,38,86 +Austria,9006398,109,43,57 +Azerbaijan,10139177,123,32,56 +Bahamas,393244,39,32,86 +Bahrain,1701575,2239,32,89 +Bangladesh,164689383,1265,28,39 +Barbados,287375,668,40,31 +Belarus,9449323,47,40,79 +Belgium,11589623,383,42,98 +Belize,397628,17,24,46 +Benin,12123200,108,19,48 +Bhutan,771608,20,28,46 +Bolivia,11673021,11,26,69 +Bosnia and Herzegovina,3280819,64,43,52 +Brazil,212559417,25,33,88 +Brunei,437479,83,32,80 +Bulgaria,6948445,64,45,76 +Burkina Faso,20903273,76,18,31 +Cape Verde,554441,138,27.6,68 +Cambodia,16718965,95,26,24 +Cameroon,26545863,56,19,56 +Canada,37742154,4,41,81 +Central African Republic,37742154,8,18,43 +Chad,16302699,13,16.6,23.3 +Chile,19116201,26,35,85 +Hong Kong,7496981,7140,45,100 +China,1439323776,153,38,61 +Colombia,50882891,46,31,80 +Congo (Republic),5518087,16,19,70 +Congo (DRC),89561403,40,17,46 +Costa Rica,5094118,100,33,80 +Côte d'Ivoire,26378274,83,19,51 +Croatia,4105267,73,44,58 +Cuba,11326616,106,42,78 +Cyprus,1207359,131,37,67 +Czech Republic,10708981,139,43,74 +Denmark,5792202,137,42,88 +Djibouti,988000,43,27,79 +Dominica,71986,96,33.5,74 +Dominican Republic,10847910,225,28,85 +Ecuador,17643054,71,28,63 +Egypt,102334404,103,25,43 +El Salvador,6486205,313,27.6,73.4 +Equatorial Guinea,1402985,50,22,73 +Eritrea,3546421,35,19.2,63.3 +Estonia,1326535,31,42,68 +Swaziland,1160164,67,21,30 +Ethiopia,114963588,115,19,21 +Faroe Islands,48873,35,38,88 +Fiji,896445,49,27.9,59.1 +Finland,5540720,18,43,86 +France,65273511,119,42,82 +French Guiana,298682,4,25,87 +Gabon,2225734,9,23,87 +Gambia,2416668,239,18,59 +Georgia,3989167,57,38,58 +Germany,83783942,240,46,76 +Ghana,31072940,137,22,57 +Greece,10423054,81,46,85 +Grenada,112523,331,32,35.5 +Greenland,56770,0,34,87 +Guadeloupe,400124,237,44,96 +Guam,168775,313,31,95 +Guatemala,17915568,167,23,52 +Guernsey,70000,965,44,86 +Guinea,13132795,53,18,39 +Guinea-Bissau,1968001,70,18.8,44.9 +Guyana,786552,4,27,27 +Haiti,11402528,414,24,56.9 +Vatican City,801,2003,40,100 +Honduras,9904607,89,24,57 +Hungary,9660351,107,43,72 +Iceland,341243,3,37,94 +India,1380004385,464,28,35 +Indonesia,273523615,151,30,56 +Iran,83992949,52,32,76 +Iraq,40222493,93,21,73 +Ireland,4937786,72,38,63 +Israel,8655535,400,30,93 +Italy,60461826,206,47,69 +Jamaica,2961167,273,31,55 +Japan,126476461,347,48,92 +Jersey,106800,819,38,98 +Jordan,10203134,115,24,91 +Kazakhstan,18776707,7,31,58 +Kenya,53771296,94,20,28 +Kosovo,1810463,159,29,65 +Kuwait,4270571,240,37,92 +Kyrgyzstan,6524195,34,26,36 +Laos,7275560,32,24.4,35.7 +Latvia,1886198,30,44,69 +Lebanon,6825445,667,30,78 +Liberia,5057681,53,19,53 +Libya,6847352,4,28.8,78.2 +Liechtenstein,38128,109,41,15 +Lithuania,2722289,43,45,71 +Luxembourg,625978,242,40,88 +Madagascar,27691018,48,19.6,38.5 +Malaysia,32365999,99,30,78 +Maldives,540544,1802,30,35 +Mali,20250833,17,16.3,44 +Malta,441543,1380,43,93 +Martinique,375265,354,47,92 +Mauritania,4649658,5,20,57 +Mauritius,1271768,626,37,41 +Mayotte,272815,728,20,46 +Mexico,128932753,66,29,84 +Moldova,4033963,123,38,43 +Monaco,39242,26337,54,100 +Mongolia,3278290,2,28,67 +Montenegro,628066,47,39,68 +Morocco,36910560,83,30,64 +Mozambique,31255435,40,17.6,38.3 +Namibia,2540905,3,22,55 +Nepal,29136808,203,25,21 +Curaçao,164093,370,41.6,88.7 +Netherlands,17134872,508,43,92 +New Zealand,4822233,18,38,87 +Nicaragua,6624554,55,26.5,57.2 +Niger,24206644,19,15.2,16.5 +Nigeria,206139589,226,18,52 +Norway,5421241,15,40,83 +Oman,5106626,16,31,87 +Pakistan,220892340,287,23,35 +Panama,4314767,58,30,68 +Paraguay,7132538,18,26,62 +Peru,32971854,26,31,79 +Philippines,109581078,368,26,47 +Poland,37846611,124,42,60 +Portugal,10196709,111,46,66 +Puerto Rico,2860853,323,44,88 +Qatar,2881053,248,32,96 +Réunion,895312,358,36,100 +Romania,19237691,84,43,55 +Russia,145934462,9,40,74 +Rwanda,12952218,525,20,18 +St. Kitts and Nevis,53199,205,34.8,32.9 +St. Lucia,183627,301,34,19 +Saint Vincent and the Grenadines,115000,307,33,78 +San Marino,33931,566,47,97 +Saudi Arabia,34813871,16,32,84 +Senegal,16743927,87,19,49 +Serbia,8737371,100,42,56 +Seychelles,98347,214,34,56 +Singapore,5850342,8358,42,99 +Slovakia,5459642,114,41,54 +Slovenia,2078938,103,45,55 +Somalia,15893222,25,17,47 +South Africa,59308690,49,28,67 +South Korea,51269185,527,44,82 +Spain,46754778,94,45,80 +Sri Lanka,21413249,341,34,18 +Sudan,43849260,25,20,35 +Suriname,586632,4,29,65 +Sweden,10099265,25,41,88 +Switzerland,8654622,219,43,74 +Syria,17390388,95,25.6,60 +Taiwan,23816775,673,42,79 +Tanzania,59734218,67,18,37 +Thailand,69799978,137,40,51 +Timor-Leste,1318445,89,20.8,32.8 +Togo,8278724,152,19,43 +Trinidad and Tobago,1399488,273,36,52 +Tunisia,11818619,76,33,70 +Turkey,84339067,110,32,76 +United States,331002651,36,38,83 +Uganda,45741007,229,16.7,25.7 +Ukraine,43733762,75,41,69 +United Arab Emirates,9890402,118,33,86 +United Kingdom,67886011,281,40,83 +Uruguay,3473730,20,36,96 +Uzbekistan,33469203,79,28,50 +Venezuela,28435940,32,30,80 +Vietnam,97338579,314,32,38 +Zambia,18383955,25,18,45 +Zimbabwe,14862924,38,18.7,38.4 diff --git a/lib/tasks/project_components/mapping_data_happiness/project_config.yml b/lib/tasks/project_components/mapping_data_happiness/project_config.yml new file mode 100644 index 00000000..d57622c6 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_happiness/project_config.yml @@ -0,0 +1,50 @@ +NAME: "Mapping Data: World Happiness Measures" +IDENTIFIER: "world-happiness-measures" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "regions" + extension: "py" + location: "regions.py" + index: 1 + default: false + - name: "pop" + extension: "csv" + location: "pop.csv" + index: 2 + default: false + - name: "olympics" + extension: "csv" + location: "olympics.csv" + index: 3 + default: false + - name: "carbon" + extension: "csv" + location: "carbon.csv" + index: 4 + default: false + - name: "species" + extension: "csv" + location: "species.csv" + index: 5 + default: false + - name: "gdp" + extension: "csv" + location: "gdp.csv" + index: 6 + default: false + - name: "happy" + extension: "csv" + location: "happy.csv" + index: 7 + default: false + +IMAGES: + - "ink_map.jpg" + - "mercator.jpeg" + - "mercator_bw.png" + - "old_map.jpg" + - "tech_map.jpg" diff --git a/lib/tasks/project_components/mapping_data_happiness/regions.py b/lib/tasks/project_components/mapping_data_happiness/regions.py new file mode 100644 index 00000000..b5e840fd --- /dev/null +++ b/lib/tasks/project_components/mapping_data_happiness/regions.py @@ -0,0 +1,1548 @@ +#!/bin/python3 +from math import radians, pi, log, tan + +regions = { + 'Abkhazia': { + 'name': 'Abkhazia', + 'capital': 'Sukhumi', + 'latitude': 43.001525, + 'longitude': 41.023415 + }, + 'Afghanistan': { + 'name': 'Afghanistan', + 'capital': 'Kabul', + 'latitude': 34.575503, + 'longitude': 69.240073 + }, + 'Aland Islands': { + 'name': 'Aland Islands', + 'capital': 'Mariehamn', + 'latitude': 60.1, + 'longitude': 19.933333 + }, + 'Albania': { + 'name': 'Albania', + 'capital': 'Tirana', + 'latitude': 41.327546, + 'longitude': 19.818698 + }, + 'Algeria': { + 'name': 'Algeria', + 'capital': 'Algiers', + 'latitude': 36.752887, + 'longitude': 3.042048 + }, + 'American Samoa': { + 'name': 'American Samoa', + 'capital': 'Pago Pago', + 'latitude': -14.275632, + 'longitude': -170.702036 + }, + 'Andorra': { + 'name': 'Andorra', + 'capital': 'Andorra la Vella', + 'latitude': 42.506317, + 'longitude': 1.521835 + }, + 'Angola': { + 'name': 'Angola', + 'capital': 'Luanda', + 'latitude': -8.839988, + 'longitude': 13.289437 + }, + 'Anguilla': { + 'name': 'Anguilla', + 'capital': 'The Valley', + 'latitude': 18.214813, + 'longitude': -63.057441 + }, + 'Antarctica': { + 'name': 'Antarctica', + 'capital': 'South Pole', + 'latitude': -90.0, + 'longitude': 0.0 + }, + 'Antigua and Barbuda': { + 'name': 'Antigua and Barbuda', + 'capital': "St. John's", + 'latitude': 17.12741, + 'longitude': -61.846772 + }, + 'Argentina': { + 'name': 'Argentina', + 'capital': 'Buenos Aires', + 'latitude': -34.603684, + 'longitude': -58.381559 + }, + 'Armenia': { + 'name': 'Armenia', + 'capital': 'Yerevan', + 'latitude': 40.179186, + 'longitude': 44.499103 + }, + 'Aruba': { + 'name': 'Aruba', + 'capital': 'Oranjestad', + 'latitude': 12.509204, + 'longitude': -70.008631 + }, + 'Australia': { + 'name': 'Australia', + 'capital': 'Canberra', + 'latitude': -35.282, + 'longitude': 149.128684 + }, + 'Austria': { + 'name': 'Austria', + 'capital': 'Vienna', + 'latitude': 48.208174, + 'longitude': 16.373819 + }, + 'Azerbaijan': { + 'name': 'Azerbaijan', + 'capital': 'Baku', + 'latitude': 40.409262, + 'longitude': 49.867092 + }, + 'Bahamas': { + 'name': 'Bahamas', + 'capital': 'Nassau', + 'latitude': 25.047984, + 'longitude': -77.355413 + }, + 'Bahrain': { + 'name': 'Bahrain', + 'capital': 'Manama', + 'latitude': 26.228516, + 'longitude': 50.58605 + }, + 'Bangladesh': { + 'name': 'Bangladesh', + 'capital': 'Dhaka', + 'latitude': 23.810332, + 'longitude': 90.412518 + }, + 'Barbados': { + 'name': 'Barbados', + 'capital': 'Bridgetown', + 'latitude': 13.113222, + 'longitude': -59.598809 + }, + 'Belarus': { + 'name': 'Belarus', + 'capital': 'Minsk', + 'latitude': 53.90454, + 'longitude': 27.561524 + }, + 'Belgium': { + 'name': 'Belgium', + 'capital': 'Brussels', + 'latitude': 50.85034, + 'longitude': 4.35171 + }, + 'Belize': { + 'name': 'Belize', + 'capital': 'Belmopan', + 'latitude': 17.251011, + 'longitude': -88.75902 + }, + 'Benin': { + 'name': 'Benin', + 'capital': 'Porto-Novo', + 'latitude': 6.496857, + 'longitude': 2.628852 + }, + 'Bermuda': { + 'name': 'Bermuda', + 'capital': 'Hamilton', + 'latitude': 32.294816, + 'longitude': -64.781375 + }, + 'Bhutan': { + 'name': 'Bhutan', + 'capital': 'Thimphu', + 'latitude': 27.472792, + 'longitude': 89.639286 + }, + 'Bolivia': { + 'name': 'Bolivia', + 'capital': 'La Paz', + 'latitude': -16.489689, + 'longitude': -68.119294 + }, + 'Bosnia and Herzegovina': { + 'name': 'Bosnia and Herzegovina', + 'capital': 'Sarajevo', + 'latitude': 43.856259, + 'longitude': 18.413076 + }, + 'Botswana': { + 'name': 'Botswana', + 'capital': 'Gaborone', + 'latitude': -24.628208, + 'longitude': 25.923147 + }, + 'Bouvet Island': { + 'name': 'Bouvet Island', + 'capital': 'Bouvet Island', + 'latitude': -54.43, + 'longitude': 3.38 + }, + 'Brazil': { + 'name': 'Brazil', + 'capital': 'Brasília', + 'latitude': -15.794229, + 'longitude': -47.882166 + }, + 'British Indian Ocean Territory': { + 'name': 'British Indian Ocean Territory', + 'capital': 'Camp Justice', + 'latitude': 21.3419, + 'longitude': 55.4778 + }, + 'British Virgin Islands': { + 'name': 'British Virgin Islands', + 'capital': 'Road Town', + 'latitude': 18.428612, + 'longitude': -64.618466 + }, + 'Brunei': { + 'name': 'Brunei', + 'capital': 'Bandar Seri Begawan', + 'latitude': 4.903052, + 'longitude': 114.939821 + }, + 'Bulgaria': { + 'name': 'Bulgaria', + 'capital': 'Sofia', + 'latitude': 42.697708, + 'longitude': 23.321868 + }, + 'Burkina Faso': { + 'name': 'Burkina Faso', + 'capital': 'Ouagadougou', + 'latitude': 12.371428, + 'longitude': -1.51966 + }, + 'Burundi': { + 'name': 'Burundi', + 'capital': 'Bujumbura', + 'latitude': -3.361378, + 'longitude': 29.359878 + }, + 'Cambodia': { + 'name': 'Cambodia', + 'capital': 'Phnom Penh', + 'latitude': 11.544873, + 'longitude': 104.892167 + }, + 'Cameroon': { + 'name': 'Cameroon', + 'capital': 'Yaoundé', + 'latitude': 3.848033, + 'longitude': 11.502075 + }, + 'Canada': { + 'name': 'Canada', + 'capital': 'Ottawa', + 'latitude': 45.42153, + 'longitude': -75.697193 + }, + 'Cape Verde': { + 'name': 'Cape Verde', + 'capital': 'Praia', + 'latitude': 14.93305, + 'longitude': -23.513327 + }, + 'Cayman Islands': { + 'name': 'Cayman Islands', + 'capital': 'George Town', + 'latitude': 19.286932, + 'longitude': -81.367439 + }, + 'Central African Republic': { + 'name': 'Central African Republic', + 'capital': 'Bangui', + 'latitude': 4.394674, + 'longitude': 18.55819 + }, + 'Chad': { + 'name': 'Chad', + 'capital': "N'Djamena", + 'latitude': 12.134846, + 'longitude': 15.055742 + }, + 'Chile': { + 'name': 'Chile', + 'capital': 'Santiago', + 'latitude': -33.44889, + 'longitude': -70.669265 + }, + 'China': { + 'name': 'China', + 'capital': 'Beijing', + 'latitude': 39.904211, + 'longitude': 116.407395 + }, + 'Christmas Island': { + 'name': 'Christmas Island', + 'capital': 'Flying Fish Cove', + 'latitude': -10.420686, + 'longitude': 105.679379 + }, + 'Cocos (Keeling) Islands': { + 'name': 'Cocos (Keeling) Islands', + 'capital': 'West Island', + 'latitude': -12.188834, + 'longitude': 96.829316 + }, + 'Colombia': { + 'name': 'Colombia', + 'capital': 'Bogotá', + 'latitude': 4.710989, + 'longitude': -74.072092 + }, + 'Comoros': { + 'name': 'Comoros', + 'capital': 'Moroni', + 'latitude': -11.717216, + 'longitude': 43.247315 + }, + 'Congo (DRC)': { + 'name': 'Congo (DRC)', + 'capital': 'Kinshasa', + 'latitude': -4.441931, + 'longitude': 15.266293 + }, + 'Congo (Republic)': { + 'name': 'Congo (Republic)', + 'capital': 'Brazzaville', + 'latitude': -4.26336, + 'longitude': 15.242885 + }, + 'Cook Islands': { + 'name': 'Cook Islands', + 'capital': 'Avarua', + 'latitude': -21.212901, + 'longitude': -159.782306 + }, + 'Costa Rica': { + 'name': 'Costa Rica', + 'capital': 'San José', + 'latitude': 9.928069, + 'longitude': -84.090725 + }, + "Côte d'Ivoire": { + 'name': "Côte d'Ivoire", + 'capital': 'Yamoussoukro', + 'latitude': 6.827623, + 'longitude': -5.289343 + }, + 'Croatia': { + 'name': 'Croatia', + 'capital': 'Zagreb ', + 'latitude': 45.815011, + 'longitude': 15.981919 + }, + 'Cuba': { + 'name': 'Cuba', + 'capital': 'Havana', + 'latitude': 23.05407, + 'longitude': -82.345189 + }, + 'Curaçao': { + 'name': 'Curaçao', + 'capital': 'Willemstad', + 'latitude': 12.122422, + 'longitude': -68.882423 + }, + 'Cyprus': { + 'name': 'Cyprus', + 'capital': 'Nicosia', + 'latitude': 35.185566, + 'longitude': 33.382276 + }, + 'Czech Republic': { + 'name': 'Czech Republic', + 'capital': 'Prague', + 'latitude': 50.075538, + 'longitude': 14.4378 + }, + 'Denmark': { + 'name': 'Denmark', + 'capital': 'Copenhagen', + 'latitude': 55.676097, + 'longitude': 12.568337 + }, + 'Djibouti': { + 'name': 'Djibouti', + 'capital': 'Djibouti', + 'latitude': 11.572077, + 'longitude': 43.145647 + }, + 'Dominica': { + 'name': 'Dominica', + 'capital': 'Roseau', + 'latitude': 15.309168, + 'longitude': -61.379355 + }, + 'Dominican Republic': { + 'name': 'Dominican Republic', + 'capital': 'Santo Domingo', + 'latitude': 18.486058, + 'longitude': -69.931212 + }, + 'Ecuador': { + 'name': 'Ecuador', + 'capital': 'Quito', + 'latitude': -0.180653, + 'longitude': -78.467838 + }, + 'Egypt': { + 'name': 'Egypt', + 'capital': 'Cairo', + 'latitude': 30.04442, + 'longitude': 31.235712 + }, + 'El Salvador': { + 'name': 'El Salvador', + 'capital': 'San Salvador', + 'latitude': 13.69294, + 'longitude': -89.218191 + }, + 'Equatorial Guinea': { + 'name': 'Equatorial Guinea', + 'capital': 'Malabo', + 'latitude': 3.750412, + 'longitude': 8.737104 + }, + 'Eritrea': { + 'name': 'Eritrea', + 'capital': 'Asmara', + 'latitude': 15.322877, + 'longitude': 38.925052 + }, + 'Estonia': { + 'name': 'Estonia', + 'capital': 'Tallinn', + 'latitude': 59.436961, + 'longitude': 24.753575 + }, + 'Ethiopia': { + 'name': 'Ethiopia', + 'capital': 'Addis Ababa', + 'latitude': 8.980603, + 'longitude': 38.757761 + }, + 'Falkland Islands (Islas Malvinas)': { + 'name': 'Falkland Islands (Islas Malvinas)', + 'capital': 'Stanley', + 'latitude': -51.697713, + 'longitude': -57.851663 + }, + 'Faroe Islands': { + 'name': 'Faroe Islands', + 'capital': 'Tórshavn', + 'latitude': 62.007864, + 'longitude': -6.790982 + }, + 'Fiji': { + 'name': 'Fiji', + 'capital': 'Suva', + 'latitude': -18.124809, + 'longitude': 178.450079 + }, + 'Finland': { + 'name': 'Finland', + 'capital': 'Helsinki', + 'latitude': 60.173324, + 'longitude': 24.941025 + }, + 'France': { + 'name': 'France', + 'capital': 'Paris', + 'latitude': 48.856614, + 'longitude': 2.352222 + }, + 'French Guiana': { + 'name': 'French Guiana', + 'capital': 'Cayenne', + 'latitude': 4.92242, + 'longitude': -52.313453 + }, + 'French Polynesia': { + 'name': 'French Polynesia', + 'capital': 'Papeete', + 'latitude': -17.551625, + 'longitude': -149.558476 + }, + 'French Southern Territories': { + 'name': 'French Southern Territories', + 'capital': 'Saint-Pierre ', + 'latitude': -21.3419, + 'longitude': 55.4778 + }, + 'Gabon': { + 'name': 'Gabon', + 'capital': 'Libreville', + 'latitude': 0.416198, + 'longitude': 9.467268 + }, + 'Gambia': { + 'name': 'Gambia', + 'capital': 'Banjul', + 'latitude': 13.454876, + 'longitude': -16.579032 + }, + 'Georgia': { + 'name': 'Georgia', + 'capital': 'Tbilisi', + 'latitude': 41.715138, + 'longitude': 44.827096 + }, + 'Germany': { + 'name': 'Germany', + 'capital': 'Berlin', + 'latitude': 52.520007, + 'longitude': 13.404954 + }, + 'Ghana': { + 'name': 'Ghana', + 'capital': 'Accra', + 'latitude': 5.603717, + 'longitude': -0.186964 + }, + 'Gibraltar': { + 'name': 'Gibraltar', + 'capital': 'Gibraltar', + 'latitude': 36.140773, + 'longitude': -5.353599 + }, + 'Greece': { + 'name': 'Greece', + 'capital': 'Athens', + 'latitude': 37.983917, + 'longitude': 23.72936 + }, + 'Greenland': { + 'name': 'Greenland', + 'capital': 'Nuuk', + 'latitude': 64.18141, + 'longitude': -51.694138 + }, + 'Grenada': { + 'name': 'Grenada', + 'capital': "St. George's", + 'latitude': 12.056098, + 'longitude': -61.7488 + }, + 'Guadeloupe': { + 'name': 'Guadeloupe', + 'capital': 'Basse-Terre', + 'latitude': 16.014453, + 'longitude': -61.706411 + }, + 'Guam': { + 'name': 'Guam', + 'capital': 'Hagåtña', + 'latitude': 13.470891, + 'longitude': 144.751278 + }, + 'Guatemala': { + 'name': 'Guatemala', + 'capital': 'Guatemala City', + 'latitude': 14.634915, + 'longitude': -90.506882 + }, + 'Guernsey': { + 'name': 'Guernsey', + 'capital': 'St. Peter Port', + 'latitude': 49.455443, + 'longitude': -2.536871 + }, + 'Guinea': { + 'name': 'Guinea', + 'capital': 'Conakry', + 'latitude': 9.641185, + 'longitude': -13.578401 + }, + 'Guinea-Bissau': { + 'name': 'Guinea-Bissau', + 'capital': 'Bissau', + 'latitude': 11.881655, + 'longitude': -15.617794 + }, + 'Guyana': { + 'name': 'Guyana', + 'capital': 'Georgetown', + 'latitude': 6.801279, + 'longitude': -58.155125 + }, + 'Haiti': { + 'name': 'Haiti', + 'capital': 'Port-au-Prince', + 'latitude': 18.594395, + 'longitude': -72.307433 + }, + 'Honduras': { + 'name': 'Honduras', + 'capital': 'Tegucigalpa', + 'latitude': 14.072275, + 'longitude': -87.192136 + }, + 'Hong Kong': { + 'name': 'Hong Kong', + 'capital': 'Hong Kong', + 'latitude': 22.396428, + 'longitude': 114.109497 + }, + 'Hungary': { + 'name': 'Hungary', + 'capital': 'Budapest', + 'latitude': 47.497912, + 'longitude': 19.040235 + }, + 'Iceland': { + 'name': 'Iceland', + 'capital': 'Reykjavík', + 'latitude': 64.126521, + 'longitude': -21.817439 + }, + 'India': { + 'name': 'India', + 'capital': 'New Delhi', + 'latitude': 28.613939, + 'longitude': 77.209021 + }, + 'Indonesia': { + 'name': 'Indonesia', + 'capital': 'Jakarta', + 'latitude': -6.208763, + 'longitude': 106.845599 + }, + 'Iran': { + 'name': 'Iran', + 'capital': 'Tehran', + 'latitude': 35.689198, + 'longitude': 51.388974 + }, + 'Iraq': { + 'name': 'Iraq', + 'capital': 'Baghdad', + 'latitude': 33.312806, + 'longitude': 44.361488 + }, + 'Ireland': { + 'name': 'Ireland', + 'capital': 'Dublin', + 'latitude': 53.349805, + 'longitude': -6.26031 + }, + 'Isle of Man': { + 'name': 'Isle of Man', + 'capital': 'Douglas', + 'latitude': 54.152337, + 'longitude': -4.486123 + }, + 'Israel': { + 'name': 'Israel', + 'capital': 'Tel Aviv', + 'latitude': 32.0853, + 'longitude': 34.781768 + }, + 'Italy': { + 'name': 'Italy', + 'capital': 'Rome', + 'latitude': 41.902784, + 'longitude': 12.496366 + }, + 'Jamaica': { + 'name': 'Jamaica', + 'capital': 'Kingston', + 'latitude': 18.042327, + 'longitude': -76.802893 + }, + 'Japan': { + 'name': 'Japan', + 'capital': 'Tokyo', + 'latitude': 35.709026, + 'longitude': 139.731992 + }, + 'Jersey': { + 'name': 'Jersey', + 'capital': 'St. Helier', + 'latitude': 49.186823, + 'longitude': -2.106568 + }, + 'Jordan': { + 'name': 'Jordan', + 'capital': 'Amman', + 'latitude': 31.956578, + 'longitude': 35.945695 + }, + 'Kazakhstan': { + 'name': 'Kazakhstan', + 'capital': 'Astana', + 'latitude': 51.160523, + 'longitude': 71.470356 + }, + 'Kenya': { + 'name': 'Kenya', + 'capital': 'Nairobi', + 'latitude': -1.292066, + 'longitude': 36.821946 + }, + 'Kiribati': { + 'name': 'Kiribati', + 'capital': 'Tarawa Atoll', + 'latitude': 1.451817, + 'longitude': 172.971662 + }, + 'Kosovo': { + 'name': 'Kosovo', + 'capital': 'Pristina', + 'latitude': 42.662914, + 'longitude': 21.165503 + }, + 'Kuwait': { + 'name': 'Kuwait', + 'capital': 'Kuwait City', + 'latitude': 29.375859, + 'longitude': 47.977405 + }, + 'Kyrgyzstan': { + 'name': 'Kyrgyzstan', + 'capital': 'Bishkek', + 'latitude': 42.874621, + 'longitude': 74.569762 + }, + 'Laos': { + 'name': 'Laos', + 'capital': 'Vientiane', + 'latitude': 17.975706, + 'longitude': 102.633104 + }, + 'Latvia': { + 'name': 'Latvia', + 'capital': 'Riga', + 'latitude': 56.949649, + 'longitude': 24.105186 + }, + 'Lebanon': { + 'name': 'Lebanon', + 'capital': 'Beirut', + 'latitude': 33.888629, + 'longitude': 35.495479 + }, + 'Lesotho': { + 'name': 'Lesotho', + 'capital': 'Maseru', + 'latitude': -29.363219, + 'longitude': 27.51436 + }, + 'Liberia': { + 'name': 'Liberia', + 'capital': 'Monrovia', + 'latitude': 6.290743, + 'longitude': -10.760524 + }, + 'Libya': { + 'name': 'Libya', + 'capital': 'Tripoli', + 'latitude': 32.887209, + 'longitude': 13.191338 + }, + 'Liechtenstein': { + 'name': 'Liechtenstein', + 'capital': 'Vaduz', + 'latitude': 47.14103, + 'longitude': 9.520928 + }, + 'Lithuania': { + 'name': 'Lithuania', + 'capital': 'Vilnius', + 'latitude': 54.687156, + 'longitude': 25.279651 + }, + 'Luxembourg': { + 'name': 'Luxembourg', + 'capital': 'Luxembourg', + 'latitude': 49.611621, + 'longitude': 6.131935 + }, + 'Macau': { + 'name': 'Macau', + 'capital': 'Macau', + 'latitude': 22.166667, + 'longitude': 113.55 + }, + 'Macedonia': { + 'name': 'Macedonia', + 'capital': 'Skopje', + 'latitude': 41.997346, + 'longitude': 21.427996 + }, + 'Madagascar': { + 'name': 'Madagascar', + 'capital': 'Antananarivo', + 'latitude': -18.87919, + 'longitude': 47.507905 + }, + 'Malawi': { + 'name': 'Malawi', + 'capital': 'Lilongwe', + 'latitude': -13.962612, + 'longitude': 33.774119 + }, + 'Malaysia': { + 'name': 'Malaysia', + 'capital': 'Kuala Lumpur', + 'latitude': 3.139003, + 'longitude': 101.686855 + }, + 'Maldives': { + 'name': 'Maldives', + 'capital': 'Malé', + 'latitude': 4.175496, + 'longitude': 73.509347 + }, + 'Mali': { + 'name': 'Mali', + 'capital': 'Bamako', + 'latitude': 12.639232, + 'longitude': -8.002889 + }, + 'Malta': { + 'name': 'Malta', + 'capital': 'Valletta', + 'latitude': 35.898909, + 'longitude': 14.514553 + }, + 'Marshall Islands': { + 'name': 'Marshall Islands', + 'capital': 'Majuro', + 'latitude': 7.116421, + 'longitude': 171.185774 + }, + 'Martinique': { + 'name': 'Martinique', + 'capital': 'Fort-de-France', + 'latitude': 14.616065, + 'longitude': -61.05878 + }, + 'Mauritania': { + 'name': 'Mauritania', + 'capital': 'Nouakchott', + 'latitude': 18.07353, + 'longitude': -15.958237 + }, + 'Mauritius': { + 'name': 'Mauritius', + 'capital': 'Port Louis', + 'latitude': -20.166896, + 'longitude': 57.502332 + }, + 'Mayotte': { + 'name': 'Mayotte', + 'capital': 'Mamoudzou', + 'latitude': -12.780949, + 'longitude': 45.227872 + }, + 'Mexico': { + 'name': 'Mexico', + 'capital': 'Mexico City', + 'latitude': 19.432608, + 'longitude': -99.133208 + }, + 'Micronesia': { + 'name': 'Micronesia', + 'capital': 'Palikir', + 'latitude': 6.914712, + 'longitude': 158.161027 + }, + 'Moldova': { + 'name': 'Moldova', + 'capital': 'Chisinau', + 'latitude': 47.010453, + 'longitude': 28.86381 + }, + 'Monaco': { + 'name': 'Monaco', + 'capital': 'Monaco', + 'latitude': 43.737411, + 'longitude': 7.420816 + }, + 'Mongolia': { + 'name': 'Mongolia', + 'capital': 'Ulaanbaatar', + 'latitude': 47.886399, + 'longitude': 106.905744 + }, + 'Montenegro': { + 'name': 'Montenegro', + 'capital': 'Podgorica', + 'latitude': 42.43042, + 'longitude': 19.259364 + }, + 'Montserrat': { + 'name': 'Montserrat', + 'capital': 'Plymouth', + 'latitude': 16.706523, + 'longitude': -62.215738 + }, + 'Morocco': { + 'name': 'Morocco', + 'capital': 'Rabat', + 'latitude': 33.97159, + 'longitude': -6.849813 + }, + 'Mozambique': { + 'name': 'Mozambique', + 'capital': 'Maputo', + 'latitude': -25.891968, + 'longitude': 32.605135 + }, + 'Myanmar': { + 'name': 'Myanmar', + 'capital': 'Naypyidaw', + 'latitude': 19.763306, + 'longitude': 96.07851 + }, + 'Nagorno-Karabakh Republic': { + 'name': 'Nagorno-Karabakh Republic', + 'capital': 'Stepanakert', + 'latitude': 39.826385, + 'longitude': 46.763595 + }, + 'Namibia': { + 'name': 'Namibia', + 'capital': 'Windhoek', + 'latitude': -22.560881, + 'longitude': 17.065755 + }, + 'Nauru': { + 'name': 'Nauru', + 'capital': 'Yaren', + 'latitude': -0.546686, + 'longitude': 166.921091 + }, + 'Nepal': { + 'name': 'Nepal', + 'capital': 'Kathmandu', + 'latitude': 27.717245, + 'longitude': 85.323961 + }, + 'Netherlands': { + 'name': 'Netherlands', + 'capital': 'Amsterdam', + 'latitude': 52.370216, + 'longitude': 4.895168 + }, + 'Netherlands Antilles': { + 'name': 'Netherlands Antilles', + 'capital': 'Willemstad ', + 'latitude': 12.1091242, + 'longitude': -68.9316546 + }, + 'New Caledonia': { + 'name': 'New Caledonia', + 'capital': 'Nouméa', + 'latitude': -22.255823, + 'longitude': 166.450524 + }, + 'New Zealand': { + 'name': 'New Zealand', + 'capital': 'Wellington', + 'latitude': -41.28646, + 'longitude': 174.776236 + }, + 'Nicaragua': { + 'name': 'Nicaragua', + 'capital': 'Managua', + 'latitude': 12.114993, + 'longitude': -86.236174 + }, + 'Niger': { + 'name': 'Niger', + 'capital': 'Niamey', + 'latitude': 13.511596, + 'longitude': 2.125385 + }, + 'Nigeria': { + 'name': 'Nigeria', + 'capital': 'Abuja', + 'latitude': 9.076479, + 'longitude': 7.398574 + }, + 'Niue': { + 'name': 'Niue', + 'capital': 'Alofi', + 'latitude': -19.055371, + 'longitude': -169.917871 + }, + 'Norfolk Island': { + 'name': 'Norfolk Island', + 'capital': 'Kingston', + 'latitude': -29.056394, + 'longitude': 167.959588 + }, + 'North Korea': { + 'name': 'North Korea', + 'capital': 'Pyongyang', + 'latitude': 39.039219, + 'longitude': 125.762524 + }, + 'Northern Cyprus': { + 'name': 'Northern Cyprus', + 'capital': 'Nicosia', + 'latitude': 35.185566, + 'longitude': 33.382276 + }, + 'Northern Mariana Islands': { + 'name': 'Northern Mariana Islands', + 'capital': 'Saipan', + 'latitude': 15.177801, + 'longitude': 145.750967 + }, + 'Norway': { + 'name': 'Norway', + 'capital': 'Oslo', + 'latitude': 59.913869, + 'longitude': 10.752245 + }, + 'Oman': { + 'name': 'Oman', + 'capital': 'Muscat', + 'latitude': 23.58589, + 'longitude': 58.405923 + }, + 'Pakistan': { + 'name': 'Pakistan', + 'capital': 'Islamabad', + 'latitude': 33.729388, + 'longitude': 73.093146 + }, + 'Palau': { + 'name': 'Palau', + 'capital': 'Ngerulmud', + 'latitude': 7.500384, + 'longitude': 134.624289 + }, + 'Palestine': { + 'name': 'Palestine', + 'capital': 'Ramallah', + 'latitude': 31.9073509, + 'longitude': 35.5354719 + }, + 'Panama': { + 'name': 'Panama', + 'capital': 'Panama City', + 'latitude': 9.101179, + 'longitude': -79.402864 + }, + 'Papua New Guinea': { + 'name': 'Papua New Guinea', + 'capital': 'Port Moresby', + 'latitude': -9.4438, + 'longitude': 147.180267 + }, + 'Paraguay': { + 'name': 'Paraguay', + 'capital': 'Asuncion', + 'latitude': -25.26374, + 'longitude': -57.575926 + }, + 'Peru': { + 'name': 'Peru', + 'capital': 'Lima', + 'latitude': -12.046374, + 'longitude': -77.042793 + }, + 'Philippines': { + 'name': 'Philippines', + 'capital': 'Manila', + 'latitude': 14.599512, + 'longitude': 120.98422 + }, + 'Pitcairn Islands': { + 'name': 'Pitcairn Islands', + 'capital': 'Adamstown', + 'latitude': -25.06629, + 'longitude': -130.100464 + }, + 'Poland': { + 'name': 'Poland', + 'capital': 'Warsaw', + 'latitude': 52.229676, + 'longitude': 21.012229 + }, + 'Portugal': { + 'name': 'Portugal', + 'capital': 'Lisbon', + 'latitude': 38.722252, + 'longitude': -9.139337 + }, + 'Puerto Rico': { + 'name': 'Puerto Rico', + 'capital': 'San Juan', + 'latitude': 18.466334, + 'longitude': -66.105722 + }, + 'Qatar': { + 'name': 'Qatar', + 'capital': 'Doha', + 'latitude': 25.285447, + 'longitude': 51.53104 + }, + 'Réunion': { + 'name': 'Réunion', + 'capital': 'Saint-Denis', + 'latitude': -20.882057, + 'longitude': 55.450675 + }, + 'Romania': { + 'name': 'Romania', + 'capital': 'Bucharest', + 'latitude': 44.426767, + 'longitude': 26.102538 + }, + 'Russia': { + 'name': 'Russia', + 'capital': 'Moscow', + 'latitude': 55.755826, + 'longitude': 37.6173 + }, + 'Rwanda': { + 'name': 'Rwanda', + 'capital': 'Kigali', + 'latitude': -1.957875, + 'longitude': 30.112735 + }, + 'Saint Pierre and Miquelon': { + 'name': 'Saint Pierre and Miquelon', + 'capital': 'St. Pierre', + 'latitude': 46.775846, + 'longitude': -56.180636 + }, + 'Saint Vincent and the Grenadines': { + 'name': 'Saint Vincent and the Grenadines', + 'capital': 'Kingstown', + 'latitude': 13.160025, + 'longitude': -61.224816 + }, + 'Samoa': { + 'name': 'Samoa', + 'capital': 'Apia', + 'latitude': -13.850696, + 'longitude': -171.751355 + }, + 'San Marino': { + 'name': 'San Marino', + 'capital': 'San Marino', + 'latitude': 43.935591, + 'longitude': 12.447281 + }, + 'São Tomé and Príncipe': { + 'name': 'São Tomé and Príncipe', + 'capital': 'São Tomé', + 'latitude': 0.330192, + 'longitude': 6.733343 + }, + 'Saudi Arabia': { + 'name': 'Saudi Arabia', + 'capital': 'Riyadh', + 'latitude': 24.749403, + 'longitude': 46.902838 + }, + 'Senegal': { + 'name': 'Senegal', + 'capital': 'Dakar', + 'latitude': 14.764504, + 'longitude': -17.366029 + }, + 'Serbia': { + 'name': 'Serbia', + 'capital': 'Belgrade', + 'latitude': 44.786568, + 'longitude': 20.448922 + }, + 'Seychelles': { + 'name': 'Seychelles', + 'capital': 'Victoria', + 'latitude': -4.619143, + 'longitude': 55.451315 + }, + 'Sierra Leone': { + 'name': 'Sierra Leone', + 'capital': 'Freetown', + 'latitude': 8.465677, + 'longitude': -13.231722 + }, + 'Singapore': { + 'name': 'Singapore', + 'capital': 'Singapore', + 'latitude': 1.280095, + 'longitude': 103.850949 + }, + 'Slovakia': { + 'name': 'Slovakia', + 'capital': 'Bratislava', + 'latitude': 48.145892, + 'longitude': 17.107137 + }, + 'Slovenia': { + 'name': 'Slovenia', + 'capital': 'Ljubljana', + 'latitude': 46.056947, + 'longitude': 14.505751 + }, + 'Solomon Islands': { + 'name': 'Solomon Islands', + 'capital': 'Honiara', + 'latitude': -9.445638, + 'longitude': 159.9729 + }, + 'Somalia': { + 'name': 'Somalia', + 'capital': 'Mogadishu', + 'latitude': 2.046934, + 'longitude': 45.318162 + }, + 'South Africa': { + 'name': 'South Africa', + 'capital': 'Pretoria', + 'latitude': -25.747868, + 'longitude': 28.229271 + }, + 'South Georgia and the South Sandwich Islands': { + 'name': 'South Georgia and the South Sandwich Islands', + 'capital': 'King Edward Point', + 'latitude': -54.28325, + 'longitude': -36.493735 + }, + 'South Korea': { + 'name': 'South Korea', + 'capital': 'Seoul', + 'latitude': 37.566535, + 'longitude': 126.977969 + }, + 'South Ossetia': { + 'name': 'South Ossetia', + 'capital': 'Tskhinvali', + 'latitude': 42.22146, + 'longitude': 43.964405 + }, + 'South Sudan': { + 'name': 'South Sudan', + 'capital': 'Juba', + 'latitude': 4.859363, + 'longitude': 31.57125 + }, + 'Spain': { + 'name': 'Spain', + 'capital': 'Madrid', + 'latitude': 40.416775, + 'longitude': -3.70379 + }, + 'Sri Lanka': { + 'name': 'Sri Lanka', + 'capital': 'Sri Jayawardenepura Kotte', + 'latitude': 6.89407, + 'longitude': 79.902478 + }, + 'St. Barthélemy': { + 'name': 'St. Barthélemy', + 'capital': 'Gustavia', + 'latitude': 17.896435, + 'longitude': -62.852201 + }, + 'St. Kitts and Nevis': { + 'name': 'St. Kitts and Nevis', + 'capital': 'Basseterre', + 'latitude': 17.302606, + 'longitude': -62.717692 + }, + 'St. Lucia': { + 'name': 'St. Lucia', + 'capital': 'Castries', + 'latitude': 14.010109, + 'longitude': -60.987469 + }, + 'St. Martin': { + 'name': 'St. Martin', + 'capital': 'Marigot', + 'latitude': 18.067519, + 'longitude': -63.082466 + }, + 'Sudan': { + 'name': 'Sudan', + 'capital': 'Khartoum', + 'latitude': 15.500654, + 'longitude': 32.559899 + }, + 'Suriname': { + 'name': 'Suriname', + 'capital': 'Paramaribo', + 'latitude': 5.852036, + 'longitude': -55.203828 + }, + 'Svalbard and Jan Mayen': { + 'name': 'Svalbard and Jan Mayen', + 'capital': 'Longyearbyen ', + 'latitude': 78.062, + 'longitude': 22.055 + }, + 'Swaziland': { + 'name': 'Swaziland', + 'capital': 'Mbabane', + 'latitude': -26.305448, + 'longitude': 31.136672 + }, + 'Sweden': { + 'name': 'Sweden', + 'capital': 'Stockholm', + 'latitude': 59.329323, + 'longitude': 18.068581 + }, + 'Switzerland': { + 'name': 'Switzerland', + 'capital': 'Bern', + 'latitude': 46.947974, + 'longitude': 7.447447 + }, + 'Syria': { + 'name': 'Syria', + 'capital': 'Damascus', + 'latitude': 33.513807, + 'longitude': 36.276528 + }, + 'Taiwan': { + 'name': 'Taiwan', + 'capital': 'Taipei', + 'latitude': 25.032969, + 'longitude': 121.565418 + }, + 'Tajikistan': { + 'name': 'Tajikistan', + 'capital': 'Dushanbe', + 'latitude': 38.559772, + 'longitude': 68.787038 + }, + 'Tanzania': { + 'name': 'Tanzania', + 'capital': 'Dodoma', + 'latitude': -6.162959, + 'longitude': 35.751607 + }, + 'Thailand': { + 'name': 'Thailand', + 'capital': 'Bangkok', + 'latitude': 13.756331, + 'longitude': 100.501765 + }, + 'Timor-Leste': { + 'name': 'Timor-Leste', + 'capital': 'Dili', + 'latitude': -8.556856, + 'longitude': 125.560314 + }, + 'Togo': { + 'name': 'Togo', + 'capital': 'Lomé', + 'latitude': 6.172497, + 'longitude': 1.231362 + }, + 'Tokelau': { + 'name': 'Tokelau', + 'capital': 'Nukunonu', + 'latitude': -9.2005, + 'longitude': -171.848 + }, + 'Tonga': { + 'name': 'Tonga', + 'capital': 'Nukuʻalofa', + 'latitude': -21.139342, + 'longitude': -175.204947 + }, + 'Transnistria': { + 'name': 'Transnistria', + 'capital': 'Tiraspol', + 'latitude': 46.848185, + 'longitude': 29.596805 + }, + 'Trinidad and Tobago': { + 'name': 'Trinidad and Tobago', + 'capital': 'Port of Spain', + 'latitude': 10.654901, + 'longitude': -61.501926 + }, + 'Tristan da Cunha': { + 'name': 'Tristan da Cunha', + 'capital': 'Edinburgh of the Seven Seas', + 'latitude': -37.068042, + 'longitude': -12.311315 + }, + 'Tunisia': { + 'name': 'Tunisia', + 'capital': 'Tunis', + 'latitude': 36.806495, + 'longitude': 10.181532 + }, + 'Turkey': { + 'name': 'Turkey', + 'capital': 'Ankara', + 'latitude': 39.933364, + 'longitude': 32.859742 + }, + 'Turkmenistan': { + 'name': 'Turkmenistan', + 'capital': 'Ashgabat', + 'latitude': 37.960077, + 'longitude': 58.326063 + }, + 'Turks and Caicos Islands': { + 'name': 'Turks and Caicos Islands', + 'capital': 'Cockburn Town', + 'latitude': 21.467458, + 'longitude': -71.13891 + }, + 'Tuvalu': { + 'name': 'Tuvalu', + 'capital': 'Funafuti', + 'latitude': -8.520066, + 'longitude': 179.198128 + }, + 'U.S. Virgin Islands': { + 'name': 'U.S. Virgin Islands', + 'capital': 'Charlotte Amalie', + 'latitude': 18.3419, + 'longitude': -64.930701 + }, + 'Uganda': { + 'name': 'Uganda', + 'capital': 'Kampala', + 'latitude': 0.347596, + 'longitude': 32.58252 + }, + 'Ukraine': { + 'name': 'Ukraine', + 'capital': 'Kiev', + 'latitude': 50.4501, + 'longitude': 30.5234 + }, + 'United Arab Emirates': { + 'name': 'United Arab Emirates', + 'capital': 'Abu Dhabi', + 'latitude': 24.299174, + 'longitude': 54.697277 + }, + 'United Kingdom': { + 'name': 'United Kingdom', + 'capital': 'London', + 'latitude': 51.507351, + 'longitude': -0.127758 + }, + 'United States': { + 'name': 'United States', + 'capital': 'Washington', + 'latitude': 38.907192, + 'longitude': -77.036871 + }, + 'Uruguay': { + 'name': 'Uruguay', + 'capital': 'Montevideo', + 'latitude': -34.901113, + 'longitude': -56.164531 + }, + 'Uzbekistan': { + 'name': 'Uzbekistan', + 'capital': 'Tashkent', + 'latitude': 41.299496, + 'longitude': 69.240073 + }, + 'Vanuatu': { + 'name': 'Vanuatu', + 'capital': 'Port Vila', + 'latitude': -17.733251, + 'longitude': 168.327325 + }, + 'Vatican City': { + 'name': 'Vatican City', + 'capital': 'Vatican City', + 'latitude': 41.902179, + 'longitude': 12.453601 + }, + 'Venezuela': { + 'name': 'Venezuela', + 'capital': 'Caracas', + 'latitude': 10.480594, + 'longitude': -66.903606 + }, + 'Vietnam': { + 'name': 'Vietnam', + 'capital': 'Hanoi', + 'latitude': 21.027764, + 'longitude': 105.83416 + }, + 'Wallis and Futuna': { + 'name': 'Wallis and Futuna', + 'capital': 'Mata-Utu', + 'latitude': -13.282509, + 'longitude': -176.176447 + }, + 'Western Sahara': { + 'name': 'Western Sahara', + 'capital': 'El Aaiún', + 'latitude': 27.125287, + 'longitude': -13.1625 + }, + 'Yemen': { + 'name': 'Yemen', + 'capital': "Sana'a", + 'latitude': 15.369445, + 'longitude': 44.191007 + }, + 'Zambia': { + 'name': 'Zambia', + 'capital': 'Lusaka', + 'latitude': -15.387526, + 'longitude': 28.322817 + }, + 'Zimbabwe': { + 'name': 'Zimbabwe', + 'capital': 'Harare', + 'latitude': -17.825166, + 'longitude': 31.03351 + } +} + +def convert_lat_long(latitude, longitude, map_width, map_height): + + false_easting = 180 + radius = map_width / (2 * pi) + latitude = radians(latitude) + longitude = radians(longitude + false_easting) + + x_coord = longitude * radius + + y_dist_from_equator = radius * log(tan(pi / 4 + latitude / 2)) + y_coord = map_height / 2 - y_dist_from_equator + + coords = {'x': x_coord, 'y': y_coord} + + return coords + + +def get_available_regions(): + return regions.keys() + + +def get_region_coords(region, map_width=991, map_height=768): + coords = None + + try: + lookup = regions[region] + coords = convert_lat_long(lookup['latitude'], lookup['longitude'], map_width, map_height) + return coords + except KeyError: + print('Region not recognised: ', region) diff --git a/lib/tasks/project_components/mapping_data_happiness/species.csv b/lib/tasks/project_components/mapping_data_happiness/species.csv new file mode 100644 index 00000000..a6ec45d8 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_happiness/species.csv @@ -0,0 +1,238 @@ +Afghanistan,42 +Albania,130 +Algeria,135 +American Samoa,92 +Andorra,13 +Angola,146 +Anguilla,52 +Antarctica,6 +Antigua and Barbuda,55 +Argentina,256 +Armenia,114 +Aruba,32 +Australia,948 +Austria,118 +Azerbaijan,97 +Bahamas,86 +Bahrain,36 +Bangladesh,151 +Barbados,56 +Belarus,25 +Belgium,37 +Belize,117 +Benin,88 +Bermuda,72 +Bhutan,71 +Bolivia,231 +Bosnia and Herzegovina,91 +Botswana,28 +Bouvet Island,3 +Brazil,990 +British Indian Ocean Territory,85 +British Virgin Islands,67 +Brunei,193 +Bulgaria,104 +Burkina Faso,31 +Burundi,61 +Cape Verde,65 +Cambodia,255 +Cameroon,775 +Canada,122 +Cayman Islands,74 +Central African Republic,60 +Chad,43 +Chile,197 +China,1080 +Hong Kong,64 +Macau,11 +Christmas Island,39 +Cocos (Keeling) Islands,33 +Colombia,835 +Comoros,114 +Congo (Republic),134 +Cook Islands,75 +Costa Rica,340 +Côte d'Ivoire,249 +Croatia,176 +Cuba,339 +Curaçao,51 +Cyprus,72 +Czech Republic,53 +North Korea,78 +Congo (DRC),349 +Denmark,47 +Djibouti,98 +Dominica,66 +Dominican Republic,184 +Ecuador,2358 +Egypt,156 +El Salvador,86 +Equatorial Guinea,177 +Eritrea,122 +Estonia,23 +Swaziland,34 +Ethiopia,148 +Falkland Islands (Islas Malvinas),23 +Faroe Islands,21 +Fiji,291 +Finland,36 +France,278 +French Guiana,73 +French Polynesia,175 +French Southern Territories,25 +Gabon,270 +Gambia,67 +Georgia,120 +Germany,116 +Ghana,238 +Gibraltar,31 +Greece,374 +Greenland,23 +Grenada,54 +Guadeloupe,73 +Guam,99 +Guatemala,290 +Guernsey,5 +Guinea,185 +Guinea-Bissau,77 +Guyana,94 +Haiti,205 +Vatican City,1 +Honduras,301 +Hungary,66 +Iceland,27 +India,1052 +Indonesia,1281 +Iran,134 +Iraq,72 +Ireland,50 +Isle of Man,3 +Israel,174 +Italy,359 +Jamaica,311 +Japan,404 +Jersey,6 +Jordan,113 +Kazakhstan,82 +Kenya,480 +Kiribati,104 +Kuwait,49 +Kyrgyzstan,44 +Laos,209 +Latvia,30 +Lebanon,87 +Lesotho,18 +Liberia,172 +Libya,63 +Liechtenstein,6 +Lithuania,26 +Luxembourg,11 +Madagascar,1324 +Malawi,176 +Malaysia,1272 +Maldives,75 +Mali,42 +Malta,39 +Marshall Islands,101 +Martinique,48 +Mauritania,86 +Mauritius,257 +Mayotte,88 +Mexico,1162 +Micronesia,167 +Monaco,21 +Mongolia,41 +Montenegro,98 +Montserrat,55 +Morocco,207 +Mozambique,309 +Myanmar,321 +Namibia,115 +Nauru,82 +Nepal,104 +Netherlands,40 +New Caledonia,526 +New Zealand,199 +Nicaragua,144 +Niger,34 +Nigeria,361 +Niue,52 +Norfolk Island,44 +Northern Mariana Islands,102 +Norway,64 +Oman,99 +Pakistan,140 +Palau,182 +Panama,383 +Papua New Guinea,493 +Paraguay,59 +Peru,685 +Philippines,783 +Poland,58 +Portugal,281 +Puerto Rico,126 +Qatar,39 +South Korea,111 +Moldova,35 +Réunion,130 +Romania,104 +Russia,235 +Rwanda,62 +St. Barthélemy,31 +St. Kitts and Nevis,52 +St. Lucia,62 +Saint Pierre and Miquelon,12 +Saint Vincent and the Grenadines,58 +Samoa,93 +San Marino,1 +São Tomé and Príncipe,94 +Saudi Arabia,131 +Senegal,123 +Serbia,71 +Seychelles,439 +Sierra Leone,177 +Singapore,293 +Slovakia,54 +Slovenia,143 +Solomon Islands,245 +Somalia,175 +South Africa,581 +South Georgia and the South Sandwich Islands,9 +South Sudan,49 +Spain,617 +Sri Lanka,587 +Palestine,31 +Sudan,133 +Suriname,83 +Sweden,54 +Switzerland,74 +Syria,132 +Tajikistan,45 +Thailand,611 +Timor-Leste,24 +Togo,80 +Tokelau,49 +Tonga,79 +Trinidad and Tobago,69 +Tunisia,96 +Turkey,388 +Turkmenistan,54 +Turks and Caicos Islands,60 +Tuvalu,96 +Uganda,196 +Ukraine,102 +United Arab Emirates,56 +United Kingdom,102 +Tanzania,1082 +United States,1513 +U.S. Virgin Islands,58 +Uruguay,106 +Uzbekistan,59 +Vanuatu,137 +Venezuela,328 +Vietnam,616 +Wallis and Futuna,89 +Western Sahara,49 +Yemen,298 +Zambia,88 +Zimbabwe,89 diff --git a/lib/tasks/project_components/mapping_data_happiness/tech_map.jpg b/lib/tasks/project_components/mapping_data_happiness/tech_map.jpg new file mode 100644 index 00000000..dadfe5d6 Binary files /dev/null and b/lib/tasks/project_components/mapping_data_happiness/tech_map.jpg differ diff --git a/lib/tasks/project_components/mapping_data_happiness_ink_map/carbon.csv b/lib/tasks/project_components/mapping_data_happiness_ink_map/carbon.csv new file mode 100644 index 00000000..8733659c --- /dev/null +++ b/lib/tasks/project_components/mapping_data_happiness_ink_map/carbon.csv @@ -0,0 +1,141 @@ +Albania,4342.011,1.511 +Algeria,130493.653,3.158 +Angola,18021.394,0.605 +Argentina,183375.203,4.142 +Armenia,5165.593,1.763 +Australia,384583.857,15.632 +Austria,64872.394,7.376 +Azerbaijan,30805.851,3.124 +Bahrain,29813.834,19.969 +Bangladesh,78270.17,0.475 +Belarus,54070.453,5.687 +Belgium,90368.188,7.963 +Benin,6763.074,0.605 +Bolivia,21899.18,1.981 +Bosnia and Herzegovina,22327.978,6.367 +Botswana,7717.409,3.367 +Brazil,427632.717,2.043 +Brunei,6710.178,15.641 +Bulgaria,42819.932,6.051 +Côte d'Ivoire,10234.205,0.421 +Cambodia,10762.923,0.672 +Cameroon,6152.919,0.256 +Canada,547798.641,14.992 +Chile,86087.14,4.648 +China,9257933.9,6.678 +Hong Kong,44034.675,5.957 +Colombia,75291.911,1.535 +Congo (Republic),2847.335,0.541 +Costa Rica,7584.411,1.546 +Croatia,16193.172,3.925 +Cuba,26215.665,2.283 +Curaçao,3748.132,23.28 +Cyprus,6367.874,7.448 +Czech Republic,101682.752,9.602 +North Korea,19579.698,0.768 +Congo (DRC),2201.742,0.027 +Denmark,31263.57,5.421 +Dominican Republic,21430.38,1.99 +Ecuador,34299.317,2.063 +Egypt,209219.059,2.145 +El Salvador,5735.668,0.899 +Eritrea,632.105,0.125 +Estonia,15972.029,12.137 +Ethiopia,13059.815,0.124 +Finland,42598.175,7.734 +France,306123.541,4.565 +Gabon,3367.911,1.663 +Georgia,8720.3,2.346 +Germany,718794.085,8.696 +Ghana,13779.635,0.478 +Gibraltar,703.9,20.703 +Greece,63213.31,5.878 +Guatemala,15703.161,0.928 +Haiti,3293.125,0.3 +Honduras,9426.74,1.017 +Hungary,45783.636,4.678 +Iceland,2173.307,6.336 +India,2161567.072,1.614 +Indonesia,496406.275,1.88 +Iran,567123.294,6.987 +Iraq,139877.659,3.655 +Ireland,35720.302,7.439 +Israel,63766.189,7.322 +Italy,321481.224,5.31 +Jamaica,6971.666,2.412 +Japan,1132435.4,8.938 +Jordan,25550.14,2.633 +Kazakhstan,255767.646,14.179 +Kenya,16264.973,0.327 +Kosovo,8168.55,4.461 +Kuwait,89420.615,21.615 +Kyrgyzstan,8909.263,1.437 +Latvia,6679.644,3.441 +Lebanon,26931.044,4.428 +Libya,41528.35,6.514 +Lithuania,10811.096,3.831 +Luxembourg,8631.187,14.458 +Malaysia,211046.967,6.674 +Malta,1516.276,3.261 +Mauritius,4182.138,3.306 +Mexico,445991.937,3.615 +Mongolia,19276,6.267 +Montenegro,2206.233,3.547 +Morocco,58149.86,1.627 +Mozambique,7624.932,0.257 +Myanmar,30404.919,0.57 +Namibia,4037.15,1.593 +Nepal,10113.953,0.345 +Netherlands,155574.278,9.081 +New Zealand,32241.597,6.673 +Nicaragua,5106.281,0.821 +Niger,2048.704,0.095 +Nigeria,85988.513,0.45 +Norway,34760.858,6.587 +Oman,65498.56,14.128 +Pakistan,183447.068,0.931 +Panama,9612.198,2.345 +Paraguay,7654.689,1.124 +Peru,49693.643,1.545 +Philippines,126487.694,1.206 +Poland,305841.991,7.96 +Portugal,50757.815,4.928 +Qatar,80116.551,30.359 +South Korea,600034.367,11.663 +Moldova,7526.673,2.12 +Romania,70788.76,3.614 +Russia,1536878.825,10.636 +Saudi Arabia,532181.611,16.157 +Senegal,8311.532,0.524 +Serbia,46129.569,6.569 +Singapore,47407.144,8.447 +Slovakia,32212.012,5.924 +Slovenia,13410.666,6.491 +South Africa,421682.392,7.435 +South Sudan,1549.031,0.123 +Spain,253423.277,5.446 +Sri Lanka,23103.271,1.077 +Sudan,18777.895,0.463 +Suriname,1928.134,3.425 +Sweden,37643.785,3.743 +Switzerland,37135.572,4.394 +Syria,23031.045,1.261 +Tajikistan,5843.657,0.655 +Thailand,244254.785,3.538 +Togo,2082.434,0.267 +Trinidad and Tobago,18007.573,13.154 +Tunisia,26156.972,2.268 +Turkey,378631.09,4.714 +Turkmenistan,68998.881,11.983 +Ukraine,171300.035,3.821 +United Arab Emirates,196510.174,20.905 +United Kingdom,358731.281,5.432 +Tanzania,10131.79,0.177 +United States,4761301.727,14.606 +Uruguay,5872.957,1.699 +Uzbekistan,81156.397,2.506 +Venezuela,113717.543,3.556 +Vietnam,191243.601,2.002 +Yemen,8919.998,0.316 +Zambia,6007.872,0.351 +Zimbabwe,9714.938,0.588 diff --git a/lib/tasks/project_components/mapping_data_happiness_ink_map/gdp.csv b/lib/tasks/project_components/mapping_data_happiness_ink_map/gdp.csv new file mode 100644 index 00000000..a7b6d53a --- /dev/null +++ b/lib/tasks/project_components/mapping_data_happiness_ink_map/gdp.csv @@ -0,0 +1,207 @@ +Aruba,3056424581 +Afghanistan,18869945678 +Angola,1.22124E+11 +Albania,13019693451 +Andorra,3000180750 +United Arab Emirates,3.85606E+11 +Argentina,6.43629E+11 +Armenia,11527458566 +American Samoa,602000000 +Antigua and Barbuda,1467977778 +Australia,1.32919E+12 +Austria,4.17238E+11 +Azerbaijan,40865558912 +Burundi,3172292379 +Belgium,5.02698E+11 +Benin,12701656931 +Burkina Faso,14106956830 +Bangladesh,2.49711E+11 +Bulgaria,58971520599 +Bahrain,35473776596 +Bahamas,12490700000 +Bosnia and Herzegovina,18080118128 +Belarus,54726595249 +Belize,1836600000 +Bermuda,7142316000 +Bolivia,37508642165 +Brazil,2.06283E+12 +Barbados,4978000000 +Brunei,12128104859 +Bhutan,2450364928 +Botswana,17405588070 +Central African Republic,2072350151 +Canada,1.64988E+12 +Switzerland,6.7995E+11 +Chile,2.77045E+11 +China,1.23104E+13 +Côte d'Ivoire,51588158718 +Cameroon,35009262788 +Congo (DRC),38019265626 +Congo (Republic),11198674674 +Colombia,3.11884E+11 +Comoros,1077439663 +Costa Rica,58481858043 +Cuba,96851000000 +Cayman Islands,5153091158 +Cyprus,22729184365 +Czech Republic,2.18629E+11 +Germany,3.6826E+12 +Djibouti,2751461056 +Dominica,519837037 +Denmark,3.32121E+11 +Dominican Republic,79997975623 +Algeria,1.70163E+11 +Ecuador,1.04296E+11 +Egypt,2.35734E+11 +Eritrea, +Spain,1.31254E+12 +Estonia,26951648829 +Ethiopia,81770791971 +Finland,2.55232E+11 +Fiji,5353404419 +France,2.59515E+12 +Faroe Islands,2905102304 +Micronesia,366666800 +Gabon,14929488771 +United Kingdom,2.66623E+12 +Georgia,16242916916 +Ghana,58998132330 +Gibraltar, +Guinea,10324668267 +Gambia,1504909753 +Guinea-Bissau,1350177128 +Equatorial Guinea,12200914930 +Greece,2.03588E+11 +Grenada,1125685185 +Greenland,2826651926 +Guatemala,71612352645 +Guam,5851000000 +Guyana,4748174334 +Hong Kong,3.41244E+11 +Honduras,23136232230 +Croatia,55481644098 +Haiti,14213814583 +Hungary,1.42962E+11 +Indonesia,1.01562E+12 +Isle of Man,6979581725 +India,2.65275E+12 +Ireland,3.35663E+11 +Iran,4.45345E+11 +Iraq,1.95473E+11 +Iceland,24488176541 +Israel,3.53253E+11 +Italy,1.9618E+12 +Jamaica,14806340821 +Jordan,41408960787 +Japan,4.86686E+12 +Kazakhstan,1.66806E+11 +Kenya,78965004656 +Kyrgyzstan,7702934800 +Cambodia,22177200512 +Kiribati,187276210.9 +St. Kitts and Nevis,996944444.4 +South Korea,1.6239E+12 +Kuwait,1.20707E+11 +Laos,16853087485 +Lebanon,53140638269 +Liberia,3285455000 +Libya,37883243650 +St. Lucia,1999090407 +Liechtenstein,6552858739 +Sri Lanka,87428125558 +Lesotho,2405289384 +Lithuania,47758736932 +Luxembourg,64181944723 +Latvia,30458763246 +Macau,50751059058 +Morocco,1.09683E+11 +Monaco,6431314957 +Moldova,9669759987 +Madagascar,13176313233 +Maldives,4754352301 +Mexico,1.15891E+12 +Marshall Islands,212881000 +Mali,15365627045 +Malta,13146963159 +Myanmar,68945867478 +Montenegro,4844606146 +Mongolia,11425755280 +Northern Mariana Islands,1601000000 +Mozambique,13219084261 +Mauritania,6758390729 +Mauritius,13259351418 +Malawi,6303292264 +Malaysia,3.19112E+11 +Namibia,12741746524 +New Caledonia, +Niger,11189541083 +Nigeria,3.75746E+11 +Nicaragua,13785909906 +Netherlands,8.3387E+11 +Norway,3.98394E+11 +Nepal,25180583770 +Nauru,109585941.6 +New Zealand,2.05416E+11 +Oman,70598026283 +Pakistan,3.04567E+11 +Panama,62219000000 +Peru,2.11007E+11 +Philippines,3.28481E+11 +Palau,286106800 +Papua New Guinea,22742613549 +Poland,5.26509E+11 +Puerto Rico,1.03446E+11 +North Korea, +Portugal,2.21358E+11 +Paraguay,39008900332 +French Polynesia, +Qatar,1.61099E+11 +Romania,2.11695E+11 +Russia,1.5742E+12 +Rwanda,9253098954 +Saudi Arabia,6.88586E+11 +Sudan,45021077955 +Senegal,20996564752 +Singapore,3.41863E+11 +Solomon Islands,1483758907 +Sierra Leone,3739577973 +El Salvador,24979200000 +San Marino,1528630707 +Somalia, +Serbia,44179055280 +South Sudan, +Suriname,3216207914 +Slovakia,95494424979 +Slovenia,48586603448 +Sweden,5.41019E+11 +Swaziland,4402973000 +Seychelles,1524486800 +Syria, +Turks and Caicos Islands,1022365000 +Chad,10000395242 +Togo,4819949975 +Thailand,4.56295E+11 +Tajikistan,7157865188 +Turkmenistan,37926285714 +Timor-Leste,1599338100 +Tonga,460379145 +Trinidad and Tobago,22474828527 +Tunisia,39802430355 +Turkey,8.58989E+11 +Tuvalu,40619251.99 +Tanzania,53320625959 +Uganda,30756466548 +Ukraine,1.1219E+11 +Uruguay,59530088537 +United States,1.95194E+13 +Uzbekistan,59159945321 +Venezuela, +British Virgin Islands, +Vietnam,2.2378E+11 +Vanuatu,880043553.7 +Samoa,832153612.6 +Kosovo,7245707185 +Yemen,26736139802 +South Africa,3.49554E+11 +Zambia,25868165345 +Zimbabwe,22040902300 diff --git a/lib/tasks/project_components/mapping_data_happiness_ink_map/happy.csv b/lib/tasks/project_components/mapping_data_happiness_ink_map/happy.csv new file mode 100644 index 00000000..90b257fa --- /dev/null +++ b/lib/tasks/project_components/mapping_data_happiness_ink_map/happy.csv @@ -0,0 +1,155 @@ +Norway,1,7.537000179 +Denmark,2,7.521999836 +Iceland,3,7.504000187 +Switzerland,4,7.493999958 +Finland,5,7.468999863 +Netherlands,6,7.376999855 +Canada,7,7.315999985 +New Zealand,8,7.31400013 +Sweden,9,7.28399992 +Australia,10,7.28399992 +Israel,11,7.212999821 +Costa Rica,12,7.078999996 +Austria,13,7.006000042 +United States,14,6.993000031 +Ireland,15,6.977000237 +Germany,16,6.951000214 +Belgium,17,6.890999794 +Luxembourg,18,6.862999916 +United Kingdom,19,6.714000225 +Chile,20,6.65199995 +United Arab Emirates,21,6.647999763 +Brazil,22,6.635000229 +Czech Republic,23,6.609000206 +Argentina,24,6.598999977 +Mexico,25,6.578000069 +Singapore,26,6.572000027 +Malta,27,6.52699995 +Uruguay,28,6.453999996 +Guatemala,29,6.453999996 +Panama,30,6.452000141 +France,31,6.441999912 +Thailand,32,6.423999786 +Taiwan,33,6.421999931 +Spain,34,6.402999878 +Qatar,35,6.375 +Colombia,36,6.356999874 +Saudi Arabia,37,6.343999863 +Trinidad and Tobago,38,6.168000221 +Kuwait,39,6.105000019 +Slovakia,40,6.09800005 +Bahrain,41,6.086999893 +Malaysia,42,6.084000111 +Nicaragua,43,6.071000099 +Ecuador,44,6.007999897 +El Salvador,45,6.002999783 +Poland,46,5.97300005 +Uzbekistan,47,5.971000195 +Italy,48,5.964000225 +Russia,49,5.962999821 +Belize,50,5.955999851 +Japan,51,5.920000076 +Lithuania,52,5.90199995 +Algeria,53,5.872000217 +Latvia,54,5.849999905 +South Korea,55,5.837999821 +Moldova,56,5.837999821 +Romania,57,5.824999809 +Bolivia,58,5.822999954 +Turkmenistan,59,5.822000027 +Kazakhstan,60,5.818999767 +Northern Cyprus,61,5.809999943 +Slovenia,62,5.757999897 +Peru,63,5.715000153 +Mauritius,64,5.629000187 +Cyprus,65,5.620999813 +Estonia,66,5.611000061 +Belarus,67,5.568999767 +Libya,68,5.525000095 +Turkey,69,5.5 +Paraguay,70,5.493000031 +Hong Kong,71,5.472000122 +Philippines,72,5.429999828 +Serbia,73,5.394999981 +Jordan,74,5.335999966 +Hungary,75,5.323999882 +Jamaica,76,5.31099987 +Croatia,77,5.293000221 +Kosovo,78,5.278999805 +China,79,5.272999763 +Pakistan,80,5.269000053 +Indonesia,81,5.262000084 +Venezuela,82,5.25 +Montenegro,83,5.236999989 +Morocco,84,5.235000134 +Azerbaijan,85,5.234000206 +Dominican Republic,86,5.230000019 +Greece,87,5.227000237 +Lebanon,88,5.224999905 +Portugal,89,5.195000172 +Bosnia and Herzegovina,90,5.18200016 +Honduras,91,5.181000233 +Macedonia,92,5.175000191 +Somalia,93,5.151000023 +Vietnam,94,5.073999882 +Nigeria,95,5.073999882 +Tajikistan,96,5.040999889 +Bhutan,97,5.011000156 +Kyrgyzstan,98,5.004000187 +Nepal,99,4.961999893 +Mongolia,100,4.954999924 +South Africa,101,4.828999996 +Tunisia,102,4.804999828 +Palestine,103,4.775000095 +Egypt,104,4.735000134 +Bulgaria,105,4.714000225 +Sierra Leone,106,4.709000111 +Cameroon,107,4.695000172 +Iran,108,4.691999912 +Albania,109,4.644000053 +Bangladesh,110,4.607999802 +Namibia,111,4.573999882 +Kenya,112,4.552999973 +Mozambique,113,4.550000191 +Myanmar,114,4.545000076 +Senegal,115,4.534999847 +Zambia,116,4.513999939 +Iraq,117,4.497000217 +Gabon,118,4.465000153 +Ethiopia,119,4.460000038 +Sri Lanka,120,4.440000057 +Armenia,121,4.375999928 +India,122,4.315000057 +Mauritania,123,4.291999817 +Congo (Republic),124,4.290999889 +Georgia,125,4.285999775 +Congo (DRC),126,4.28000021 +Mali,127,4.190000057 +Côte d'Ivoire,128,4.179999828 +Cambodia,129,4.168000221 +Sudan,130,4.138999939 +Ghana,131,4.119999886 +Ukraine,132,4.096000195 +Uganda,133,4.080999851 +Burkina Faso,134,4.032000065 +Niger,135,4.027999878 +Malawi,136,3.970000029 +Chad,137,3.936000109 +Zimbabwe,138,3.875 +Lesotho,139,3.808000088 +Angola,140,3.795000076 +Afghanistan,141,3.79399991 +Botswana,142,3.766000032 +Benin,143,3.657000065 +Madagascar,144,3.644000053 +Haiti,145,3.602999926 +Yemen,146,3.592999935 +South Sudan,147,3.59100008 +Liberia,148,3.532999992 +Guinea,149,3.506999969 +Togo,150,3.494999886 +Rwanda,151,3.470999956 +Syria,152,3.461999893 +Tanzania,153,3.348999977 +Burundi,154,2.904999971 +Central African Republic,155,2.693000078 diff --git a/lib/tasks/project_components/mapping_data_happiness_ink_map/ink_map.jpg b/lib/tasks/project_components/mapping_data_happiness_ink_map/ink_map.jpg new file mode 100644 index 00000000..655cd278 Binary files /dev/null and b/lib/tasks/project_components/mapping_data_happiness_ink_map/ink_map.jpg differ diff --git a/lib/tasks/project_components/mapping_data_happiness_ink_map/main.py b/lib/tasks/project_components/mapping_data_happiness_ink_map/main.py new file mode 100644 index 00000000..79ed43b5 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_happiness_ink_map/main.py @@ -0,0 +1,71 @@ +#!/bin/python3 +from p5 import * +from regions import get_region_coords +from random import randint, seed + +region_list = [] +colours = {} + + +def setup(): +# Put code to run once here + global map + load_data('happy.csv') + size(991, 768) + map = load_image('ink_map.jpg') + + +def draw(): +# Put code to run every frame here + image( + map, # The image to draw + 0, # The x of the top-left corner + 0, # The y of the top-left corner + width, # The width of the image + height # The height of the image + ) + draw_data() + + +def mouse_pressed(): +# Put code to run when the mouse is pressed here + pixel_colour = Color(get(mouse_x, mouse_y)) + try: + facts = colours[pixel_colour] + print(facts['name']) + print(facts['happiness rank']) + except KeyError: + print('Click on a pin') + +def load_data(file_name): + with open(file_name) as f: + for line in f: + #print(line) + info = line.split(',') + region_dict = { + 'name': info[0], + 'happiness rank': int(info[1]), + 'happiness score': float(info[2]) + } + #print(region_dict) + region_list.append(region_dict) + + +def draw_pin(x, y, color): + fill(color) + ellipse(x, y, 10, 10) + + +def draw_data(): + seed(10) + for region in region_list: + region_name = region['name'] # Get the name of the region + region_coords = get_region_coords(region_name) # Use the name to get coordinates + region_x = region_coords['x'] # Get the x coordinate + region_y = region_coords['y'] # Get the y coordinate + region_colour = Color(randint(0,255), randint(0,255), randint(0,255)) # Set the pin colour + colours[region_colour] = region + draw_pin(region_x, region_y, region_colour) + + +run() diff --git a/lib/tasks/project_components/mapping_data_happiness_ink_map/mercator.jpeg b/lib/tasks/project_components/mapping_data_happiness_ink_map/mercator.jpeg new file mode 100644 index 00000000..c964a51d Binary files /dev/null and b/lib/tasks/project_components/mapping_data_happiness_ink_map/mercator.jpeg differ diff --git a/lib/tasks/project_components/mapping_data_happiness_ink_map/mercator_bw.png b/lib/tasks/project_components/mapping_data_happiness_ink_map/mercator_bw.png new file mode 100644 index 00000000..2123563e Binary files /dev/null and b/lib/tasks/project_components/mapping_data_happiness_ink_map/mercator_bw.png differ diff --git a/lib/tasks/project_components/mapping_data_happiness_ink_map/old_map.jpg b/lib/tasks/project_components/mapping_data_happiness_ink_map/old_map.jpg new file mode 100644 index 00000000..fe2e66ed Binary files /dev/null and b/lib/tasks/project_components/mapping_data_happiness_ink_map/old_map.jpg differ diff --git a/lib/tasks/project_components/mapping_data_happiness_ink_map/olympics.csv b/lib/tasks/project_components/mapping_data_happiness_ink_map/olympics.csv new file mode 100644 index 00000000..628cdc92 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_happiness_ink_map/olympics.csv @@ -0,0 +1,21 @@ +United States,4 +United Kingdom,3 +Greece,3 +France,2 +Germany,2 +Australia,2 +Russia,1 +Italy,1 +Sweden,1 +China,1 +Japan,2 +Finland,1 +Canada,1 +Netherlands,1 +South Korea,1 +Belgium,1 +Spain,1 +Brazil,1 +Sweden,1 +Belgium,1 +Mexico,1 diff --git a/lib/tasks/project_components/mapping_data_happiness_ink_map/pop.csv b/lib/tasks/project_components/mapping_data_happiness_ink_map/pop.csv new file mode 100644 index 00000000..2f35a02a --- /dev/null +++ b/lib/tasks/project_components/mapping_data_happiness_ink_map/pop.csv @@ -0,0 +1,184 @@ +Afghanistan,38928346,60,18,25 +Albania,2877797,105,36,63 +Algeria,43851044,18,29,73 +Andorra,77265,164,45,88 +Antigua and Barbuda,97929,223,34,26 +Argentina,45195774,17,32,93 +Armenia,2963243,104,35,63 +Aruba,106766,593,41,44 +Australia,25499884,3,38,86 +Austria,9006398,109,43,57 +Azerbaijan,10139177,123,32,56 +Bahamas,393244,39,32,86 +Bahrain,1701575,2239,32,89 +Bangladesh,164689383,1265,28,39 +Barbados,287375,668,40,31 +Belarus,9449323,47,40,79 +Belgium,11589623,383,42,98 +Belize,397628,17,24,46 +Benin,12123200,108,19,48 +Bhutan,771608,20,28,46 +Bolivia,11673021,11,26,69 +Bosnia and Herzegovina,3280819,64,43,52 +Brazil,212559417,25,33,88 +Brunei,437479,83,32,80 +Bulgaria,6948445,64,45,76 +Burkina Faso,20903273,76,18,31 +Cape Verde,554441,138,27.6,68 +Cambodia,16718965,95,26,24 +Cameroon,26545863,56,19,56 +Canada,37742154,4,41,81 +Central African Republic,37742154,8,18,43 +Chad,16302699,13,16.6,23.3 +Chile,19116201,26,35,85 +Hong Kong,7496981,7140,45,100 +China,1439323776,153,38,61 +Colombia,50882891,46,31,80 +Congo (Republic),5518087,16,19,70 +Congo (DRC),89561403,40,17,46 +Costa Rica,5094118,100,33,80 +Côte d'Ivoire,26378274,83,19,51 +Croatia,4105267,73,44,58 +Cuba,11326616,106,42,78 +Cyprus,1207359,131,37,67 +Czech Republic,10708981,139,43,74 +Denmark,5792202,137,42,88 +Djibouti,988000,43,27,79 +Dominica,71986,96,33.5,74 +Dominican Republic,10847910,225,28,85 +Ecuador,17643054,71,28,63 +Egypt,102334404,103,25,43 +El Salvador,6486205,313,27.6,73.4 +Equatorial Guinea,1402985,50,22,73 +Eritrea,3546421,35,19.2,63.3 +Estonia,1326535,31,42,68 +Swaziland,1160164,67,21,30 +Ethiopia,114963588,115,19,21 +Faroe Islands,48873,35,38,88 +Fiji,896445,49,27.9,59.1 +Finland,5540720,18,43,86 +France,65273511,119,42,82 +French Guiana,298682,4,25,87 +Gabon,2225734,9,23,87 +Gambia,2416668,239,18,59 +Georgia,3989167,57,38,58 +Germany,83783942,240,46,76 +Ghana,31072940,137,22,57 +Greece,10423054,81,46,85 +Grenada,112523,331,32,35.5 +Greenland,56770,0,34,87 +Guadeloupe,400124,237,44,96 +Guam,168775,313,31,95 +Guatemala,17915568,167,23,52 +Guernsey,70000,965,44,86 +Guinea,13132795,53,18,39 +Guinea-Bissau,1968001,70,18.8,44.9 +Guyana,786552,4,27,27 +Haiti,11402528,414,24,56.9 +Vatican City,801,2003,40,100 +Honduras,9904607,89,24,57 +Hungary,9660351,107,43,72 +Iceland,341243,3,37,94 +India,1380004385,464,28,35 +Indonesia,273523615,151,30,56 +Iran,83992949,52,32,76 +Iraq,40222493,93,21,73 +Ireland,4937786,72,38,63 +Israel,8655535,400,30,93 +Italy,60461826,206,47,69 +Jamaica,2961167,273,31,55 +Japan,126476461,347,48,92 +Jersey,106800,819,38,98 +Jordan,10203134,115,24,91 +Kazakhstan,18776707,7,31,58 +Kenya,53771296,94,20,28 +Kosovo,1810463,159,29,65 +Kuwait,4270571,240,37,92 +Kyrgyzstan,6524195,34,26,36 +Laos,7275560,32,24.4,35.7 +Latvia,1886198,30,44,69 +Lebanon,6825445,667,30,78 +Liberia,5057681,53,19,53 +Libya,6847352,4,28.8,78.2 +Liechtenstein,38128,109,41,15 +Lithuania,2722289,43,45,71 +Luxembourg,625978,242,40,88 +Madagascar,27691018,48,19.6,38.5 +Malaysia,32365999,99,30,78 +Maldives,540544,1802,30,35 +Mali,20250833,17,16.3,44 +Malta,441543,1380,43,93 +Martinique,375265,354,47,92 +Mauritania,4649658,5,20,57 +Mauritius,1271768,626,37,41 +Mayotte,272815,728,20,46 +Mexico,128932753,66,29,84 +Moldova,4033963,123,38,43 +Monaco,39242,26337,54,100 +Mongolia,3278290,2,28,67 +Montenegro,628066,47,39,68 +Morocco,36910560,83,30,64 +Mozambique,31255435,40,17.6,38.3 +Namibia,2540905,3,22,55 +Nepal,29136808,203,25,21 +Curaçao,164093,370,41.6,88.7 +Netherlands,17134872,508,43,92 +New Zealand,4822233,18,38,87 +Nicaragua,6624554,55,26.5,57.2 +Niger,24206644,19,15.2,16.5 +Nigeria,206139589,226,18,52 +Norway,5421241,15,40,83 +Oman,5106626,16,31,87 +Pakistan,220892340,287,23,35 +Panama,4314767,58,30,68 +Paraguay,7132538,18,26,62 +Peru,32971854,26,31,79 +Philippines,109581078,368,26,47 +Poland,37846611,124,42,60 +Portugal,10196709,111,46,66 +Puerto Rico,2860853,323,44,88 +Qatar,2881053,248,32,96 +Réunion,895312,358,36,100 +Romania,19237691,84,43,55 +Russia,145934462,9,40,74 +Rwanda,12952218,525,20,18 +St. Kitts and Nevis,53199,205,34.8,32.9 +St. Lucia,183627,301,34,19 +Saint Vincent and the Grenadines,115000,307,33,78 +San Marino,33931,566,47,97 +Saudi Arabia,34813871,16,32,84 +Senegal,16743927,87,19,49 +Serbia,8737371,100,42,56 +Seychelles,98347,214,34,56 +Singapore,5850342,8358,42,99 +Slovakia,5459642,114,41,54 +Slovenia,2078938,103,45,55 +Somalia,15893222,25,17,47 +South Africa,59308690,49,28,67 +South Korea,51269185,527,44,82 +Spain,46754778,94,45,80 +Sri Lanka,21413249,341,34,18 +Sudan,43849260,25,20,35 +Suriname,586632,4,29,65 +Sweden,10099265,25,41,88 +Switzerland,8654622,219,43,74 +Syria,17390388,95,25.6,60 +Taiwan,23816775,673,42,79 +Tanzania,59734218,67,18,37 +Thailand,69799978,137,40,51 +Timor-Leste,1318445,89,20.8,32.8 +Togo,8278724,152,19,43 +Trinidad and Tobago,1399488,273,36,52 +Tunisia,11818619,76,33,70 +Turkey,84339067,110,32,76 +United States,331002651,36,38,83 +Uganda,45741007,229,16.7,25.7 +Ukraine,43733762,75,41,69 +United Arab Emirates,9890402,118,33,86 +United Kingdom,67886011,281,40,83 +Uruguay,3473730,20,36,96 +Uzbekistan,33469203,79,28,50 +Venezuela,28435940,32,30,80 +Vietnam,97338579,314,32,38 +Zambia,18383955,25,18,45 +Zimbabwe,14862924,38,18.7,38.4 diff --git a/lib/tasks/project_components/mapping_data_happiness_ink_map/project_config.yml b/lib/tasks/project_components/mapping_data_happiness_ink_map/project_config.yml new file mode 100644 index 00000000..faff3e26 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_happiness_ink_map/project_config.yml @@ -0,0 +1,50 @@ +NAME: "Mapping Data: World Happiness Measures Ink Map" +IDENTIFIER: "ink-world-happiness" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "regions" + extension: "py" + location: "regions.py" + index: 1 + default: false + - name: "pop" + extension: "csv" + location: "pop.csv" + index: 2 + default: false + - name: "olympics" + extension: "csv" + location: "olympics.csv" + index: 3 + default: false + - name: "carbon" + extension: "csv" + location: "carbon.csv" + index: 4 + default: false + - name: "species" + extension: "csv" + location: "species.csv" + index: 5 + default: false + - name: "gdp" + extension: "csv" + location: "gdp.csv" + index: 6 + default: false + - name: "happy" + extension: "csv" + location: "happy.csv" + index: 7 + default: false + +IMAGES: + - "ink_map.jpg" + - "mercator.jpeg" + - "mercator_bw.png" + - "old_map.jpg" + - "tech_map.jpg" diff --git a/lib/tasks/project_components/mapping_data_happiness_ink_map/regions.py b/lib/tasks/project_components/mapping_data_happiness_ink_map/regions.py new file mode 100644 index 00000000..b5e840fd --- /dev/null +++ b/lib/tasks/project_components/mapping_data_happiness_ink_map/regions.py @@ -0,0 +1,1548 @@ +#!/bin/python3 +from math import radians, pi, log, tan + +regions = { + 'Abkhazia': { + 'name': 'Abkhazia', + 'capital': 'Sukhumi', + 'latitude': 43.001525, + 'longitude': 41.023415 + }, + 'Afghanistan': { + 'name': 'Afghanistan', + 'capital': 'Kabul', + 'latitude': 34.575503, + 'longitude': 69.240073 + }, + 'Aland Islands': { + 'name': 'Aland Islands', + 'capital': 'Mariehamn', + 'latitude': 60.1, + 'longitude': 19.933333 + }, + 'Albania': { + 'name': 'Albania', + 'capital': 'Tirana', + 'latitude': 41.327546, + 'longitude': 19.818698 + }, + 'Algeria': { + 'name': 'Algeria', + 'capital': 'Algiers', + 'latitude': 36.752887, + 'longitude': 3.042048 + }, + 'American Samoa': { + 'name': 'American Samoa', + 'capital': 'Pago Pago', + 'latitude': -14.275632, + 'longitude': -170.702036 + }, + 'Andorra': { + 'name': 'Andorra', + 'capital': 'Andorra la Vella', + 'latitude': 42.506317, + 'longitude': 1.521835 + }, + 'Angola': { + 'name': 'Angola', + 'capital': 'Luanda', + 'latitude': -8.839988, + 'longitude': 13.289437 + }, + 'Anguilla': { + 'name': 'Anguilla', + 'capital': 'The Valley', + 'latitude': 18.214813, + 'longitude': -63.057441 + }, + 'Antarctica': { + 'name': 'Antarctica', + 'capital': 'South Pole', + 'latitude': -90.0, + 'longitude': 0.0 + }, + 'Antigua and Barbuda': { + 'name': 'Antigua and Barbuda', + 'capital': "St. John's", + 'latitude': 17.12741, + 'longitude': -61.846772 + }, + 'Argentina': { + 'name': 'Argentina', + 'capital': 'Buenos Aires', + 'latitude': -34.603684, + 'longitude': -58.381559 + }, + 'Armenia': { + 'name': 'Armenia', + 'capital': 'Yerevan', + 'latitude': 40.179186, + 'longitude': 44.499103 + }, + 'Aruba': { + 'name': 'Aruba', + 'capital': 'Oranjestad', + 'latitude': 12.509204, + 'longitude': -70.008631 + }, + 'Australia': { + 'name': 'Australia', + 'capital': 'Canberra', + 'latitude': -35.282, + 'longitude': 149.128684 + }, + 'Austria': { + 'name': 'Austria', + 'capital': 'Vienna', + 'latitude': 48.208174, + 'longitude': 16.373819 + }, + 'Azerbaijan': { + 'name': 'Azerbaijan', + 'capital': 'Baku', + 'latitude': 40.409262, + 'longitude': 49.867092 + }, + 'Bahamas': { + 'name': 'Bahamas', + 'capital': 'Nassau', + 'latitude': 25.047984, + 'longitude': -77.355413 + }, + 'Bahrain': { + 'name': 'Bahrain', + 'capital': 'Manama', + 'latitude': 26.228516, + 'longitude': 50.58605 + }, + 'Bangladesh': { + 'name': 'Bangladesh', + 'capital': 'Dhaka', + 'latitude': 23.810332, + 'longitude': 90.412518 + }, + 'Barbados': { + 'name': 'Barbados', + 'capital': 'Bridgetown', + 'latitude': 13.113222, + 'longitude': -59.598809 + }, + 'Belarus': { + 'name': 'Belarus', + 'capital': 'Minsk', + 'latitude': 53.90454, + 'longitude': 27.561524 + }, + 'Belgium': { + 'name': 'Belgium', + 'capital': 'Brussels', + 'latitude': 50.85034, + 'longitude': 4.35171 + }, + 'Belize': { + 'name': 'Belize', + 'capital': 'Belmopan', + 'latitude': 17.251011, + 'longitude': -88.75902 + }, + 'Benin': { + 'name': 'Benin', + 'capital': 'Porto-Novo', + 'latitude': 6.496857, + 'longitude': 2.628852 + }, + 'Bermuda': { + 'name': 'Bermuda', + 'capital': 'Hamilton', + 'latitude': 32.294816, + 'longitude': -64.781375 + }, + 'Bhutan': { + 'name': 'Bhutan', + 'capital': 'Thimphu', + 'latitude': 27.472792, + 'longitude': 89.639286 + }, + 'Bolivia': { + 'name': 'Bolivia', + 'capital': 'La Paz', + 'latitude': -16.489689, + 'longitude': -68.119294 + }, + 'Bosnia and Herzegovina': { + 'name': 'Bosnia and Herzegovina', + 'capital': 'Sarajevo', + 'latitude': 43.856259, + 'longitude': 18.413076 + }, + 'Botswana': { + 'name': 'Botswana', + 'capital': 'Gaborone', + 'latitude': -24.628208, + 'longitude': 25.923147 + }, + 'Bouvet Island': { + 'name': 'Bouvet Island', + 'capital': 'Bouvet Island', + 'latitude': -54.43, + 'longitude': 3.38 + }, + 'Brazil': { + 'name': 'Brazil', + 'capital': 'Brasília', + 'latitude': -15.794229, + 'longitude': -47.882166 + }, + 'British Indian Ocean Territory': { + 'name': 'British Indian Ocean Territory', + 'capital': 'Camp Justice', + 'latitude': 21.3419, + 'longitude': 55.4778 + }, + 'British Virgin Islands': { + 'name': 'British Virgin Islands', + 'capital': 'Road Town', + 'latitude': 18.428612, + 'longitude': -64.618466 + }, + 'Brunei': { + 'name': 'Brunei', + 'capital': 'Bandar Seri Begawan', + 'latitude': 4.903052, + 'longitude': 114.939821 + }, + 'Bulgaria': { + 'name': 'Bulgaria', + 'capital': 'Sofia', + 'latitude': 42.697708, + 'longitude': 23.321868 + }, + 'Burkina Faso': { + 'name': 'Burkina Faso', + 'capital': 'Ouagadougou', + 'latitude': 12.371428, + 'longitude': -1.51966 + }, + 'Burundi': { + 'name': 'Burundi', + 'capital': 'Bujumbura', + 'latitude': -3.361378, + 'longitude': 29.359878 + }, + 'Cambodia': { + 'name': 'Cambodia', + 'capital': 'Phnom Penh', + 'latitude': 11.544873, + 'longitude': 104.892167 + }, + 'Cameroon': { + 'name': 'Cameroon', + 'capital': 'Yaoundé', + 'latitude': 3.848033, + 'longitude': 11.502075 + }, + 'Canada': { + 'name': 'Canada', + 'capital': 'Ottawa', + 'latitude': 45.42153, + 'longitude': -75.697193 + }, + 'Cape Verde': { + 'name': 'Cape Verde', + 'capital': 'Praia', + 'latitude': 14.93305, + 'longitude': -23.513327 + }, + 'Cayman Islands': { + 'name': 'Cayman Islands', + 'capital': 'George Town', + 'latitude': 19.286932, + 'longitude': -81.367439 + }, + 'Central African Republic': { + 'name': 'Central African Republic', + 'capital': 'Bangui', + 'latitude': 4.394674, + 'longitude': 18.55819 + }, + 'Chad': { + 'name': 'Chad', + 'capital': "N'Djamena", + 'latitude': 12.134846, + 'longitude': 15.055742 + }, + 'Chile': { + 'name': 'Chile', + 'capital': 'Santiago', + 'latitude': -33.44889, + 'longitude': -70.669265 + }, + 'China': { + 'name': 'China', + 'capital': 'Beijing', + 'latitude': 39.904211, + 'longitude': 116.407395 + }, + 'Christmas Island': { + 'name': 'Christmas Island', + 'capital': 'Flying Fish Cove', + 'latitude': -10.420686, + 'longitude': 105.679379 + }, + 'Cocos (Keeling) Islands': { + 'name': 'Cocos (Keeling) Islands', + 'capital': 'West Island', + 'latitude': -12.188834, + 'longitude': 96.829316 + }, + 'Colombia': { + 'name': 'Colombia', + 'capital': 'Bogotá', + 'latitude': 4.710989, + 'longitude': -74.072092 + }, + 'Comoros': { + 'name': 'Comoros', + 'capital': 'Moroni', + 'latitude': -11.717216, + 'longitude': 43.247315 + }, + 'Congo (DRC)': { + 'name': 'Congo (DRC)', + 'capital': 'Kinshasa', + 'latitude': -4.441931, + 'longitude': 15.266293 + }, + 'Congo (Republic)': { + 'name': 'Congo (Republic)', + 'capital': 'Brazzaville', + 'latitude': -4.26336, + 'longitude': 15.242885 + }, + 'Cook Islands': { + 'name': 'Cook Islands', + 'capital': 'Avarua', + 'latitude': -21.212901, + 'longitude': -159.782306 + }, + 'Costa Rica': { + 'name': 'Costa Rica', + 'capital': 'San José', + 'latitude': 9.928069, + 'longitude': -84.090725 + }, + "Côte d'Ivoire": { + 'name': "Côte d'Ivoire", + 'capital': 'Yamoussoukro', + 'latitude': 6.827623, + 'longitude': -5.289343 + }, + 'Croatia': { + 'name': 'Croatia', + 'capital': 'Zagreb ', + 'latitude': 45.815011, + 'longitude': 15.981919 + }, + 'Cuba': { + 'name': 'Cuba', + 'capital': 'Havana', + 'latitude': 23.05407, + 'longitude': -82.345189 + }, + 'Curaçao': { + 'name': 'Curaçao', + 'capital': 'Willemstad', + 'latitude': 12.122422, + 'longitude': -68.882423 + }, + 'Cyprus': { + 'name': 'Cyprus', + 'capital': 'Nicosia', + 'latitude': 35.185566, + 'longitude': 33.382276 + }, + 'Czech Republic': { + 'name': 'Czech Republic', + 'capital': 'Prague', + 'latitude': 50.075538, + 'longitude': 14.4378 + }, + 'Denmark': { + 'name': 'Denmark', + 'capital': 'Copenhagen', + 'latitude': 55.676097, + 'longitude': 12.568337 + }, + 'Djibouti': { + 'name': 'Djibouti', + 'capital': 'Djibouti', + 'latitude': 11.572077, + 'longitude': 43.145647 + }, + 'Dominica': { + 'name': 'Dominica', + 'capital': 'Roseau', + 'latitude': 15.309168, + 'longitude': -61.379355 + }, + 'Dominican Republic': { + 'name': 'Dominican Republic', + 'capital': 'Santo Domingo', + 'latitude': 18.486058, + 'longitude': -69.931212 + }, + 'Ecuador': { + 'name': 'Ecuador', + 'capital': 'Quito', + 'latitude': -0.180653, + 'longitude': -78.467838 + }, + 'Egypt': { + 'name': 'Egypt', + 'capital': 'Cairo', + 'latitude': 30.04442, + 'longitude': 31.235712 + }, + 'El Salvador': { + 'name': 'El Salvador', + 'capital': 'San Salvador', + 'latitude': 13.69294, + 'longitude': -89.218191 + }, + 'Equatorial Guinea': { + 'name': 'Equatorial Guinea', + 'capital': 'Malabo', + 'latitude': 3.750412, + 'longitude': 8.737104 + }, + 'Eritrea': { + 'name': 'Eritrea', + 'capital': 'Asmara', + 'latitude': 15.322877, + 'longitude': 38.925052 + }, + 'Estonia': { + 'name': 'Estonia', + 'capital': 'Tallinn', + 'latitude': 59.436961, + 'longitude': 24.753575 + }, + 'Ethiopia': { + 'name': 'Ethiopia', + 'capital': 'Addis Ababa', + 'latitude': 8.980603, + 'longitude': 38.757761 + }, + 'Falkland Islands (Islas Malvinas)': { + 'name': 'Falkland Islands (Islas Malvinas)', + 'capital': 'Stanley', + 'latitude': -51.697713, + 'longitude': -57.851663 + }, + 'Faroe Islands': { + 'name': 'Faroe Islands', + 'capital': 'Tórshavn', + 'latitude': 62.007864, + 'longitude': -6.790982 + }, + 'Fiji': { + 'name': 'Fiji', + 'capital': 'Suva', + 'latitude': -18.124809, + 'longitude': 178.450079 + }, + 'Finland': { + 'name': 'Finland', + 'capital': 'Helsinki', + 'latitude': 60.173324, + 'longitude': 24.941025 + }, + 'France': { + 'name': 'France', + 'capital': 'Paris', + 'latitude': 48.856614, + 'longitude': 2.352222 + }, + 'French Guiana': { + 'name': 'French Guiana', + 'capital': 'Cayenne', + 'latitude': 4.92242, + 'longitude': -52.313453 + }, + 'French Polynesia': { + 'name': 'French Polynesia', + 'capital': 'Papeete', + 'latitude': -17.551625, + 'longitude': -149.558476 + }, + 'French Southern Territories': { + 'name': 'French Southern Territories', + 'capital': 'Saint-Pierre ', + 'latitude': -21.3419, + 'longitude': 55.4778 + }, + 'Gabon': { + 'name': 'Gabon', + 'capital': 'Libreville', + 'latitude': 0.416198, + 'longitude': 9.467268 + }, + 'Gambia': { + 'name': 'Gambia', + 'capital': 'Banjul', + 'latitude': 13.454876, + 'longitude': -16.579032 + }, + 'Georgia': { + 'name': 'Georgia', + 'capital': 'Tbilisi', + 'latitude': 41.715138, + 'longitude': 44.827096 + }, + 'Germany': { + 'name': 'Germany', + 'capital': 'Berlin', + 'latitude': 52.520007, + 'longitude': 13.404954 + }, + 'Ghana': { + 'name': 'Ghana', + 'capital': 'Accra', + 'latitude': 5.603717, + 'longitude': -0.186964 + }, + 'Gibraltar': { + 'name': 'Gibraltar', + 'capital': 'Gibraltar', + 'latitude': 36.140773, + 'longitude': -5.353599 + }, + 'Greece': { + 'name': 'Greece', + 'capital': 'Athens', + 'latitude': 37.983917, + 'longitude': 23.72936 + }, + 'Greenland': { + 'name': 'Greenland', + 'capital': 'Nuuk', + 'latitude': 64.18141, + 'longitude': -51.694138 + }, + 'Grenada': { + 'name': 'Grenada', + 'capital': "St. George's", + 'latitude': 12.056098, + 'longitude': -61.7488 + }, + 'Guadeloupe': { + 'name': 'Guadeloupe', + 'capital': 'Basse-Terre', + 'latitude': 16.014453, + 'longitude': -61.706411 + }, + 'Guam': { + 'name': 'Guam', + 'capital': 'Hagåtña', + 'latitude': 13.470891, + 'longitude': 144.751278 + }, + 'Guatemala': { + 'name': 'Guatemala', + 'capital': 'Guatemala City', + 'latitude': 14.634915, + 'longitude': -90.506882 + }, + 'Guernsey': { + 'name': 'Guernsey', + 'capital': 'St. Peter Port', + 'latitude': 49.455443, + 'longitude': -2.536871 + }, + 'Guinea': { + 'name': 'Guinea', + 'capital': 'Conakry', + 'latitude': 9.641185, + 'longitude': -13.578401 + }, + 'Guinea-Bissau': { + 'name': 'Guinea-Bissau', + 'capital': 'Bissau', + 'latitude': 11.881655, + 'longitude': -15.617794 + }, + 'Guyana': { + 'name': 'Guyana', + 'capital': 'Georgetown', + 'latitude': 6.801279, + 'longitude': -58.155125 + }, + 'Haiti': { + 'name': 'Haiti', + 'capital': 'Port-au-Prince', + 'latitude': 18.594395, + 'longitude': -72.307433 + }, + 'Honduras': { + 'name': 'Honduras', + 'capital': 'Tegucigalpa', + 'latitude': 14.072275, + 'longitude': -87.192136 + }, + 'Hong Kong': { + 'name': 'Hong Kong', + 'capital': 'Hong Kong', + 'latitude': 22.396428, + 'longitude': 114.109497 + }, + 'Hungary': { + 'name': 'Hungary', + 'capital': 'Budapest', + 'latitude': 47.497912, + 'longitude': 19.040235 + }, + 'Iceland': { + 'name': 'Iceland', + 'capital': 'Reykjavík', + 'latitude': 64.126521, + 'longitude': -21.817439 + }, + 'India': { + 'name': 'India', + 'capital': 'New Delhi', + 'latitude': 28.613939, + 'longitude': 77.209021 + }, + 'Indonesia': { + 'name': 'Indonesia', + 'capital': 'Jakarta', + 'latitude': -6.208763, + 'longitude': 106.845599 + }, + 'Iran': { + 'name': 'Iran', + 'capital': 'Tehran', + 'latitude': 35.689198, + 'longitude': 51.388974 + }, + 'Iraq': { + 'name': 'Iraq', + 'capital': 'Baghdad', + 'latitude': 33.312806, + 'longitude': 44.361488 + }, + 'Ireland': { + 'name': 'Ireland', + 'capital': 'Dublin', + 'latitude': 53.349805, + 'longitude': -6.26031 + }, + 'Isle of Man': { + 'name': 'Isle of Man', + 'capital': 'Douglas', + 'latitude': 54.152337, + 'longitude': -4.486123 + }, + 'Israel': { + 'name': 'Israel', + 'capital': 'Tel Aviv', + 'latitude': 32.0853, + 'longitude': 34.781768 + }, + 'Italy': { + 'name': 'Italy', + 'capital': 'Rome', + 'latitude': 41.902784, + 'longitude': 12.496366 + }, + 'Jamaica': { + 'name': 'Jamaica', + 'capital': 'Kingston', + 'latitude': 18.042327, + 'longitude': -76.802893 + }, + 'Japan': { + 'name': 'Japan', + 'capital': 'Tokyo', + 'latitude': 35.709026, + 'longitude': 139.731992 + }, + 'Jersey': { + 'name': 'Jersey', + 'capital': 'St. Helier', + 'latitude': 49.186823, + 'longitude': -2.106568 + }, + 'Jordan': { + 'name': 'Jordan', + 'capital': 'Amman', + 'latitude': 31.956578, + 'longitude': 35.945695 + }, + 'Kazakhstan': { + 'name': 'Kazakhstan', + 'capital': 'Astana', + 'latitude': 51.160523, + 'longitude': 71.470356 + }, + 'Kenya': { + 'name': 'Kenya', + 'capital': 'Nairobi', + 'latitude': -1.292066, + 'longitude': 36.821946 + }, + 'Kiribati': { + 'name': 'Kiribati', + 'capital': 'Tarawa Atoll', + 'latitude': 1.451817, + 'longitude': 172.971662 + }, + 'Kosovo': { + 'name': 'Kosovo', + 'capital': 'Pristina', + 'latitude': 42.662914, + 'longitude': 21.165503 + }, + 'Kuwait': { + 'name': 'Kuwait', + 'capital': 'Kuwait City', + 'latitude': 29.375859, + 'longitude': 47.977405 + }, + 'Kyrgyzstan': { + 'name': 'Kyrgyzstan', + 'capital': 'Bishkek', + 'latitude': 42.874621, + 'longitude': 74.569762 + }, + 'Laos': { + 'name': 'Laos', + 'capital': 'Vientiane', + 'latitude': 17.975706, + 'longitude': 102.633104 + }, + 'Latvia': { + 'name': 'Latvia', + 'capital': 'Riga', + 'latitude': 56.949649, + 'longitude': 24.105186 + }, + 'Lebanon': { + 'name': 'Lebanon', + 'capital': 'Beirut', + 'latitude': 33.888629, + 'longitude': 35.495479 + }, + 'Lesotho': { + 'name': 'Lesotho', + 'capital': 'Maseru', + 'latitude': -29.363219, + 'longitude': 27.51436 + }, + 'Liberia': { + 'name': 'Liberia', + 'capital': 'Monrovia', + 'latitude': 6.290743, + 'longitude': -10.760524 + }, + 'Libya': { + 'name': 'Libya', + 'capital': 'Tripoli', + 'latitude': 32.887209, + 'longitude': 13.191338 + }, + 'Liechtenstein': { + 'name': 'Liechtenstein', + 'capital': 'Vaduz', + 'latitude': 47.14103, + 'longitude': 9.520928 + }, + 'Lithuania': { + 'name': 'Lithuania', + 'capital': 'Vilnius', + 'latitude': 54.687156, + 'longitude': 25.279651 + }, + 'Luxembourg': { + 'name': 'Luxembourg', + 'capital': 'Luxembourg', + 'latitude': 49.611621, + 'longitude': 6.131935 + }, + 'Macau': { + 'name': 'Macau', + 'capital': 'Macau', + 'latitude': 22.166667, + 'longitude': 113.55 + }, + 'Macedonia': { + 'name': 'Macedonia', + 'capital': 'Skopje', + 'latitude': 41.997346, + 'longitude': 21.427996 + }, + 'Madagascar': { + 'name': 'Madagascar', + 'capital': 'Antananarivo', + 'latitude': -18.87919, + 'longitude': 47.507905 + }, + 'Malawi': { + 'name': 'Malawi', + 'capital': 'Lilongwe', + 'latitude': -13.962612, + 'longitude': 33.774119 + }, + 'Malaysia': { + 'name': 'Malaysia', + 'capital': 'Kuala Lumpur', + 'latitude': 3.139003, + 'longitude': 101.686855 + }, + 'Maldives': { + 'name': 'Maldives', + 'capital': 'Malé', + 'latitude': 4.175496, + 'longitude': 73.509347 + }, + 'Mali': { + 'name': 'Mali', + 'capital': 'Bamako', + 'latitude': 12.639232, + 'longitude': -8.002889 + }, + 'Malta': { + 'name': 'Malta', + 'capital': 'Valletta', + 'latitude': 35.898909, + 'longitude': 14.514553 + }, + 'Marshall Islands': { + 'name': 'Marshall Islands', + 'capital': 'Majuro', + 'latitude': 7.116421, + 'longitude': 171.185774 + }, + 'Martinique': { + 'name': 'Martinique', + 'capital': 'Fort-de-France', + 'latitude': 14.616065, + 'longitude': -61.05878 + }, + 'Mauritania': { + 'name': 'Mauritania', + 'capital': 'Nouakchott', + 'latitude': 18.07353, + 'longitude': -15.958237 + }, + 'Mauritius': { + 'name': 'Mauritius', + 'capital': 'Port Louis', + 'latitude': -20.166896, + 'longitude': 57.502332 + }, + 'Mayotte': { + 'name': 'Mayotte', + 'capital': 'Mamoudzou', + 'latitude': -12.780949, + 'longitude': 45.227872 + }, + 'Mexico': { + 'name': 'Mexico', + 'capital': 'Mexico City', + 'latitude': 19.432608, + 'longitude': -99.133208 + }, + 'Micronesia': { + 'name': 'Micronesia', + 'capital': 'Palikir', + 'latitude': 6.914712, + 'longitude': 158.161027 + }, + 'Moldova': { + 'name': 'Moldova', + 'capital': 'Chisinau', + 'latitude': 47.010453, + 'longitude': 28.86381 + }, + 'Monaco': { + 'name': 'Monaco', + 'capital': 'Monaco', + 'latitude': 43.737411, + 'longitude': 7.420816 + }, + 'Mongolia': { + 'name': 'Mongolia', + 'capital': 'Ulaanbaatar', + 'latitude': 47.886399, + 'longitude': 106.905744 + }, + 'Montenegro': { + 'name': 'Montenegro', + 'capital': 'Podgorica', + 'latitude': 42.43042, + 'longitude': 19.259364 + }, + 'Montserrat': { + 'name': 'Montserrat', + 'capital': 'Plymouth', + 'latitude': 16.706523, + 'longitude': -62.215738 + }, + 'Morocco': { + 'name': 'Morocco', + 'capital': 'Rabat', + 'latitude': 33.97159, + 'longitude': -6.849813 + }, + 'Mozambique': { + 'name': 'Mozambique', + 'capital': 'Maputo', + 'latitude': -25.891968, + 'longitude': 32.605135 + }, + 'Myanmar': { + 'name': 'Myanmar', + 'capital': 'Naypyidaw', + 'latitude': 19.763306, + 'longitude': 96.07851 + }, + 'Nagorno-Karabakh Republic': { + 'name': 'Nagorno-Karabakh Republic', + 'capital': 'Stepanakert', + 'latitude': 39.826385, + 'longitude': 46.763595 + }, + 'Namibia': { + 'name': 'Namibia', + 'capital': 'Windhoek', + 'latitude': -22.560881, + 'longitude': 17.065755 + }, + 'Nauru': { + 'name': 'Nauru', + 'capital': 'Yaren', + 'latitude': -0.546686, + 'longitude': 166.921091 + }, + 'Nepal': { + 'name': 'Nepal', + 'capital': 'Kathmandu', + 'latitude': 27.717245, + 'longitude': 85.323961 + }, + 'Netherlands': { + 'name': 'Netherlands', + 'capital': 'Amsterdam', + 'latitude': 52.370216, + 'longitude': 4.895168 + }, + 'Netherlands Antilles': { + 'name': 'Netherlands Antilles', + 'capital': 'Willemstad ', + 'latitude': 12.1091242, + 'longitude': -68.9316546 + }, + 'New Caledonia': { + 'name': 'New Caledonia', + 'capital': 'Nouméa', + 'latitude': -22.255823, + 'longitude': 166.450524 + }, + 'New Zealand': { + 'name': 'New Zealand', + 'capital': 'Wellington', + 'latitude': -41.28646, + 'longitude': 174.776236 + }, + 'Nicaragua': { + 'name': 'Nicaragua', + 'capital': 'Managua', + 'latitude': 12.114993, + 'longitude': -86.236174 + }, + 'Niger': { + 'name': 'Niger', + 'capital': 'Niamey', + 'latitude': 13.511596, + 'longitude': 2.125385 + }, + 'Nigeria': { + 'name': 'Nigeria', + 'capital': 'Abuja', + 'latitude': 9.076479, + 'longitude': 7.398574 + }, + 'Niue': { + 'name': 'Niue', + 'capital': 'Alofi', + 'latitude': -19.055371, + 'longitude': -169.917871 + }, + 'Norfolk Island': { + 'name': 'Norfolk Island', + 'capital': 'Kingston', + 'latitude': -29.056394, + 'longitude': 167.959588 + }, + 'North Korea': { + 'name': 'North Korea', + 'capital': 'Pyongyang', + 'latitude': 39.039219, + 'longitude': 125.762524 + }, + 'Northern Cyprus': { + 'name': 'Northern Cyprus', + 'capital': 'Nicosia', + 'latitude': 35.185566, + 'longitude': 33.382276 + }, + 'Northern Mariana Islands': { + 'name': 'Northern Mariana Islands', + 'capital': 'Saipan', + 'latitude': 15.177801, + 'longitude': 145.750967 + }, + 'Norway': { + 'name': 'Norway', + 'capital': 'Oslo', + 'latitude': 59.913869, + 'longitude': 10.752245 + }, + 'Oman': { + 'name': 'Oman', + 'capital': 'Muscat', + 'latitude': 23.58589, + 'longitude': 58.405923 + }, + 'Pakistan': { + 'name': 'Pakistan', + 'capital': 'Islamabad', + 'latitude': 33.729388, + 'longitude': 73.093146 + }, + 'Palau': { + 'name': 'Palau', + 'capital': 'Ngerulmud', + 'latitude': 7.500384, + 'longitude': 134.624289 + }, + 'Palestine': { + 'name': 'Palestine', + 'capital': 'Ramallah', + 'latitude': 31.9073509, + 'longitude': 35.5354719 + }, + 'Panama': { + 'name': 'Panama', + 'capital': 'Panama City', + 'latitude': 9.101179, + 'longitude': -79.402864 + }, + 'Papua New Guinea': { + 'name': 'Papua New Guinea', + 'capital': 'Port Moresby', + 'latitude': -9.4438, + 'longitude': 147.180267 + }, + 'Paraguay': { + 'name': 'Paraguay', + 'capital': 'Asuncion', + 'latitude': -25.26374, + 'longitude': -57.575926 + }, + 'Peru': { + 'name': 'Peru', + 'capital': 'Lima', + 'latitude': -12.046374, + 'longitude': -77.042793 + }, + 'Philippines': { + 'name': 'Philippines', + 'capital': 'Manila', + 'latitude': 14.599512, + 'longitude': 120.98422 + }, + 'Pitcairn Islands': { + 'name': 'Pitcairn Islands', + 'capital': 'Adamstown', + 'latitude': -25.06629, + 'longitude': -130.100464 + }, + 'Poland': { + 'name': 'Poland', + 'capital': 'Warsaw', + 'latitude': 52.229676, + 'longitude': 21.012229 + }, + 'Portugal': { + 'name': 'Portugal', + 'capital': 'Lisbon', + 'latitude': 38.722252, + 'longitude': -9.139337 + }, + 'Puerto Rico': { + 'name': 'Puerto Rico', + 'capital': 'San Juan', + 'latitude': 18.466334, + 'longitude': -66.105722 + }, + 'Qatar': { + 'name': 'Qatar', + 'capital': 'Doha', + 'latitude': 25.285447, + 'longitude': 51.53104 + }, + 'Réunion': { + 'name': 'Réunion', + 'capital': 'Saint-Denis', + 'latitude': -20.882057, + 'longitude': 55.450675 + }, + 'Romania': { + 'name': 'Romania', + 'capital': 'Bucharest', + 'latitude': 44.426767, + 'longitude': 26.102538 + }, + 'Russia': { + 'name': 'Russia', + 'capital': 'Moscow', + 'latitude': 55.755826, + 'longitude': 37.6173 + }, + 'Rwanda': { + 'name': 'Rwanda', + 'capital': 'Kigali', + 'latitude': -1.957875, + 'longitude': 30.112735 + }, + 'Saint Pierre and Miquelon': { + 'name': 'Saint Pierre and Miquelon', + 'capital': 'St. Pierre', + 'latitude': 46.775846, + 'longitude': -56.180636 + }, + 'Saint Vincent and the Grenadines': { + 'name': 'Saint Vincent and the Grenadines', + 'capital': 'Kingstown', + 'latitude': 13.160025, + 'longitude': -61.224816 + }, + 'Samoa': { + 'name': 'Samoa', + 'capital': 'Apia', + 'latitude': -13.850696, + 'longitude': -171.751355 + }, + 'San Marino': { + 'name': 'San Marino', + 'capital': 'San Marino', + 'latitude': 43.935591, + 'longitude': 12.447281 + }, + 'São Tomé and Príncipe': { + 'name': 'São Tomé and Príncipe', + 'capital': 'São Tomé', + 'latitude': 0.330192, + 'longitude': 6.733343 + }, + 'Saudi Arabia': { + 'name': 'Saudi Arabia', + 'capital': 'Riyadh', + 'latitude': 24.749403, + 'longitude': 46.902838 + }, + 'Senegal': { + 'name': 'Senegal', + 'capital': 'Dakar', + 'latitude': 14.764504, + 'longitude': -17.366029 + }, + 'Serbia': { + 'name': 'Serbia', + 'capital': 'Belgrade', + 'latitude': 44.786568, + 'longitude': 20.448922 + }, + 'Seychelles': { + 'name': 'Seychelles', + 'capital': 'Victoria', + 'latitude': -4.619143, + 'longitude': 55.451315 + }, + 'Sierra Leone': { + 'name': 'Sierra Leone', + 'capital': 'Freetown', + 'latitude': 8.465677, + 'longitude': -13.231722 + }, + 'Singapore': { + 'name': 'Singapore', + 'capital': 'Singapore', + 'latitude': 1.280095, + 'longitude': 103.850949 + }, + 'Slovakia': { + 'name': 'Slovakia', + 'capital': 'Bratislava', + 'latitude': 48.145892, + 'longitude': 17.107137 + }, + 'Slovenia': { + 'name': 'Slovenia', + 'capital': 'Ljubljana', + 'latitude': 46.056947, + 'longitude': 14.505751 + }, + 'Solomon Islands': { + 'name': 'Solomon Islands', + 'capital': 'Honiara', + 'latitude': -9.445638, + 'longitude': 159.9729 + }, + 'Somalia': { + 'name': 'Somalia', + 'capital': 'Mogadishu', + 'latitude': 2.046934, + 'longitude': 45.318162 + }, + 'South Africa': { + 'name': 'South Africa', + 'capital': 'Pretoria', + 'latitude': -25.747868, + 'longitude': 28.229271 + }, + 'South Georgia and the South Sandwich Islands': { + 'name': 'South Georgia and the South Sandwich Islands', + 'capital': 'King Edward Point', + 'latitude': -54.28325, + 'longitude': -36.493735 + }, + 'South Korea': { + 'name': 'South Korea', + 'capital': 'Seoul', + 'latitude': 37.566535, + 'longitude': 126.977969 + }, + 'South Ossetia': { + 'name': 'South Ossetia', + 'capital': 'Tskhinvali', + 'latitude': 42.22146, + 'longitude': 43.964405 + }, + 'South Sudan': { + 'name': 'South Sudan', + 'capital': 'Juba', + 'latitude': 4.859363, + 'longitude': 31.57125 + }, + 'Spain': { + 'name': 'Spain', + 'capital': 'Madrid', + 'latitude': 40.416775, + 'longitude': -3.70379 + }, + 'Sri Lanka': { + 'name': 'Sri Lanka', + 'capital': 'Sri Jayawardenepura Kotte', + 'latitude': 6.89407, + 'longitude': 79.902478 + }, + 'St. Barthélemy': { + 'name': 'St. Barthélemy', + 'capital': 'Gustavia', + 'latitude': 17.896435, + 'longitude': -62.852201 + }, + 'St. Kitts and Nevis': { + 'name': 'St. Kitts and Nevis', + 'capital': 'Basseterre', + 'latitude': 17.302606, + 'longitude': -62.717692 + }, + 'St. Lucia': { + 'name': 'St. Lucia', + 'capital': 'Castries', + 'latitude': 14.010109, + 'longitude': -60.987469 + }, + 'St. Martin': { + 'name': 'St. Martin', + 'capital': 'Marigot', + 'latitude': 18.067519, + 'longitude': -63.082466 + }, + 'Sudan': { + 'name': 'Sudan', + 'capital': 'Khartoum', + 'latitude': 15.500654, + 'longitude': 32.559899 + }, + 'Suriname': { + 'name': 'Suriname', + 'capital': 'Paramaribo', + 'latitude': 5.852036, + 'longitude': -55.203828 + }, + 'Svalbard and Jan Mayen': { + 'name': 'Svalbard and Jan Mayen', + 'capital': 'Longyearbyen ', + 'latitude': 78.062, + 'longitude': 22.055 + }, + 'Swaziland': { + 'name': 'Swaziland', + 'capital': 'Mbabane', + 'latitude': -26.305448, + 'longitude': 31.136672 + }, + 'Sweden': { + 'name': 'Sweden', + 'capital': 'Stockholm', + 'latitude': 59.329323, + 'longitude': 18.068581 + }, + 'Switzerland': { + 'name': 'Switzerland', + 'capital': 'Bern', + 'latitude': 46.947974, + 'longitude': 7.447447 + }, + 'Syria': { + 'name': 'Syria', + 'capital': 'Damascus', + 'latitude': 33.513807, + 'longitude': 36.276528 + }, + 'Taiwan': { + 'name': 'Taiwan', + 'capital': 'Taipei', + 'latitude': 25.032969, + 'longitude': 121.565418 + }, + 'Tajikistan': { + 'name': 'Tajikistan', + 'capital': 'Dushanbe', + 'latitude': 38.559772, + 'longitude': 68.787038 + }, + 'Tanzania': { + 'name': 'Tanzania', + 'capital': 'Dodoma', + 'latitude': -6.162959, + 'longitude': 35.751607 + }, + 'Thailand': { + 'name': 'Thailand', + 'capital': 'Bangkok', + 'latitude': 13.756331, + 'longitude': 100.501765 + }, + 'Timor-Leste': { + 'name': 'Timor-Leste', + 'capital': 'Dili', + 'latitude': -8.556856, + 'longitude': 125.560314 + }, + 'Togo': { + 'name': 'Togo', + 'capital': 'Lomé', + 'latitude': 6.172497, + 'longitude': 1.231362 + }, + 'Tokelau': { + 'name': 'Tokelau', + 'capital': 'Nukunonu', + 'latitude': -9.2005, + 'longitude': -171.848 + }, + 'Tonga': { + 'name': 'Tonga', + 'capital': 'Nukuʻalofa', + 'latitude': -21.139342, + 'longitude': -175.204947 + }, + 'Transnistria': { + 'name': 'Transnistria', + 'capital': 'Tiraspol', + 'latitude': 46.848185, + 'longitude': 29.596805 + }, + 'Trinidad and Tobago': { + 'name': 'Trinidad and Tobago', + 'capital': 'Port of Spain', + 'latitude': 10.654901, + 'longitude': -61.501926 + }, + 'Tristan da Cunha': { + 'name': 'Tristan da Cunha', + 'capital': 'Edinburgh of the Seven Seas', + 'latitude': -37.068042, + 'longitude': -12.311315 + }, + 'Tunisia': { + 'name': 'Tunisia', + 'capital': 'Tunis', + 'latitude': 36.806495, + 'longitude': 10.181532 + }, + 'Turkey': { + 'name': 'Turkey', + 'capital': 'Ankara', + 'latitude': 39.933364, + 'longitude': 32.859742 + }, + 'Turkmenistan': { + 'name': 'Turkmenistan', + 'capital': 'Ashgabat', + 'latitude': 37.960077, + 'longitude': 58.326063 + }, + 'Turks and Caicos Islands': { + 'name': 'Turks and Caicos Islands', + 'capital': 'Cockburn Town', + 'latitude': 21.467458, + 'longitude': -71.13891 + }, + 'Tuvalu': { + 'name': 'Tuvalu', + 'capital': 'Funafuti', + 'latitude': -8.520066, + 'longitude': 179.198128 + }, + 'U.S. Virgin Islands': { + 'name': 'U.S. Virgin Islands', + 'capital': 'Charlotte Amalie', + 'latitude': 18.3419, + 'longitude': -64.930701 + }, + 'Uganda': { + 'name': 'Uganda', + 'capital': 'Kampala', + 'latitude': 0.347596, + 'longitude': 32.58252 + }, + 'Ukraine': { + 'name': 'Ukraine', + 'capital': 'Kiev', + 'latitude': 50.4501, + 'longitude': 30.5234 + }, + 'United Arab Emirates': { + 'name': 'United Arab Emirates', + 'capital': 'Abu Dhabi', + 'latitude': 24.299174, + 'longitude': 54.697277 + }, + 'United Kingdom': { + 'name': 'United Kingdom', + 'capital': 'London', + 'latitude': 51.507351, + 'longitude': -0.127758 + }, + 'United States': { + 'name': 'United States', + 'capital': 'Washington', + 'latitude': 38.907192, + 'longitude': -77.036871 + }, + 'Uruguay': { + 'name': 'Uruguay', + 'capital': 'Montevideo', + 'latitude': -34.901113, + 'longitude': -56.164531 + }, + 'Uzbekistan': { + 'name': 'Uzbekistan', + 'capital': 'Tashkent', + 'latitude': 41.299496, + 'longitude': 69.240073 + }, + 'Vanuatu': { + 'name': 'Vanuatu', + 'capital': 'Port Vila', + 'latitude': -17.733251, + 'longitude': 168.327325 + }, + 'Vatican City': { + 'name': 'Vatican City', + 'capital': 'Vatican City', + 'latitude': 41.902179, + 'longitude': 12.453601 + }, + 'Venezuela': { + 'name': 'Venezuela', + 'capital': 'Caracas', + 'latitude': 10.480594, + 'longitude': -66.903606 + }, + 'Vietnam': { + 'name': 'Vietnam', + 'capital': 'Hanoi', + 'latitude': 21.027764, + 'longitude': 105.83416 + }, + 'Wallis and Futuna': { + 'name': 'Wallis and Futuna', + 'capital': 'Mata-Utu', + 'latitude': -13.282509, + 'longitude': -176.176447 + }, + 'Western Sahara': { + 'name': 'Western Sahara', + 'capital': 'El Aaiún', + 'latitude': 27.125287, + 'longitude': -13.1625 + }, + 'Yemen': { + 'name': 'Yemen', + 'capital': "Sana'a", + 'latitude': 15.369445, + 'longitude': 44.191007 + }, + 'Zambia': { + 'name': 'Zambia', + 'capital': 'Lusaka', + 'latitude': -15.387526, + 'longitude': 28.322817 + }, + 'Zimbabwe': { + 'name': 'Zimbabwe', + 'capital': 'Harare', + 'latitude': -17.825166, + 'longitude': 31.03351 + } +} + +def convert_lat_long(latitude, longitude, map_width, map_height): + + false_easting = 180 + radius = map_width / (2 * pi) + latitude = radians(latitude) + longitude = radians(longitude + false_easting) + + x_coord = longitude * radius + + y_dist_from_equator = radius * log(tan(pi / 4 + latitude / 2)) + y_coord = map_height / 2 - y_dist_from_equator + + coords = {'x': x_coord, 'y': y_coord} + + return coords + + +def get_available_regions(): + return regions.keys() + + +def get_region_coords(region, map_width=991, map_height=768): + coords = None + + try: + lookup = regions[region] + coords = convert_lat_long(lookup['latitude'], lookup['longitude'], map_width, map_height) + return coords + except KeyError: + print('Region not recognised: ', region) diff --git a/lib/tasks/project_components/mapping_data_happiness_ink_map/species.csv b/lib/tasks/project_components/mapping_data_happiness_ink_map/species.csv new file mode 100644 index 00000000..a6ec45d8 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_happiness_ink_map/species.csv @@ -0,0 +1,238 @@ +Afghanistan,42 +Albania,130 +Algeria,135 +American Samoa,92 +Andorra,13 +Angola,146 +Anguilla,52 +Antarctica,6 +Antigua and Barbuda,55 +Argentina,256 +Armenia,114 +Aruba,32 +Australia,948 +Austria,118 +Azerbaijan,97 +Bahamas,86 +Bahrain,36 +Bangladesh,151 +Barbados,56 +Belarus,25 +Belgium,37 +Belize,117 +Benin,88 +Bermuda,72 +Bhutan,71 +Bolivia,231 +Bosnia and Herzegovina,91 +Botswana,28 +Bouvet Island,3 +Brazil,990 +British Indian Ocean Territory,85 +British Virgin Islands,67 +Brunei,193 +Bulgaria,104 +Burkina Faso,31 +Burundi,61 +Cape Verde,65 +Cambodia,255 +Cameroon,775 +Canada,122 +Cayman Islands,74 +Central African Republic,60 +Chad,43 +Chile,197 +China,1080 +Hong Kong,64 +Macau,11 +Christmas Island,39 +Cocos (Keeling) Islands,33 +Colombia,835 +Comoros,114 +Congo (Republic),134 +Cook Islands,75 +Costa Rica,340 +Côte d'Ivoire,249 +Croatia,176 +Cuba,339 +Curaçao,51 +Cyprus,72 +Czech Republic,53 +North Korea,78 +Congo (DRC),349 +Denmark,47 +Djibouti,98 +Dominica,66 +Dominican Republic,184 +Ecuador,2358 +Egypt,156 +El Salvador,86 +Equatorial Guinea,177 +Eritrea,122 +Estonia,23 +Swaziland,34 +Ethiopia,148 +Falkland Islands (Islas Malvinas),23 +Faroe Islands,21 +Fiji,291 +Finland,36 +France,278 +French Guiana,73 +French Polynesia,175 +French Southern Territories,25 +Gabon,270 +Gambia,67 +Georgia,120 +Germany,116 +Ghana,238 +Gibraltar,31 +Greece,374 +Greenland,23 +Grenada,54 +Guadeloupe,73 +Guam,99 +Guatemala,290 +Guernsey,5 +Guinea,185 +Guinea-Bissau,77 +Guyana,94 +Haiti,205 +Vatican City,1 +Honduras,301 +Hungary,66 +Iceland,27 +India,1052 +Indonesia,1281 +Iran,134 +Iraq,72 +Ireland,50 +Isle of Man,3 +Israel,174 +Italy,359 +Jamaica,311 +Japan,404 +Jersey,6 +Jordan,113 +Kazakhstan,82 +Kenya,480 +Kiribati,104 +Kuwait,49 +Kyrgyzstan,44 +Laos,209 +Latvia,30 +Lebanon,87 +Lesotho,18 +Liberia,172 +Libya,63 +Liechtenstein,6 +Lithuania,26 +Luxembourg,11 +Madagascar,1324 +Malawi,176 +Malaysia,1272 +Maldives,75 +Mali,42 +Malta,39 +Marshall Islands,101 +Martinique,48 +Mauritania,86 +Mauritius,257 +Mayotte,88 +Mexico,1162 +Micronesia,167 +Monaco,21 +Mongolia,41 +Montenegro,98 +Montserrat,55 +Morocco,207 +Mozambique,309 +Myanmar,321 +Namibia,115 +Nauru,82 +Nepal,104 +Netherlands,40 +New Caledonia,526 +New Zealand,199 +Nicaragua,144 +Niger,34 +Nigeria,361 +Niue,52 +Norfolk Island,44 +Northern Mariana Islands,102 +Norway,64 +Oman,99 +Pakistan,140 +Palau,182 +Panama,383 +Papua New Guinea,493 +Paraguay,59 +Peru,685 +Philippines,783 +Poland,58 +Portugal,281 +Puerto Rico,126 +Qatar,39 +South Korea,111 +Moldova,35 +Réunion,130 +Romania,104 +Russia,235 +Rwanda,62 +St. Barthélemy,31 +St. Kitts and Nevis,52 +St. Lucia,62 +Saint Pierre and Miquelon,12 +Saint Vincent and the Grenadines,58 +Samoa,93 +San Marino,1 +São Tomé and Príncipe,94 +Saudi Arabia,131 +Senegal,123 +Serbia,71 +Seychelles,439 +Sierra Leone,177 +Singapore,293 +Slovakia,54 +Slovenia,143 +Solomon Islands,245 +Somalia,175 +South Africa,581 +South Georgia and the South Sandwich Islands,9 +South Sudan,49 +Spain,617 +Sri Lanka,587 +Palestine,31 +Sudan,133 +Suriname,83 +Sweden,54 +Switzerland,74 +Syria,132 +Tajikistan,45 +Thailand,611 +Timor-Leste,24 +Togo,80 +Tokelau,49 +Tonga,79 +Trinidad and Tobago,69 +Tunisia,96 +Turkey,388 +Turkmenistan,54 +Turks and Caicos Islands,60 +Tuvalu,96 +Uganda,196 +Ukraine,102 +United Arab Emirates,56 +United Kingdom,102 +Tanzania,1082 +United States,1513 +U.S. Virgin Islands,58 +Uruguay,106 +Uzbekistan,59 +Vanuatu,137 +Venezuela,328 +Vietnam,616 +Wallis and Futuna,89 +Western Sahara,49 +Yemen,298 +Zambia,88 +Zimbabwe,89 diff --git a/lib/tasks/project_components/mapping_data_happiness_ink_map/tech_map.jpg b/lib/tasks/project_components/mapping_data_happiness_ink_map/tech_map.jpg new file mode 100644 index 00000000..dadfe5d6 Binary files /dev/null and b/lib/tasks/project_components/mapping_data_happiness_ink_map/tech_map.jpg differ diff --git a/lib/tasks/project_components/mapping_data_olympics/carbon.csv b/lib/tasks/project_components/mapping_data_olympics/carbon.csv new file mode 100644 index 00000000..8733659c --- /dev/null +++ b/lib/tasks/project_components/mapping_data_olympics/carbon.csv @@ -0,0 +1,141 @@ +Albania,4342.011,1.511 +Algeria,130493.653,3.158 +Angola,18021.394,0.605 +Argentina,183375.203,4.142 +Armenia,5165.593,1.763 +Australia,384583.857,15.632 +Austria,64872.394,7.376 +Azerbaijan,30805.851,3.124 +Bahrain,29813.834,19.969 +Bangladesh,78270.17,0.475 +Belarus,54070.453,5.687 +Belgium,90368.188,7.963 +Benin,6763.074,0.605 +Bolivia,21899.18,1.981 +Bosnia and Herzegovina,22327.978,6.367 +Botswana,7717.409,3.367 +Brazil,427632.717,2.043 +Brunei,6710.178,15.641 +Bulgaria,42819.932,6.051 +Côte d'Ivoire,10234.205,0.421 +Cambodia,10762.923,0.672 +Cameroon,6152.919,0.256 +Canada,547798.641,14.992 +Chile,86087.14,4.648 +China,9257933.9,6.678 +Hong Kong,44034.675,5.957 +Colombia,75291.911,1.535 +Congo (Republic),2847.335,0.541 +Costa Rica,7584.411,1.546 +Croatia,16193.172,3.925 +Cuba,26215.665,2.283 +Curaçao,3748.132,23.28 +Cyprus,6367.874,7.448 +Czech Republic,101682.752,9.602 +North Korea,19579.698,0.768 +Congo (DRC),2201.742,0.027 +Denmark,31263.57,5.421 +Dominican Republic,21430.38,1.99 +Ecuador,34299.317,2.063 +Egypt,209219.059,2.145 +El Salvador,5735.668,0.899 +Eritrea,632.105,0.125 +Estonia,15972.029,12.137 +Ethiopia,13059.815,0.124 +Finland,42598.175,7.734 +France,306123.541,4.565 +Gabon,3367.911,1.663 +Georgia,8720.3,2.346 +Germany,718794.085,8.696 +Ghana,13779.635,0.478 +Gibraltar,703.9,20.703 +Greece,63213.31,5.878 +Guatemala,15703.161,0.928 +Haiti,3293.125,0.3 +Honduras,9426.74,1.017 +Hungary,45783.636,4.678 +Iceland,2173.307,6.336 +India,2161567.072,1.614 +Indonesia,496406.275,1.88 +Iran,567123.294,6.987 +Iraq,139877.659,3.655 +Ireland,35720.302,7.439 +Israel,63766.189,7.322 +Italy,321481.224,5.31 +Jamaica,6971.666,2.412 +Japan,1132435.4,8.938 +Jordan,25550.14,2.633 +Kazakhstan,255767.646,14.179 +Kenya,16264.973,0.327 +Kosovo,8168.55,4.461 +Kuwait,89420.615,21.615 +Kyrgyzstan,8909.263,1.437 +Latvia,6679.644,3.441 +Lebanon,26931.044,4.428 +Libya,41528.35,6.514 +Lithuania,10811.096,3.831 +Luxembourg,8631.187,14.458 +Malaysia,211046.967,6.674 +Malta,1516.276,3.261 +Mauritius,4182.138,3.306 +Mexico,445991.937,3.615 +Mongolia,19276,6.267 +Montenegro,2206.233,3.547 +Morocco,58149.86,1.627 +Mozambique,7624.932,0.257 +Myanmar,30404.919,0.57 +Namibia,4037.15,1.593 +Nepal,10113.953,0.345 +Netherlands,155574.278,9.081 +New Zealand,32241.597,6.673 +Nicaragua,5106.281,0.821 +Niger,2048.704,0.095 +Nigeria,85988.513,0.45 +Norway,34760.858,6.587 +Oman,65498.56,14.128 +Pakistan,183447.068,0.931 +Panama,9612.198,2.345 +Paraguay,7654.689,1.124 +Peru,49693.643,1.545 +Philippines,126487.694,1.206 +Poland,305841.991,7.96 +Portugal,50757.815,4.928 +Qatar,80116.551,30.359 +South Korea,600034.367,11.663 +Moldova,7526.673,2.12 +Romania,70788.76,3.614 +Russia,1536878.825,10.636 +Saudi Arabia,532181.611,16.157 +Senegal,8311.532,0.524 +Serbia,46129.569,6.569 +Singapore,47407.144,8.447 +Slovakia,32212.012,5.924 +Slovenia,13410.666,6.491 +South Africa,421682.392,7.435 +South Sudan,1549.031,0.123 +Spain,253423.277,5.446 +Sri Lanka,23103.271,1.077 +Sudan,18777.895,0.463 +Suriname,1928.134,3.425 +Sweden,37643.785,3.743 +Switzerland,37135.572,4.394 +Syria,23031.045,1.261 +Tajikistan,5843.657,0.655 +Thailand,244254.785,3.538 +Togo,2082.434,0.267 +Trinidad and Tobago,18007.573,13.154 +Tunisia,26156.972,2.268 +Turkey,378631.09,4.714 +Turkmenistan,68998.881,11.983 +Ukraine,171300.035,3.821 +United Arab Emirates,196510.174,20.905 +United Kingdom,358731.281,5.432 +Tanzania,10131.79,0.177 +United States,4761301.727,14.606 +Uruguay,5872.957,1.699 +Uzbekistan,81156.397,2.506 +Venezuela,113717.543,3.556 +Vietnam,191243.601,2.002 +Yemen,8919.998,0.316 +Zambia,6007.872,0.351 +Zimbabwe,9714.938,0.588 diff --git a/lib/tasks/project_components/mapping_data_olympics/gdp.csv b/lib/tasks/project_components/mapping_data_olympics/gdp.csv new file mode 100644 index 00000000..a7b6d53a --- /dev/null +++ b/lib/tasks/project_components/mapping_data_olympics/gdp.csv @@ -0,0 +1,207 @@ +Aruba,3056424581 +Afghanistan,18869945678 +Angola,1.22124E+11 +Albania,13019693451 +Andorra,3000180750 +United Arab Emirates,3.85606E+11 +Argentina,6.43629E+11 +Armenia,11527458566 +American Samoa,602000000 +Antigua and Barbuda,1467977778 +Australia,1.32919E+12 +Austria,4.17238E+11 +Azerbaijan,40865558912 +Burundi,3172292379 +Belgium,5.02698E+11 +Benin,12701656931 +Burkina Faso,14106956830 +Bangladesh,2.49711E+11 +Bulgaria,58971520599 +Bahrain,35473776596 +Bahamas,12490700000 +Bosnia and Herzegovina,18080118128 +Belarus,54726595249 +Belize,1836600000 +Bermuda,7142316000 +Bolivia,37508642165 +Brazil,2.06283E+12 +Barbados,4978000000 +Brunei,12128104859 +Bhutan,2450364928 +Botswana,17405588070 +Central African Republic,2072350151 +Canada,1.64988E+12 +Switzerland,6.7995E+11 +Chile,2.77045E+11 +China,1.23104E+13 +Côte d'Ivoire,51588158718 +Cameroon,35009262788 +Congo (DRC),38019265626 +Congo (Republic),11198674674 +Colombia,3.11884E+11 +Comoros,1077439663 +Costa Rica,58481858043 +Cuba,96851000000 +Cayman Islands,5153091158 +Cyprus,22729184365 +Czech Republic,2.18629E+11 +Germany,3.6826E+12 +Djibouti,2751461056 +Dominica,519837037 +Denmark,3.32121E+11 +Dominican Republic,79997975623 +Algeria,1.70163E+11 +Ecuador,1.04296E+11 +Egypt,2.35734E+11 +Eritrea, +Spain,1.31254E+12 +Estonia,26951648829 +Ethiopia,81770791971 +Finland,2.55232E+11 +Fiji,5353404419 +France,2.59515E+12 +Faroe Islands,2905102304 +Micronesia,366666800 +Gabon,14929488771 +United Kingdom,2.66623E+12 +Georgia,16242916916 +Ghana,58998132330 +Gibraltar, +Guinea,10324668267 +Gambia,1504909753 +Guinea-Bissau,1350177128 +Equatorial Guinea,12200914930 +Greece,2.03588E+11 +Grenada,1125685185 +Greenland,2826651926 +Guatemala,71612352645 +Guam,5851000000 +Guyana,4748174334 +Hong Kong,3.41244E+11 +Honduras,23136232230 +Croatia,55481644098 +Haiti,14213814583 +Hungary,1.42962E+11 +Indonesia,1.01562E+12 +Isle of Man,6979581725 +India,2.65275E+12 +Ireland,3.35663E+11 +Iran,4.45345E+11 +Iraq,1.95473E+11 +Iceland,24488176541 +Israel,3.53253E+11 +Italy,1.9618E+12 +Jamaica,14806340821 +Jordan,41408960787 +Japan,4.86686E+12 +Kazakhstan,1.66806E+11 +Kenya,78965004656 +Kyrgyzstan,7702934800 +Cambodia,22177200512 +Kiribati,187276210.9 +St. Kitts and Nevis,996944444.4 +South Korea,1.6239E+12 +Kuwait,1.20707E+11 +Laos,16853087485 +Lebanon,53140638269 +Liberia,3285455000 +Libya,37883243650 +St. Lucia,1999090407 +Liechtenstein,6552858739 +Sri Lanka,87428125558 +Lesotho,2405289384 +Lithuania,47758736932 +Luxembourg,64181944723 +Latvia,30458763246 +Macau,50751059058 +Morocco,1.09683E+11 +Monaco,6431314957 +Moldova,9669759987 +Madagascar,13176313233 +Maldives,4754352301 +Mexico,1.15891E+12 +Marshall Islands,212881000 +Mali,15365627045 +Malta,13146963159 +Myanmar,68945867478 +Montenegro,4844606146 +Mongolia,11425755280 +Northern Mariana Islands,1601000000 +Mozambique,13219084261 +Mauritania,6758390729 +Mauritius,13259351418 +Malawi,6303292264 +Malaysia,3.19112E+11 +Namibia,12741746524 +New Caledonia, +Niger,11189541083 +Nigeria,3.75746E+11 +Nicaragua,13785909906 +Netherlands,8.3387E+11 +Norway,3.98394E+11 +Nepal,25180583770 +Nauru,109585941.6 +New Zealand,2.05416E+11 +Oman,70598026283 +Pakistan,3.04567E+11 +Panama,62219000000 +Peru,2.11007E+11 +Philippines,3.28481E+11 +Palau,286106800 +Papua New Guinea,22742613549 +Poland,5.26509E+11 +Puerto Rico,1.03446E+11 +North Korea, +Portugal,2.21358E+11 +Paraguay,39008900332 +French Polynesia, +Qatar,1.61099E+11 +Romania,2.11695E+11 +Russia,1.5742E+12 +Rwanda,9253098954 +Saudi Arabia,6.88586E+11 +Sudan,45021077955 +Senegal,20996564752 +Singapore,3.41863E+11 +Solomon Islands,1483758907 +Sierra Leone,3739577973 +El Salvador,24979200000 +San Marino,1528630707 +Somalia, +Serbia,44179055280 +South Sudan, +Suriname,3216207914 +Slovakia,95494424979 +Slovenia,48586603448 +Sweden,5.41019E+11 +Swaziland,4402973000 +Seychelles,1524486800 +Syria, +Turks and Caicos Islands,1022365000 +Chad,10000395242 +Togo,4819949975 +Thailand,4.56295E+11 +Tajikistan,7157865188 +Turkmenistan,37926285714 +Timor-Leste,1599338100 +Tonga,460379145 +Trinidad and Tobago,22474828527 +Tunisia,39802430355 +Turkey,8.58989E+11 +Tuvalu,40619251.99 +Tanzania,53320625959 +Uganda,30756466548 +Ukraine,1.1219E+11 +Uruguay,59530088537 +United States,1.95194E+13 +Uzbekistan,59159945321 +Venezuela, +British Virgin Islands, +Vietnam,2.2378E+11 +Vanuatu,880043553.7 +Samoa,832153612.6 +Kosovo,7245707185 +Yemen,26736139802 +South Africa,3.49554E+11 +Zambia,25868165345 +Zimbabwe,22040902300 diff --git a/lib/tasks/project_components/mapping_data_olympics/happy.csv b/lib/tasks/project_components/mapping_data_olympics/happy.csv new file mode 100644 index 00000000..90b257fa --- /dev/null +++ b/lib/tasks/project_components/mapping_data_olympics/happy.csv @@ -0,0 +1,155 @@ +Norway,1,7.537000179 +Denmark,2,7.521999836 +Iceland,3,7.504000187 +Switzerland,4,7.493999958 +Finland,5,7.468999863 +Netherlands,6,7.376999855 +Canada,7,7.315999985 +New Zealand,8,7.31400013 +Sweden,9,7.28399992 +Australia,10,7.28399992 +Israel,11,7.212999821 +Costa Rica,12,7.078999996 +Austria,13,7.006000042 +United States,14,6.993000031 +Ireland,15,6.977000237 +Germany,16,6.951000214 +Belgium,17,6.890999794 +Luxembourg,18,6.862999916 +United Kingdom,19,6.714000225 +Chile,20,6.65199995 +United Arab Emirates,21,6.647999763 +Brazil,22,6.635000229 +Czech Republic,23,6.609000206 +Argentina,24,6.598999977 +Mexico,25,6.578000069 +Singapore,26,6.572000027 +Malta,27,6.52699995 +Uruguay,28,6.453999996 +Guatemala,29,6.453999996 +Panama,30,6.452000141 +France,31,6.441999912 +Thailand,32,6.423999786 +Taiwan,33,6.421999931 +Spain,34,6.402999878 +Qatar,35,6.375 +Colombia,36,6.356999874 +Saudi Arabia,37,6.343999863 +Trinidad and Tobago,38,6.168000221 +Kuwait,39,6.105000019 +Slovakia,40,6.09800005 +Bahrain,41,6.086999893 +Malaysia,42,6.084000111 +Nicaragua,43,6.071000099 +Ecuador,44,6.007999897 +El Salvador,45,6.002999783 +Poland,46,5.97300005 +Uzbekistan,47,5.971000195 +Italy,48,5.964000225 +Russia,49,5.962999821 +Belize,50,5.955999851 +Japan,51,5.920000076 +Lithuania,52,5.90199995 +Algeria,53,5.872000217 +Latvia,54,5.849999905 +South Korea,55,5.837999821 +Moldova,56,5.837999821 +Romania,57,5.824999809 +Bolivia,58,5.822999954 +Turkmenistan,59,5.822000027 +Kazakhstan,60,5.818999767 +Northern Cyprus,61,5.809999943 +Slovenia,62,5.757999897 +Peru,63,5.715000153 +Mauritius,64,5.629000187 +Cyprus,65,5.620999813 +Estonia,66,5.611000061 +Belarus,67,5.568999767 +Libya,68,5.525000095 +Turkey,69,5.5 +Paraguay,70,5.493000031 +Hong Kong,71,5.472000122 +Philippines,72,5.429999828 +Serbia,73,5.394999981 +Jordan,74,5.335999966 +Hungary,75,5.323999882 +Jamaica,76,5.31099987 +Croatia,77,5.293000221 +Kosovo,78,5.278999805 +China,79,5.272999763 +Pakistan,80,5.269000053 +Indonesia,81,5.262000084 +Venezuela,82,5.25 +Montenegro,83,5.236999989 +Morocco,84,5.235000134 +Azerbaijan,85,5.234000206 +Dominican Republic,86,5.230000019 +Greece,87,5.227000237 +Lebanon,88,5.224999905 +Portugal,89,5.195000172 +Bosnia and Herzegovina,90,5.18200016 +Honduras,91,5.181000233 +Macedonia,92,5.175000191 +Somalia,93,5.151000023 +Vietnam,94,5.073999882 +Nigeria,95,5.073999882 +Tajikistan,96,5.040999889 +Bhutan,97,5.011000156 +Kyrgyzstan,98,5.004000187 +Nepal,99,4.961999893 +Mongolia,100,4.954999924 +South Africa,101,4.828999996 +Tunisia,102,4.804999828 +Palestine,103,4.775000095 +Egypt,104,4.735000134 +Bulgaria,105,4.714000225 +Sierra Leone,106,4.709000111 +Cameroon,107,4.695000172 +Iran,108,4.691999912 +Albania,109,4.644000053 +Bangladesh,110,4.607999802 +Namibia,111,4.573999882 +Kenya,112,4.552999973 +Mozambique,113,4.550000191 +Myanmar,114,4.545000076 +Senegal,115,4.534999847 +Zambia,116,4.513999939 +Iraq,117,4.497000217 +Gabon,118,4.465000153 +Ethiopia,119,4.460000038 +Sri Lanka,120,4.440000057 +Armenia,121,4.375999928 +India,122,4.315000057 +Mauritania,123,4.291999817 +Congo (Republic),124,4.290999889 +Georgia,125,4.285999775 +Congo (DRC),126,4.28000021 +Mali,127,4.190000057 +Côte d'Ivoire,128,4.179999828 +Cambodia,129,4.168000221 +Sudan,130,4.138999939 +Ghana,131,4.119999886 +Ukraine,132,4.096000195 +Uganda,133,4.080999851 +Burkina Faso,134,4.032000065 +Niger,135,4.027999878 +Malawi,136,3.970000029 +Chad,137,3.936000109 +Zimbabwe,138,3.875 +Lesotho,139,3.808000088 +Angola,140,3.795000076 +Afghanistan,141,3.79399991 +Botswana,142,3.766000032 +Benin,143,3.657000065 +Madagascar,144,3.644000053 +Haiti,145,3.602999926 +Yemen,146,3.592999935 +South Sudan,147,3.59100008 +Liberia,148,3.532999992 +Guinea,149,3.506999969 +Togo,150,3.494999886 +Rwanda,151,3.470999956 +Syria,152,3.461999893 +Tanzania,153,3.348999977 +Burundi,154,2.904999971 +Central African Republic,155,2.693000078 diff --git a/lib/tasks/project_components/mapping_data_olympics/main.py b/lib/tasks/project_components/mapping_data_olympics/main.py new file mode 100644 index 00000000..9fb01a2d --- /dev/null +++ b/lib/tasks/project_components/mapping_data_olympics/main.py @@ -0,0 +1,78 @@ +#!/bin/python3 +from p5 import * +from regions import get_region_coords + +def load_data(file_name): + global region_list + region_list = [] + + with open(file_name) as f: + for line in f: + #print(line) + info = line.split(',') + # Change the dictionary to match the data you're using + region_dict = { + 'name': info[0], + 'host_count': int(info[1]) + } + #print(region_dict) + region_list.append(region_dict) + +def draw_pin(x, y, colour, host_count): + no_stroke() + fill(colour) + size = 7 + 3 * host_count + ellipse(x, y, size, size) + + +def draw_data(): + global colours + colours = {} + blue_value = 255 + + for region in region_list: + region_name = region['name'] + region_coords = get_region_coords(region_name) + region_x = region_coords['x'] + region_y = region_coords['y'] + host_count = region['host_count'] + region_colour = Color(0, 0, blue_value) + draw_pin(region_x, region_y, region_colour, host_count) + colours[region_colour] = region + blue_value -= 1 + + +def setup(): +# Put code to run once here + global map + size(991, 768) + map = load_image('mercator.jpeg') + load_data('olympics.csv') + #print(region_list) + + +def draw(): +# Put code to run every frame here + no_stroke() + image( + map, # The image to draw + 0, # The x of the top-left corner + 0, # The y of the top-left corner + width, # The width of the image + height # The height of the image + ) + draw_data() + +def mouse_pressed(): +# Put code to run when the mouse is pressed here + pixel_colour = Color(get(mouse_x, mouse_y)) + + if pixel_colour in colours: + info = colours[pixel_colour] + print(info['name']) + if info['host_count'] == 1: + print('Hosted the games once.') + else: + print('Hosted the games '+str(info['host_count'])+ ' times.') + +run() diff --git a/lib/tasks/project_components/mapping_data_olympics/map.jpeg b/lib/tasks/project_components/mapping_data_olympics/map.jpeg new file mode 100644 index 00000000..fa8a054b Binary files /dev/null and b/lib/tasks/project_components/mapping_data_olympics/map.jpeg differ diff --git a/lib/tasks/project_components/mapping_data_olympics/mercator.jpeg b/lib/tasks/project_components/mapping_data_olympics/mercator.jpeg new file mode 100644 index 00000000..c964a51d Binary files /dev/null and b/lib/tasks/project_components/mapping_data_olympics/mercator.jpeg differ diff --git a/lib/tasks/project_components/mapping_data_olympics/olympics.csv b/lib/tasks/project_components/mapping_data_olympics/olympics.csv new file mode 100644 index 00000000..628cdc92 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_olympics/olympics.csv @@ -0,0 +1,21 @@ +United States,4 +United Kingdom,3 +Greece,3 +France,2 +Germany,2 +Australia,2 +Russia,1 +Italy,1 +Sweden,1 +China,1 +Japan,2 +Finland,1 +Canada,1 +Netherlands,1 +South Korea,1 +Belgium,1 +Spain,1 +Brazil,1 +Sweden,1 +Belgium,1 +Mexico,1 diff --git a/lib/tasks/project_components/mapping_data_olympics/pop.csv b/lib/tasks/project_components/mapping_data_olympics/pop.csv new file mode 100644 index 00000000..2f35a02a --- /dev/null +++ b/lib/tasks/project_components/mapping_data_olympics/pop.csv @@ -0,0 +1,184 @@ +Afghanistan,38928346,60,18,25 +Albania,2877797,105,36,63 +Algeria,43851044,18,29,73 +Andorra,77265,164,45,88 +Antigua and Barbuda,97929,223,34,26 +Argentina,45195774,17,32,93 +Armenia,2963243,104,35,63 +Aruba,106766,593,41,44 +Australia,25499884,3,38,86 +Austria,9006398,109,43,57 +Azerbaijan,10139177,123,32,56 +Bahamas,393244,39,32,86 +Bahrain,1701575,2239,32,89 +Bangladesh,164689383,1265,28,39 +Barbados,287375,668,40,31 +Belarus,9449323,47,40,79 +Belgium,11589623,383,42,98 +Belize,397628,17,24,46 +Benin,12123200,108,19,48 +Bhutan,771608,20,28,46 +Bolivia,11673021,11,26,69 +Bosnia and Herzegovina,3280819,64,43,52 +Brazil,212559417,25,33,88 +Brunei,437479,83,32,80 +Bulgaria,6948445,64,45,76 +Burkina Faso,20903273,76,18,31 +Cape Verde,554441,138,27.6,68 +Cambodia,16718965,95,26,24 +Cameroon,26545863,56,19,56 +Canada,37742154,4,41,81 +Central African Republic,37742154,8,18,43 +Chad,16302699,13,16.6,23.3 +Chile,19116201,26,35,85 +Hong Kong,7496981,7140,45,100 +China,1439323776,153,38,61 +Colombia,50882891,46,31,80 +Congo (Republic),5518087,16,19,70 +Congo (DRC),89561403,40,17,46 +Costa Rica,5094118,100,33,80 +Côte d'Ivoire,26378274,83,19,51 +Croatia,4105267,73,44,58 +Cuba,11326616,106,42,78 +Cyprus,1207359,131,37,67 +Czech Republic,10708981,139,43,74 +Denmark,5792202,137,42,88 +Djibouti,988000,43,27,79 +Dominica,71986,96,33.5,74 +Dominican Republic,10847910,225,28,85 +Ecuador,17643054,71,28,63 +Egypt,102334404,103,25,43 +El Salvador,6486205,313,27.6,73.4 +Equatorial Guinea,1402985,50,22,73 +Eritrea,3546421,35,19.2,63.3 +Estonia,1326535,31,42,68 +Swaziland,1160164,67,21,30 +Ethiopia,114963588,115,19,21 +Faroe Islands,48873,35,38,88 +Fiji,896445,49,27.9,59.1 +Finland,5540720,18,43,86 +France,65273511,119,42,82 +French Guiana,298682,4,25,87 +Gabon,2225734,9,23,87 +Gambia,2416668,239,18,59 +Georgia,3989167,57,38,58 +Germany,83783942,240,46,76 +Ghana,31072940,137,22,57 +Greece,10423054,81,46,85 +Grenada,112523,331,32,35.5 +Greenland,56770,0,34,87 +Guadeloupe,400124,237,44,96 +Guam,168775,313,31,95 +Guatemala,17915568,167,23,52 +Guernsey,70000,965,44,86 +Guinea,13132795,53,18,39 +Guinea-Bissau,1968001,70,18.8,44.9 +Guyana,786552,4,27,27 +Haiti,11402528,414,24,56.9 +Vatican City,801,2003,40,100 +Honduras,9904607,89,24,57 +Hungary,9660351,107,43,72 +Iceland,341243,3,37,94 +India,1380004385,464,28,35 +Indonesia,273523615,151,30,56 +Iran,83992949,52,32,76 +Iraq,40222493,93,21,73 +Ireland,4937786,72,38,63 +Israel,8655535,400,30,93 +Italy,60461826,206,47,69 +Jamaica,2961167,273,31,55 +Japan,126476461,347,48,92 +Jersey,106800,819,38,98 +Jordan,10203134,115,24,91 +Kazakhstan,18776707,7,31,58 +Kenya,53771296,94,20,28 +Kosovo,1810463,159,29,65 +Kuwait,4270571,240,37,92 +Kyrgyzstan,6524195,34,26,36 +Laos,7275560,32,24.4,35.7 +Latvia,1886198,30,44,69 +Lebanon,6825445,667,30,78 +Liberia,5057681,53,19,53 +Libya,6847352,4,28.8,78.2 +Liechtenstein,38128,109,41,15 +Lithuania,2722289,43,45,71 +Luxembourg,625978,242,40,88 +Madagascar,27691018,48,19.6,38.5 +Malaysia,32365999,99,30,78 +Maldives,540544,1802,30,35 +Mali,20250833,17,16.3,44 +Malta,441543,1380,43,93 +Martinique,375265,354,47,92 +Mauritania,4649658,5,20,57 +Mauritius,1271768,626,37,41 +Mayotte,272815,728,20,46 +Mexico,128932753,66,29,84 +Moldova,4033963,123,38,43 +Monaco,39242,26337,54,100 +Mongolia,3278290,2,28,67 +Montenegro,628066,47,39,68 +Morocco,36910560,83,30,64 +Mozambique,31255435,40,17.6,38.3 +Namibia,2540905,3,22,55 +Nepal,29136808,203,25,21 +Curaçao,164093,370,41.6,88.7 +Netherlands,17134872,508,43,92 +New Zealand,4822233,18,38,87 +Nicaragua,6624554,55,26.5,57.2 +Niger,24206644,19,15.2,16.5 +Nigeria,206139589,226,18,52 +Norway,5421241,15,40,83 +Oman,5106626,16,31,87 +Pakistan,220892340,287,23,35 +Panama,4314767,58,30,68 +Paraguay,7132538,18,26,62 +Peru,32971854,26,31,79 +Philippines,109581078,368,26,47 +Poland,37846611,124,42,60 +Portugal,10196709,111,46,66 +Puerto Rico,2860853,323,44,88 +Qatar,2881053,248,32,96 +Réunion,895312,358,36,100 +Romania,19237691,84,43,55 +Russia,145934462,9,40,74 +Rwanda,12952218,525,20,18 +St. Kitts and Nevis,53199,205,34.8,32.9 +St. Lucia,183627,301,34,19 +Saint Vincent and the Grenadines,115000,307,33,78 +San Marino,33931,566,47,97 +Saudi Arabia,34813871,16,32,84 +Senegal,16743927,87,19,49 +Serbia,8737371,100,42,56 +Seychelles,98347,214,34,56 +Singapore,5850342,8358,42,99 +Slovakia,5459642,114,41,54 +Slovenia,2078938,103,45,55 +Somalia,15893222,25,17,47 +South Africa,59308690,49,28,67 +South Korea,51269185,527,44,82 +Spain,46754778,94,45,80 +Sri Lanka,21413249,341,34,18 +Sudan,43849260,25,20,35 +Suriname,586632,4,29,65 +Sweden,10099265,25,41,88 +Switzerland,8654622,219,43,74 +Syria,17390388,95,25.6,60 +Taiwan,23816775,673,42,79 +Tanzania,59734218,67,18,37 +Thailand,69799978,137,40,51 +Timor-Leste,1318445,89,20.8,32.8 +Togo,8278724,152,19,43 +Trinidad and Tobago,1399488,273,36,52 +Tunisia,11818619,76,33,70 +Turkey,84339067,110,32,76 +United States,331002651,36,38,83 +Uganda,45741007,229,16.7,25.7 +Ukraine,43733762,75,41,69 +United Arab Emirates,9890402,118,33,86 +United Kingdom,67886011,281,40,83 +Uruguay,3473730,20,36,96 +Uzbekistan,33469203,79,28,50 +Venezuela,28435940,32,30,80 +Vietnam,97338579,314,32,38 +Zambia,18383955,25,18,45 +Zimbabwe,14862924,38,18.7,38.4 diff --git a/lib/tasks/project_components/mapping_data_olympics/project_config.yml b/lib/tasks/project_components/mapping_data_olympics/project_config.yml new file mode 100644 index 00000000..b8fd6067 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_olympics/project_config.yml @@ -0,0 +1,47 @@ +NAME: "Mapping Data: Olympics" +IDENTIFIER: "mapping-data-olympics" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "regions" + extension: "py" + location: "regions.py" + index: 1 + default: false + - name: "pop" + extension: "csv" + location: "pop.csv" + index: 2 + default: false + - name: "olympics" + extension: "csv" + location: "olympics.csv" + index: 3 + default: false + - name: "carbon" + extension: "csv" + location: "carbon.csv" + index: 4 + default: false + - name: "species" + extension: "csv" + location: "species.csv" + index: 5 + default: false + - name: "gdp" + extension: "csv" + location: "gdp.csv" + index: 6 + default: false + - name: "happy" + extension: "csv" + location: "happy.csv" + index: 7 + default: false + +IMAGES: + - "map.jpeg" + - "mercator.jpeg" diff --git a/lib/tasks/project_components/mapping_data_olympics/regions.py b/lib/tasks/project_components/mapping_data_olympics/regions.py new file mode 100644 index 00000000..b5e840fd --- /dev/null +++ b/lib/tasks/project_components/mapping_data_olympics/regions.py @@ -0,0 +1,1548 @@ +#!/bin/python3 +from math import radians, pi, log, tan + +regions = { + 'Abkhazia': { + 'name': 'Abkhazia', + 'capital': 'Sukhumi', + 'latitude': 43.001525, + 'longitude': 41.023415 + }, + 'Afghanistan': { + 'name': 'Afghanistan', + 'capital': 'Kabul', + 'latitude': 34.575503, + 'longitude': 69.240073 + }, + 'Aland Islands': { + 'name': 'Aland Islands', + 'capital': 'Mariehamn', + 'latitude': 60.1, + 'longitude': 19.933333 + }, + 'Albania': { + 'name': 'Albania', + 'capital': 'Tirana', + 'latitude': 41.327546, + 'longitude': 19.818698 + }, + 'Algeria': { + 'name': 'Algeria', + 'capital': 'Algiers', + 'latitude': 36.752887, + 'longitude': 3.042048 + }, + 'American Samoa': { + 'name': 'American Samoa', + 'capital': 'Pago Pago', + 'latitude': -14.275632, + 'longitude': -170.702036 + }, + 'Andorra': { + 'name': 'Andorra', + 'capital': 'Andorra la Vella', + 'latitude': 42.506317, + 'longitude': 1.521835 + }, + 'Angola': { + 'name': 'Angola', + 'capital': 'Luanda', + 'latitude': -8.839988, + 'longitude': 13.289437 + }, + 'Anguilla': { + 'name': 'Anguilla', + 'capital': 'The Valley', + 'latitude': 18.214813, + 'longitude': -63.057441 + }, + 'Antarctica': { + 'name': 'Antarctica', + 'capital': 'South Pole', + 'latitude': -90.0, + 'longitude': 0.0 + }, + 'Antigua and Barbuda': { + 'name': 'Antigua and Barbuda', + 'capital': "St. John's", + 'latitude': 17.12741, + 'longitude': -61.846772 + }, + 'Argentina': { + 'name': 'Argentina', + 'capital': 'Buenos Aires', + 'latitude': -34.603684, + 'longitude': -58.381559 + }, + 'Armenia': { + 'name': 'Armenia', + 'capital': 'Yerevan', + 'latitude': 40.179186, + 'longitude': 44.499103 + }, + 'Aruba': { + 'name': 'Aruba', + 'capital': 'Oranjestad', + 'latitude': 12.509204, + 'longitude': -70.008631 + }, + 'Australia': { + 'name': 'Australia', + 'capital': 'Canberra', + 'latitude': -35.282, + 'longitude': 149.128684 + }, + 'Austria': { + 'name': 'Austria', + 'capital': 'Vienna', + 'latitude': 48.208174, + 'longitude': 16.373819 + }, + 'Azerbaijan': { + 'name': 'Azerbaijan', + 'capital': 'Baku', + 'latitude': 40.409262, + 'longitude': 49.867092 + }, + 'Bahamas': { + 'name': 'Bahamas', + 'capital': 'Nassau', + 'latitude': 25.047984, + 'longitude': -77.355413 + }, + 'Bahrain': { + 'name': 'Bahrain', + 'capital': 'Manama', + 'latitude': 26.228516, + 'longitude': 50.58605 + }, + 'Bangladesh': { + 'name': 'Bangladesh', + 'capital': 'Dhaka', + 'latitude': 23.810332, + 'longitude': 90.412518 + }, + 'Barbados': { + 'name': 'Barbados', + 'capital': 'Bridgetown', + 'latitude': 13.113222, + 'longitude': -59.598809 + }, + 'Belarus': { + 'name': 'Belarus', + 'capital': 'Minsk', + 'latitude': 53.90454, + 'longitude': 27.561524 + }, + 'Belgium': { + 'name': 'Belgium', + 'capital': 'Brussels', + 'latitude': 50.85034, + 'longitude': 4.35171 + }, + 'Belize': { + 'name': 'Belize', + 'capital': 'Belmopan', + 'latitude': 17.251011, + 'longitude': -88.75902 + }, + 'Benin': { + 'name': 'Benin', + 'capital': 'Porto-Novo', + 'latitude': 6.496857, + 'longitude': 2.628852 + }, + 'Bermuda': { + 'name': 'Bermuda', + 'capital': 'Hamilton', + 'latitude': 32.294816, + 'longitude': -64.781375 + }, + 'Bhutan': { + 'name': 'Bhutan', + 'capital': 'Thimphu', + 'latitude': 27.472792, + 'longitude': 89.639286 + }, + 'Bolivia': { + 'name': 'Bolivia', + 'capital': 'La Paz', + 'latitude': -16.489689, + 'longitude': -68.119294 + }, + 'Bosnia and Herzegovina': { + 'name': 'Bosnia and Herzegovina', + 'capital': 'Sarajevo', + 'latitude': 43.856259, + 'longitude': 18.413076 + }, + 'Botswana': { + 'name': 'Botswana', + 'capital': 'Gaborone', + 'latitude': -24.628208, + 'longitude': 25.923147 + }, + 'Bouvet Island': { + 'name': 'Bouvet Island', + 'capital': 'Bouvet Island', + 'latitude': -54.43, + 'longitude': 3.38 + }, + 'Brazil': { + 'name': 'Brazil', + 'capital': 'Brasília', + 'latitude': -15.794229, + 'longitude': -47.882166 + }, + 'British Indian Ocean Territory': { + 'name': 'British Indian Ocean Territory', + 'capital': 'Camp Justice', + 'latitude': 21.3419, + 'longitude': 55.4778 + }, + 'British Virgin Islands': { + 'name': 'British Virgin Islands', + 'capital': 'Road Town', + 'latitude': 18.428612, + 'longitude': -64.618466 + }, + 'Brunei': { + 'name': 'Brunei', + 'capital': 'Bandar Seri Begawan', + 'latitude': 4.903052, + 'longitude': 114.939821 + }, + 'Bulgaria': { + 'name': 'Bulgaria', + 'capital': 'Sofia', + 'latitude': 42.697708, + 'longitude': 23.321868 + }, + 'Burkina Faso': { + 'name': 'Burkina Faso', + 'capital': 'Ouagadougou', + 'latitude': 12.371428, + 'longitude': -1.51966 + }, + 'Burundi': { + 'name': 'Burundi', + 'capital': 'Bujumbura', + 'latitude': -3.361378, + 'longitude': 29.359878 + }, + 'Cambodia': { + 'name': 'Cambodia', + 'capital': 'Phnom Penh', + 'latitude': 11.544873, + 'longitude': 104.892167 + }, + 'Cameroon': { + 'name': 'Cameroon', + 'capital': 'Yaoundé', + 'latitude': 3.848033, + 'longitude': 11.502075 + }, + 'Canada': { + 'name': 'Canada', + 'capital': 'Ottawa', + 'latitude': 45.42153, + 'longitude': -75.697193 + }, + 'Cape Verde': { + 'name': 'Cape Verde', + 'capital': 'Praia', + 'latitude': 14.93305, + 'longitude': -23.513327 + }, + 'Cayman Islands': { + 'name': 'Cayman Islands', + 'capital': 'George Town', + 'latitude': 19.286932, + 'longitude': -81.367439 + }, + 'Central African Republic': { + 'name': 'Central African Republic', + 'capital': 'Bangui', + 'latitude': 4.394674, + 'longitude': 18.55819 + }, + 'Chad': { + 'name': 'Chad', + 'capital': "N'Djamena", + 'latitude': 12.134846, + 'longitude': 15.055742 + }, + 'Chile': { + 'name': 'Chile', + 'capital': 'Santiago', + 'latitude': -33.44889, + 'longitude': -70.669265 + }, + 'China': { + 'name': 'China', + 'capital': 'Beijing', + 'latitude': 39.904211, + 'longitude': 116.407395 + }, + 'Christmas Island': { + 'name': 'Christmas Island', + 'capital': 'Flying Fish Cove', + 'latitude': -10.420686, + 'longitude': 105.679379 + }, + 'Cocos (Keeling) Islands': { + 'name': 'Cocos (Keeling) Islands', + 'capital': 'West Island', + 'latitude': -12.188834, + 'longitude': 96.829316 + }, + 'Colombia': { + 'name': 'Colombia', + 'capital': 'Bogotá', + 'latitude': 4.710989, + 'longitude': -74.072092 + }, + 'Comoros': { + 'name': 'Comoros', + 'capital': 'Moroni', + 'latitude': -11.717216, + 'longitude': 43.247315 + }, + 'Congo (DRC)': { + 'name': 'Congo (DRC)', + 'capital': 'Kinshasa', + 'latitude': -4.441931, + 'longitude': 15.266293 + }, + 'Congo (Republic)': { + 'name': 'Congo (Republic)', + 'capital': 'Brazzaville', + 'latitude': -4.26336, + 'longitude': 15.242885 + }, + 'Cook Islands': { + 'name': 'Cook Islands', + 'capital': 'Avarua', + 'latitude': -21.212901, + 'longitude': -159.782306 + }, + 'Costa Rica': { + 'name': 'Costa Rica', + 'capital': 'San José', + 'latitude': 9.928069, + 'longitude': -84.090725 + }, + "Côte d'Ivoire": { + 'name': "Côte d'Ivoire", + 'capital': 'Yamoussoukro', + 'latitude': 6.827623, + 'longitude': -5.289343 + }, + 'Croatia': { + 'name': 'Croatia', + 'capital': 'Zagreb ', + 'latitude': 45.815011, + 'longitude': 15.981919 + }, + 'Cuba': { + 'name': 'Cuba', + 'capital': 'Havana', + 'latitude': 23.05407, + 'longitude': -82.345189 + }, + 'Curaçao': { + 'name': 'Curaçao', + 'capital': 'Willemstad', + 'latitude': 12.122422, + 'longitude': -68.882423 + }, + 'Cyprus': { + 'name': 'Cyprus', + 'capital': 'Nicosia', + 'latitude': 35.185566, + 'longitude': 33.382276 + }, + 'Czech Republic': { + 'name': 'Czech Republic', + 'capital': 'Prague', + 'latitude': 50.075538, + 'longitude': 14.4378 + }, + 'Denmark': { + 'name': 'Denmark', + 'capital': 'Copenhagen', + 'latitude': 55.676097, + 'longitude': 12.568337 + }, + 'Djibouti': { + 'name': 'Djibouti', + 'capital': 'Djibouti', + 'latitude': 11.572077, + 'longitude': 43.145647 + }, + 'Dominica': { + 'name': 'Dominica', + 'capital': 'Roseau', + 'latitude': 15.309168, + 'longitude': -61.379355 + }, + 'Dominican Republic': { + 'name': 'Dominican Republic', + 'capital': 'Santo Domingo', + 'latitude': 18.486058, + 'longitude': -69.931212 + }, + 'Ecuador': { + 'name': 'Ecuador', + 'capital': 'Quito', + 'latitude': -0.180653, + 'longitude': -78.467838 + }, + 'Egypt': { + 'name': 'Egypt', + 'capital': 'Cairo', + 'latitude': 30.04442, + 'longitude': 31.235712 + }, + 'El Salvador': { + 'name': 'El Salvador', + 'capital': 'San Salvador', + 'latitude': 13.69294, + 'longitude': -89.218191 + }, + 'Equatorial Guinea': { + 'name': 'Equatorial Guinea', + 'capital': 'Malabo', + 'latitude': 3.750412, + 'longitude': 8.737104 + }, + 'Eritrea': { + 'name': 'Eritrea', + 'capital': 'Asmara', + 'latitude': 15.322877, + 'longitude': 38.925052 + }, + 'Estonia': { + 'name': 'Estonia', + 'capital': 'Tallinn', + 'latitude': 59.436961, + 'longitude': 24.753575 + }, + 'Ethiopia': { + 'name': 'Ethiopia', + 'capital': 'Addis Ababa', + 'latitude': 8.980603, + 'longitude': 38.757761 + }, + 'Falkland Islands (Islas Malvinas)': { + 'name': 'Falkland Islands (Islas Malvinas)', + 'capital': 'Stanley', + 'latitude': -51.697713, + 'longitude': -57.851663 + }, + 'Faroe Islands': { + 'name': 'Faroe Islands', + 'capital': 'Tórshavn', + 'latitude': 62.007864, + 'longitude': -6.790982 + }, + 'Fiji': { + 'name': 'Fiji', + 'capital': 'Suva', + 'latitude': -18.124809, + 'longitude': 178.450079 + }, + 'Finland': { + 'name': 'Finland', + 'capital': 'Helsinki', + 'latitude': 60.173324, + 'longitude': 24.941025 + }, + 'France': { + 'name': 'France', + 'capital': 'Paris', + 'latitude': 48.856614, + 'longitude': 2.352222 + }, + 'French Guiana': { + 'name': 'French Guiana', + 'capital': 'Cayenne', + 'latitude': 4.92242, + 'longitude': -52.313453 + }, + 'French Polynesia': { + 'name': 'French Polynesia', + 'capital': 'Papeete', + 'latitude': -17.551625, + 'longitude': -149.558476 + }, + 'French Southern Territories': { + 'name': 'French Southern Territories', + 'capital': 'Saint-Pierre ', + 'latitude': -21.3419, + 'longitude': 55.4778 + }, + 'Gabon': { + 'name': 'Gabon', + 'capital': 'Libreville', + 'latitude': 0.416198, + 'longitude': 9.467268 + }, + 'Gambia': { + 'name': 'Gambia', + 'capital': 'Banjul', + 'latitude': 13.454876, + 'longitude': -16.579032 + }, + 'Georgia': { + 'name': 'Georgia', + 'capital': 'Tbilisi', + 'latitude': 41.715138, + 'longitude': 44.827096 + }, + 'Germany': { + 'name': 'Germany', + 'capital': 'Berlin', + 'latitude': 52.520007, + 'longitude': 13.404954 + }, + 'Ghana': { + 'name': 'Ghana', + 'capital': 'Accra', + 'latitude': 5.603717, + 'longitude': -0.186964 + }, + 'Gibraltar': { + 'name': 'Gibraltar', + 'capital': 'Gibraltar', + 'latitude': 36.140773, + 'longitude': -5.353599 + }, + 'Greece': { + 'name': 'Greece', + 'capital': 'Athens', + 'latitude': 37.983917, + 'longitude': 23.72936 + }, + 'Greenland': { + 'name': 'Greenland', + 'capital': 'Nuuk', + 'latitude': 64.18141, + 'longitude': -51.694138 + }, + 'Grenada': { + 'name': 'Grenada', + 'capital': "St. George's", + 'latitude': 12.056098, + 'longitude': -61.7488 + }, + 'Guadeloupe': { + 'name': 'Guadeloupe', + 'capital': 'Basse-Terre', + 'latitude': 16.014453, + 'longitude': -61.706411 + }, + 'Guam': { + 'name': 'Guam', + 'capital': 'Hagåtña', + 'latitude': 13.470891, + 'longitude': 144.751278 + }, + 'Guatemala': { + 'name': 'Guatemala', + 'capital': 'Guatemala City', + 'latitude': 14.634915, + 'longitude': -90.506882 + }, + 'Guernsey': { + 'name': 'Guernsey', + 'capital': 'St. Peter Port', + 'latitude': 49.455443, + 'longitude': -2.536871 + }, + 'Guinea': { + 'name': 'Guinea', + 'capital': 'Conakry', + 'latitude': 9.641185, + 'longitude': -13.578401 + }, + 'Guinea-Bissau': { + 'name': 'Guinea-Bissau', + 'capital': 'Bissau', + 'latitude': 11.881655, + 'longitude': -15.617794 + }, + 'Guyana': { + 'name': 'Guyana', + 'capital': 'Georgetown', + 'latitude': 6.801279, + 'longitude': -58.155125 + }, + 'Haiti': { + 'name': 'Haiti', + 'capital': 'Port-au-Prince', + 'latitude': 18.594395, + 'longitude': -72.307433 + }, + 'Honduras': { + 'name': 'Honduras', + 'capital': 'Tegucigalpa', + 'latitude': 14.072275, + 'longitude': -87.192136 + }, + 'Hong Kong': { + 'name': 'Hong Kong', + 'capital': 'Hong Kong', + 'latitude': 22.396428, + 'longitude': 114.109497 + }, + 'Hungary': { + 'name': 'Hungary', + 'capital': 'Budapest', + 'latitude': 47.497912, + 'longitude': 19.040235 + }, + 'Iceland': { + 'name': 'Iceland', + 'capital': 'Reykjavík', + 'latitude': 64.126521, + 'longitude': -21.817439 + }, + 'India': { + 'name': 'India', + 'capital': 'New Delhi', + 'latitude': 28.613939, + 'longitude': 77.209021 + }, + 'Indonesia': { + 'name': 'Indonesia', + 'capital': 'Jakarta', + 'latitude': -6.208763, + 'longitude': 106.845599 + }, + 'Iran': { + 'name': 'Iran', + 'capital': 'Tehran', + 'latitude': 35.689198, + 'longitude': 51.388974 + }, + 'Iraq': { + 'name': 'Iraq', + 'capital': 'Baghdad', + 'latitude': 33.312806, + 'longitude': 44.361488 + }, + 'Ireland': { + 'name': 'Ireland', + 'capital': 'Dublin', + 'latitude': 53.349805, + 'longitude': -6.26031 + }, + 'Isle of Man': { + 'name': 'Isle of Man', + 'capital': 'Douglas', + 'latitude': 54.152337, + 'longitude': -4.486123 + }, + 'Israel': { + 'name': 'Israel', + 'capital': 'Tel Aviv', + 'latitude': 32.0853, + 'longitude': 34.781768 + }, + 'Italy': { + 'name': 'Italy', + 'capital': 'Rome', + 'latitude': 41.902784, + 'longitude': 12.496366 + }, + 'Jamaica': { + 'name': 'Jamaica', + 'capital': 'Kingston', + 'latitude': 18.042327, + 'longitude': -76.802893 + }, + 'Japan': { + 'name': 'Japan', + 'capital': 'Tokyo', + 'latitude': 35.709026, + 'longitude': 139.731992 + }, + 'Jersey': { + 'name': 'Jersey', + 'capital': 'St. Helier', + 'latitude': 49.186823, + 'longitude': -2.106568 + }, + 'Jordan': { + 'name': 'Jordan', + 'capital': 'Amman', + 'latitude': 31.956578, + 'longitude': 35.945695 + }, + 'Kazakhstan': { + 'name': 'Kazakhstan', + 'capital': 'Astana', + 'latitude': 51.160523, + 'longitude': 71.470356 + }, + 'Kenya': { + 'name': 'Kenya', + 'capital': 'Nairobi', + 'latitude': -1.292066, + 'longitude': 36.821946 + }, + 'Kiribati': { + 'name': 'Kiribati', + 'capital': 'Tarawa Atoll', + 'latitude': 1.451817, + 'longitude': 172.971662 + }, + 'Kosovo': { + 'name': 'Kosovo', + 'capital': 'Pristina', + 'latitude': 42.662914, + 'longitude': 21.165503 + }, + 'Kuwait': { + 'name': 'Kuwait', + 'capital': 'Kuwait City', + 'latitude': 29.375859, + 'longitude': 47.977405 + }, + 'Kyrgyzstan': { + 'name': 'Kyrgyzstan', + 'capital': 'Bishkek', + 'latitude': 42.874621, + 'longitude': 74.569762 + }, + 'Laos': { + 'name': 'Laos', + 'capital': 'Vientiane', + 'latitude': 17.975706, + 'longitude': 102.633104 + }, + 'Latvia': { + 'name': 'Latvia', + 'capital': 'Riga', + 'latitude': 56.949649, + 'longitude': 24.105186 + }, + 'Lebanon': { + 'name': 'Lebanon', + 'capital': 'Beirut', + 'latitude': 33.888629, + 'longitude': 35.495479 + }, + 'Lesotho': { + 'name': 'Lesotho', + 'capital': 'Maseru', + 'latitude': -29.363219, + 'longitude': 27.51436 + }, + 'Liberia': { + 'name': 'Liberia', + 'capital': 'Monrovia', + 'latitude': 6.290743, + 'longitude': -10.760524 + }, + 'Libya': { + 'name': 'Libya', + 'capital': 'Tripoli', + 'latitude': 32.887209, + 'longitude': 13.191338 + }, + 'Liechtenstein': { + 'name': 'Liechtenstein', + 'capital': 'Vaduz', + 'latitude': 47.14103, + 'longitude': 9.520928 + }, + 'Lithuania': { + 'name': 'Lithuania', + 'capital': 'Vilnius', + 'latitude': 54.687156, + 'longitude': 25.279651 + }, + 'Luxembourg': { + 'name': 'Luxembourg', + 'capital': 'Luxembourg', + 'latitude': 49.611621, + 'longitude': 6.131935 + }, + 'Macau': { + 'name': 'Macau', + 'capital': 'Macau', + 'latitude': 22.166667, + 'longitude': 113.55 + }, + 'Macedonia': { + 'name': 'Macedonia', + 'capital': 'Skopje', + 'latitude': 41.997346, + 'longitude': 21.427996 + }, + 'Madagascar': { + 'name': 'Madagascar', + 'capital': 'Antananarivo', + 'latitude': -18.87919, + 'longitude': 47.507905 + }, + 'Malawi': { + 'name': 'Malawi', + 'capital': 'Lilongwe', + 'latitude': -13.962612, + 'longitude': 33.774119 + }, + 'Malaysia': { + 'name': 'Malaysia', + 'capital': 'Kuala Lumpur', + 'latitude': 3.139003, + 'longitude': 101.686855 + }, + 'Maldives': { + 'name': 'Maldives', + 'capital': 'Malé', + 'latitude': 4.175496, + 'longitude': 73.509347 + }, + 'Mali': { + 'name': 'Mali', + 'capital': 'Bamako', + 'latitude': 12.639232, + 'longitude': -8.002889 + }, + 'Malta': { + 'name': 'Malta', + 'capital': 'Valletta', + 'latitude': 35.898909, + 'longitude': 14.514553 + }, + 'Marshall Islands': { + 'name': 'Marshall Islands', + 'capital': 'Majuro', + 'latitude': 7.116421, + 'longitude': 171.185774 + }, + 'Martinique': { + 'name': 'Martinique', + 'capital': 'Fort-de-France', + 'latitude': 14.616065, + 'longitude': -61.05878 + }, + 'Mauritania': { + 'name': 'Mauritania', + 'capital': 'Nouakchott', + 'latitude': 18.07353, + 'longitude': -15.958237 + }, + 'Mauritius': { + 'name': 'Mauritius', + 'capital': 'Port Louis', + 'latitude': -20.166896, + 'longitude': 57.502332 + }, + 'Mayotte': { + 'name': 'Mayotte', + 'capital': 'Mamoudzou', + 'latitude': -12.780949, + 'longitude': 45.227872 + }, + 'Mexico': { + 'name': 'Mexico', + 'capital': 'Mexico City', + 'latitude': 19.432608, + 'longitude': -99.133208 + }, + 'Micronesia': { + 'name': 'Micronesia', + 'capital': 'Palikir', + 'latitude': 6.914712, + 'longitude': 158.161027 + }, + 'Moldova': { + 'name': 'Moldova', + 'capital': 'Chisinau', + 'latitude': 47.010453, + 'longitude': 28.86381 + }, + 'Monaco': { + 'name': 'Monaco', + 'capital': 'Monaco', + 'latitude': 43.737411, + 'longitude': 7.420816 + }, + 'Mongolia': { + 'name': 'Mongolia', + 'capital': 'Ulaanbaatar', + 'latitude': 47.886399, + 'longitude': 106.905744 + }, + 'Montenegro': { + 'name': 'Montenegro', + 'capital': 'Podgorica', + 'latitude': 42.43042, + 'longitude': 19.259364 + }, + 'Montserrat': { + 'name': 'Montserrat', + 'capital': 'Plymouth', + 'latitude': 16.706523, + 'longitude': -62.215738 + }, + 'Morocco': { + 'name': 'Morocco', + 'capital': 'Rabat', + 'latitude': 33.97159, + 'longitude': -6.849813 + }, + 'Mozambique': { + 'name': 'Mozambique', + 'capital': 'Maputo', + 'latitude': -25.891968, + 'longitude': 32.605135 + }, + 'Myanmar': { + 'name': 'Myanmar', + 'capital': 'Naypyidaw', + 'latitude': 19.763306, + 'longitude': 96.07851 + }, + 'Nagorno-Karabakh Republic': { + 'name': 'Nagorno-Karabakh Republic', + 'capital': 'Stepanakert', + 'latitude': 39.826385, + 'longitude': 46.763595 + }, + 'Namibia': { + 'name': 'Namibia', + 'capital': 'Windhoek', + 'latitude': -22.560881, + 'longitude': 17.065755 + }, + 'Nauru': { + 'name': 'Nauru', + 'capital': 'Yaren', + 'latitude': -0.546686, + 'longitude': 166.921091 + }, + 'Nepal': { + 'name': 'Nepal', + 'capital': 'Kathmandu', + 'latitude': 27.717245, + 'longitude': 85.323961 + }, + 'Netherlands': { + 'name': 'Netherlands', + 'capital': 'Amsterdam', + 'latitude': 52.370216, + 'longitude': 4.895168 + }, + 'Netherlands Antilles': { + 'name': 'Netherlands Antilles', + 'capital': 'Willemstad ', + 'latitude': 12.1091242, + 'longitude': -68.9316546 + }, + 'New Caledonia': { + 'name': 'New Caledonia', + 'capital': 'Nouméa', + 'latitude': -22.255823, + 'longitude': 166.450524 + }, + 'New Zealand': { + 'name': 'New Zealand', + 'capital': 'Wellington', + 'latitude': -41.28646, + 'longitude': 174.776236 + }, + 'Nicaragua': { + 'name': 'Nicaragua', + 'capital': 'Managua', + 'latitude': 12.114993, + 'longitude': -86.236174 + }, + 'Niger': { + 'name': 'Niger', + 'capital': 'Niamey', + 'latitude': 13.511596, + 'longitude': 2.125385 + }, + 'Nigeria': { + 'name': 'Nigeria', + 'capital': 'Abuja', + 'latitude': 9.076479, + 'longitude': 7.398574 + }, + 'Niue': { + 'name': 'Niue', + 'capital': 'Alofi', + 'latitude': -19.055371, + 'longitude': -169.917871 + }, + 'Norfolk Island': { + 'name': 'Norfolk Island', + 'capital': 'Kingston', + 'latitude': -29.056394, + 'longitude': 167.959588 + }, + 'North Korea': { + 'name': 'North Korea', + 'capital': 'Pyongyang', + 'latitude': 39.039219, + 'longitude': 125.762524 + }, + 'Northern Cyprus': { + 'name': 'Northern Cyprus', + 'capital': 'Nicosia', + 'latitude': 35.185566, + 'longitude': 33.382276 + }, + 'Northern Mariana Islands': { + 'name': 'Northern Mariana Islands', + 'capital': 'Saipan', + 'latitude': 15.177801, + 'longitude': 145.750967 + }, + 'Norway': { + 'name': 'Norway', + 'capital': 'Oslo', + 'latitude': 59.913869, + 'longitude': 10.752245 + }, + 'Oman': { + 'name': 'Oman', + 'capital': 'Muscat', + 'latitude': 23.58589, + 'longitude': 58.405923 + }, + 'Pakistan': { + 'name': 'Pakistan', + 'capital': 'Islamabad', + 'latitude': 33.729388, + 'longitude': 73.093146 + }, + 'Palau': { + 'name': 'Palau', + 'capital': 'Ngerulmud', + 'latitude': 7.500384, + 'longitude': 134.624289 + }, + 'Palestine': { + 'name': 'Palestine', + 'capital': 'Ramallah', + 'latitude': 31.9073509, + 'longitude': 35.5354719 + }, + 'Panama': { + 'name': 'Panama', + 'capital': 'Panama City', + 'latitude': 9.101179, + 'longitude': -79.402864 + }, + 'Papua New Guinea': { + 'name': 'Papua New Guinea', + 'capital': 'Port Moresby', + 'latitude': -9.4438, + 'longitude': 147.180267 + }, + 'Paraguay': { + 'name': 'Paraguay', + 'capital': 'Asuncion', + 'latitude': -25.26374, + 'longitude': -57.575926 + }, + 'Peru': { + 'name': 'Peru', + 'capital': 'Lima', + 'latitude': -12.046374, + 'longitude': -77.042793 + }, + 'Philippines': { + 'name': 'Philippines', + 'capital': 'Manila', + 'latitude': 14.599512, + 'longitude': 120.98422 + }, + 'Pitcairn Islands': { + 'name': 'Pitcairn Islands', + 'capital': 'Adamstown', + 'latitude': -25.06629, + 'longitude': -130.100464 + }, + 'Poland': { + 'name': 'Poland', + 'capital': 'Warsaw', + 'latitude': 52.229676, + 'longitude': 21.012229 + }, + 'Portugal': { + 'name': 'Portugal', + 'capital': 'Lisbon', + 'latitude': 38.722252, + 'longitude': -9.139337 + }, + 'Puerto Rico': { + 'name': 'Puerto Rico', + 'capital': 'San Juan', + 'latitude': 18.466334, + 'longitude': -66.105722 + }, + 'Qatar': { + 'name': 'Qatar', + 'capital': 'Doha', + 'latitude': 25.285447, + 'longitude': 51.53104 + }, + 'Réunion': { + 'name': 'Réunion', + 'capital': 'Saint-Denis', + 'latitude': -20.882057, + 'longitude': 55.450675 + }, + 'Romania': { + 'name': 'Romania', + 'capital': 'Bucharest', + 'latitude': 44.426767, + 'longitude': 26.102538 + }, + 'Russia': { + 'name': 'Russia', + 'capital': 'Moscow', + 'latitude': 55.755826, + 'longitude': 37.6173 + }, + 'Rwanda': { + 'name': 'Rwanda', + 'capital': 'Kigali', + 'latitude': -1.957875, + 'longitude': 30.112735 + }, + 'Saint Pierre and Miquelon': { + 'name': 'Saint Pierre and Miquelon', + 'capital': 'St. Pierre', + 'latitude': 46.775846, + 'longitude': -56.180636 + }, + 'Saint Vincent and the Grenadines': { + 'name': 'Saint Vincent and the Grenadines', + 'capital': 'Kingstown', + 'latitude': 13.160025, + 'longitude': -61.224816 + }, + 'Samoa': { + 'name': 'Samoa', + 'capital': 'Apia', + 'latitude': -13.850696, + 'longitude': -171.751355 + }, + 'San Marino': { + 'name': 'San Marino', + 'capital': 'San Marino', + 'latitude': 43.935591, + 'longitude': 12.447281 + }, + 'São Tomé and Príncipe': { + 'name': 'São Tomé and Príncipe', + 'capital': 'São Tomé', + 'latitude': 0.330192, + 'longitude': 6.733343 + }, + 'Saudi Arabia': { + 'name': 'Saudi Arabia', + 'capital': 'Riyadh', + 'latitude': 24.749403, + 'longitude': 46.902838 + }, + 'Senegal': { + 'name': 'Senegal', + 'capital': 'Dakar', + 'latitude': 14.764504, + 'longitude': -17.366029 + }, + 'Serbia': { + 'name': 'Serbia', + 'capital': 'Belgrade', + 'latitude': 44.786568, + 'longitude': 20.448922 + }, + 'Seychelles': { + 'name': 'Seychelles', + 'capital': 'Victoria', + 'latitude': -4.619143, + 'longitude': 55.451315 + }, + 'Sierra Leone': { + 'name': 'Sierra Leone', + 'capital': 'Freetown', + 'latitude': 8.465677, + 'longitude': -13.231722 + }, + 'Singapore': { + 'name': 'Singapore', + 'capital': 'Singapore', + 'latitude': 1.280095, + 'longitude': 103.850949 + }, + 'Slovakia': { + 'name': 'Slovakia', + 'capital': 'Bratislava', + 'latitude': 48.145892, + 'longitude': 17.107137 + }, + 'Slovenia': { + 'name': 'Slovenia', + 'capital': 'Ljubljana', + 'latitude': 46.056947, + 'longitude': 14.505751 + }, + 'Solomon Islands': { + 'name': 'Solomon Islands', + 'capital': 'Honiara', + 'latitude': -9.445638, + 'longitude': 159.9729 + }, + 'Somalia': { + 'name': 'Somalia', + 'capital': 'Mogadishu', + 'latitude': 2.046934, + 'longitude': 45.318162 + }, + 'South Africa': { + 'name': 'South Africa', + 'capital': 'Pretoria', + 'latitude': -25.747868, + 'longitude': 28.229271 + }, + 'South Georgia and the South Sandwich Islands': { + 'name': 'South Georgia and the South Sandwich Islands', + 'capital': 'King Edward Point', + 'latitude': -54.28325, + 'longitude': -36.493735 + }, + 'South Korea': { + 'name': 'South Korea', + 'capital': 'Seoul', + 'latitude': 37.566535, + 'longitude': 126.977969 + }, + 'South Ossetia': { + 'name': 'South Ossetia', + 'capital': 'Tskhinvali', + 'latitude': 42.22146, + 'longitude': 43.964405 + }, + 'South Sudan': { + 'name': 'South Sudan', + 'capital': 'Juba', + 'latitude': 4.859363, + 'longitude': 31.57125 + }, + 'Spain': { + 'name': 'Spain', + 'capital': 'Madrid', + 'latitude': 40.416775, + 'longitude': -3.70379 + }, + 'Sri Lanka': { + 'name': 'Sri Lanka', + 'capital': 'Sri Jayawardenepura Kotte', + 'latitude': 6.89407, + 'longitude': 79.902478 + }, + 'St. Barthélemy': { + 'name': 'St. Barthélemy', + 'capital': 'Gustavia', + 'latitude': 17.896435, + 'longitude': -62.852201 + }, + 'St. Kitts and Nevis': { + 'name': 'St. Kitts and Nevis', + 'capital': 'Basseterre', + 'latitude': 17.302606, + 'longitude': -62.717692 + }, + 'St. Lucia': { + 'name': 'St. Lucia', + 'capital': 'Castries', + 'latitude': 14.010109, + 'longitude': -60.987469 + }, + 'St. Martin': { + 'name': 'St. Martin', + 'capital': 'Marigot', + 'latitude': 18.067519, + 'longitude': -63.082466 + }, + 'Sudan': { + 'name': 'Sudan', + 'capital': 'Khartoum', + 'latitude': 15.500654, + 'longitude': 32.559899 + }, + 'Suriname': { + 'name': 'Suriname', + 'capital': 'Paramaribo', + 'latitude': 5.852036, + 'longitude': -55.203828 + }, + 'Svalbard and Jan Mayen': { + 'name': 'Svalbard and Jan Mayen', + 'capital': 'Longyearbyen ', + 'latitude': 78.062, + 'longitude': 22.055 + }, + 'Swaziland': { + 'name': 'Swaziland', + 'capital': 'Mbabane', + 'latitude': -26.305448, + 'longitude': 31.136672 + }, + 'Sweden': { + 'name': 'Sweden', + 'capital': 'Stockholm', + 'latitude': 59.329323, + 'longitude': 18.068581 + }, + 'Switzerland': { + 'name': 'Switzerland', + 'capital': 'Bern', + 'latitude': 46.947974, + 'longitude': 7.447447 + }, + 'Syria': { + 'name': 'Syria', + 'capital': 'Damascus', + 'latitude': 33.513807, + 'longitude': 36.276528 + }, + 'Taiwan': { + 'name': 'Taiwan', + 'capital': 'Taipei', + 'latitude': 25.032969, + 'longitude': 121.565418 + }, + 'Tajikistan': { + 'name': 'Tajikistan', + 'capital': 'Dushanbe', + 'latitude': 38.559772, + 'longitude': 68.787038 + }, + 'Tanzania': { + 'name': 'Tanzania', + 'capital': 'Dodoma', + 'latitude': -6.162959, + 'longitude': 35.751607 + }, + 'Thailand': { + 'name': 'Thailand', + 'capital': 'Bangkok', + 'latitude': 13.756331, + 'longitude': 100.501765 + }, + 'Timor-Leste': { + 'name': 'Timor-Leste', + 'capital': 'Dili', + 'latitude': -8.556856, + 'longitude': 125.560314 + }, + 'Togo': { + 'name': 'Togo', + 'capital': 'Lomé', + 'latitude': 6.172497, + 'longitude': 1.231362 + }, + 'Tokelau': { + 'name': 'Tokelau', + 'capital': 'Nukunonu', + 'latitude': -9.2005, + 'longitude': -171.848 + }, + 'Tonga': { + 'name': 'Tonga', + 'capital': 'Nukuʻalofa', + 'latitude': -21.139342, + 'longitude': -175.204947 + }, + 'Transnistria': { + 'name': 'Transnistria', + 'capital': 'Tiraspol', + 'latitude': 46.848185, + 'longitude': 29.596805 + }, + 'Trinidad and Tobago': { + 'name': 'Trinidad and Tobago', + 'capital': 'Port of Spain', + 'latitude': 10.654901, + 'longitude': -61.501926 + }, + 'Tristan da Cunha': { + 'name': 'Tristan da Cunha', + 'capital': 'Edinburgh of the Seven Seas', + 'latitude': -37.068042, + 'longitude': -12.311315 + }, + 'Tunisia': { + 'name': 'Tunisia', + 'capital': 'Tunis', + 'latitude': 36.806495, + 'longitude': 10.181532 + }, + 'Turkey': { + 'name': 'Turkey', + 'capital': 'Ankara', + 'latitude': 39.933364, + 'longitude': 32.859742 + }, + 'Turkmenistan': { + 'name': 'Turkmenistan', + 'capital': 'Ashgabat', + 'latitude': 37.960077, + 'longitude': 58.326063 + }, + 'Turks and Caicos Islands': { + 'name': 'Turks and Caicos Islands', + 'capital': 'Cockburn Town', + 'latitude': 21.467458, + 'longitude': -71.13891 + }, + 'Tuvalu': { + 'name': 'Tuvalu', + 'capital': 'Funafuti', + 'latitude': -8.520066, + 'longitude': 179.198128 + }, + 'U.S. Virgin Islands': { + 'name': 'U.S. Virgin Islands', + 'capital': 'Charlotte Amalie', + 'latitude': 18.3419, + 'longitude': -64.930701 + }, + 'Uganda': { + 'name': 'Uganda', + 'capital': 'Kampala', + 'latitude': 0.347596, + 'longitude': 32.58252 + }, + 'Ukraine': { + 'name': 'Ukraine', + 'capital': 'Kiev', + 'latitude': 50.4501, + 'longitude': 30.5234 + }, + 'United Arab Emirates': { + 'name': 'United Arab Emirates', + 'capital': 'Abu Dhabi', + 'latitude': 24.299174, + 'longitude': 54.697277 + }, + 'United Kingdom': { + 'name': 'United Kingdom', + 'capital': 'London', + 'latitude': 51.507351, + 'longitude': -0.127758 + }, + 'United States': { + 'name': 'United States', + 'capital': 'Washington', + 'latitude': 38.907192, + 'longitude': -77.036871 + }, + 'Uruguay': { + 'name': 'Uruguay', + 'capital': 'Montevideo', + 'latitude': -34.901113, + 'longitude': -56.164531 + }, + 'Uzbekistan': { + 'name': 'Uzbekistan', + 'capital': 'Tashkent', + 'latitude': 41.299496, + 'longitude': 69.240073 + }, + 'Vanuatu': { + 'name': 'Vanuatu', + 'capital': 'Port Vila', + 'latitude': -17.733251, + 'longitude': 168.327325 + }, + 'Vatican City': { + 'name': 'Vatican City', + 'capital': 'Vatican City', + 'latitude': 41.902179, + 'longitude': 12.453601 + }, + 'Venezuela': { + 'name': 'Venezuela', + 'capital': 'Caracas', + 'latitude': 10.480594, + 'longitude': -66.903606 + }, + 'Vietnam': { + 'name': 'Vietnam', + 'capital': 'Hanoi', + 'latitude': 21.027764, + 'longitude': 105.83416 + }, + 'Wallis and Futuna': { + 'name': 'Wallis and Futuna', + 'capital': 'Mata-Utu', + 'latitude': -13.282509, + 'longitude': -176.176447 + }, + 'Western Sahara': { + 'name': 'Western Sahara', + 'capital': 'El Aaiún', + 'latitude': 27.125287, + 'longitude': -13.1625 + }, + 'Yemen': { + 'name': 'Yemen', + 'capital': "Sana'a", + 'latitude': 15.369445, + 'longitude': 44.191007 + }, + 'Zambia': { + 'name': 'Zambia', + 'capital': 'Lusaka', + 'latitude': -15.387526, + 'longitude': 28.322817 + }, + 'Zimbabwe': { + 'name': 'Zimbabwe', + 'capital': 'Harare', + 'latitude': -17.825166, + 'longitude': 31.03351 + } +} + +def convert_lat_long(latitude, longitude, map_width, map_height): + + false_easting = 180 + radius = map_width / (2 * pi) + latitude = radians(latitude) + longitude = radians(longitude + false_easting) + + x_coord = longitude * radius + + y_dist_from_equator = radius * log(tan(pi / 4 + latitude / 2)) + y_coord = map_height / 2 - y_dist_from_equator + + coords = {'x': x_coord, 'y': y_coord} + + return coords + + +def get_available_regions(): + return regions.keys() + + +def get_region_coords(region, map_width=991, map_height=768): + coords = None + + try: + lookup = regions[region] + coords = convert_lat_long(lookup['latitude'], lookup['longitude'], map_width, map_height) + return coords + except KeyError: + print('Region not recognised: ', region) diff --git a/lib/tasks/project_components/mapping_data_olympics/species.csv b/lib/tasks/project_components/mapping_data_olympics/species.csv new file mode 100644 index 00000000..a6ec45d8 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_olympics/species.csv @@ -0,0 +1,238 @@ +Afghanistan,42 +Albania,130 +Algeria,135 +American Samoa,92 +Andorra,13 +Angola,146 +Anguilla,52 +Antarctica,6 +Antigua and Barbuda,55 +Argentina,256 +Armenia,114 +Aruba,32 +Australia,948 +Austria,118 +Azerbaijan,97 +Bahamas,86 +Bahrain,36 +Bangladesh,151 +Barbados,56 +Belarus,25 +Belgium,37 +Belize,117 +Benin,88 +Bermuda,72 +Bhutan,71 +Bolivia,231 +Bosnia and Herzegovina,91 +Botswana,28 +Bouvet Island,3 +Brazil,990 +British Indian Ocean Territory,85 +British Virgin Islands,67 +Brunei,193 +Bulgaria,104 +Burkina Faso,31 +Burundi,61 +Cape Verde,65 +Cambodia,255 +Cameroon,775 +Canada,122 +Cayman Islands,74 +Central African Republic,60 +Chad,43 +Chile,197 +China,1080 +Hong Kong,64 +Macau,11 +Christmas Island,39 +Cocos (Keeling) Islands,33 +Colombia,835 +Comoros,114 +Congo (Republic),134 +Cook Islands,75 +Costa Rica,340 +Côte d'Ivoire,249 +Croatia,176 +Cuba,339 +Curaçao,51 +Cyprus,72 +Czech Republic,53 +North Korea,78 +Congo (DRC),349 +Denmark,47 +Djibouti,98 +Dominica,66 +Dominican Republic,184 +Ecuador,2358 +Egypt,156 +El Salvador,86 +Equatorial Guinea,177 +Eritrea,122 +Estonia,23 +Swaziland,34 +Ethiopia,148 +Falkland Islands (Islas Malvinas),23 +Faroe Islands,21 +Fiji,291 +Finland,36 +France,278 +French Guiana,73 +French Polynesia,175 +French Southern Territories,25 +Gabon,270 +Gambia,67 +Georgia,120 +Germany,116 +Ghana,238 +Gibraltar,31 +Greece,374 +Greenland,23 +Grenada,54 +Guadeloupe,73 +Guam,99 +Guatemala,290 +Guernsey,5 +Guinea,185 +Guinea-Bissau,77 +Guyana,94 +Haiti,205 +Vatican City,1 +Honduras,301 +Hungary,66 +Iceland,27 +India,1052 +Indonesia,1281 +Iran,134 +Iraq,72 +Ireland,50 +Isle of Man,3 +Israel,174 +Italy,359 +Jamaica,311 +Japan,404 +Jersey,6 +Jordan,113 +Kazakhstan,82 +Kenya,480 +Kiribati,104 +Kuwait,49 +Kyrgyzstan,44 +Laos,209 +Latvia,30 +Lebanon,87 +Lesotho,18 +Liberia,172 +Libya,63 +Liechtenstein,6 +Lithuania,26 +Luxembourg,11 +Madagascar,1324 +Malawi,176 +Malaysia,1272 +Maldives,75 +Mali,42 +Malta,39 +Marshall Islands,101 +Martinique,48 +Mauritania,86 +Mauritius,257 +Mayotte,88 +Mexico,1162 +Micronesia,167 +Monaco,21 +Mongolia,41 +Montenegro,98 +Montserrat,55 +Morocco,207 +Mozambique,309 +Myanmar,321 +Namibia,115 +Nauru,82 +Nepal,104 +Netherlands,40 +New Caledonia,526 +New Zealand,199 +Nicaragua,144 +Niger,34 +Nigeria,361 +Niue,52 +Norfolk Island,44 +Northern Mariana Islands,102 +Norway,64 +Oman,99 +Pakistan,140 +Palau,182 +Panama,383 +Papua New Guinea,493 +Paraguay,59 +Peru,685 +Philippines,783 +Poland,58 +Portugal,281 +Puerto Rico,126 +Qatar,39 +South Korea,111 +Moldova,35 +Réunion,130 +Romania,104 +Russia,235 +Rwanda,62 +St. Barthélemy,31 +St. Kitts and Nevis,52 +St. Lucia,62 +Saint Pierre and Miquelon,12 +Saint Vincent and the Grenadines,58 +Samoa,93 +San Marino,1 +São Tomé and Príncipe,94 +Saudi Arabia,131 +Senegal,123 +Serbia,71 +Seychelles,439 +Sierra Leone,177 +Singapore,293 +Slovakia,54 +Slovenia,143 +Solomon Islands,245 +Somalia,175 +South Africa,581 +South Georgia and the South Sandwich Islands,9 +South Sudan,49 +Spain,617 +Sri Lanka,587 +Palestine,31 +Sudan,133 +Suriname,83 +Sweden,54 +Switzerland,74 +Syria,132 +Tajikistan,45 +Thailand,611 +Timor-Leste,24 +Togo,80 +Tokelau,49 +Tonga,79 +Trinidad and Tobago,69 +Tunisia,96 +Turkey,388 +Turkmenistan,54 +Turks and Caicos Islands,60 +Tuvalu,96 +Uganda,196 +Ukraine,102 +United Arab Emirates,56 +United Kingdom,102 +Tanzania,1082 +United States,1513 +U.S. Virgin Islands,58 +Uruguay,106 +Uzbekistan,59 +Vanuatu,137 +Venezuela,328 +Vietnam,616 +Wallis and Futuna,89 +Western Sahara,49 +Yemen,298 +Zambia,88 +Zimbabwe,89 diff --git a/lib/tasks/project_components/mapping_data_population/carbon.csv b/lib/tasks/project_components/mapping_data_population/carbon.csv new file mode 100644 index 00000000..8733659c --- /dev/null +++ b/lib/tasks/project_components/mapping_data_population/carbon.csv @@ -0,0 +1,141 @@ +Albania,4342.011,1.511 +Algeria,130493.653,3.158 +Angola,18021.394,0.605 +Argentina,183375.203,4.142 +Armenia,5165.593,1.763 +Australia,384583.857,15.632 +Austria,64872.394,7.376 +Azerbaijan,30805.851,3.124 +Bahrain,29813.834,19.969 +Bangladesh,78270.17,0.475 +Belarus,54070.453,5.687 +Belgium,90368.188,7.963 +Benin,6763.074,0.605 +Bolivia,21899.18,1.981 +Bosnia and Herzegovina,22327.978,6.367 +Botswana,7717.409,3.367 +Brazil,427632.717,2.043 +Brunei,6710.178,15.641 +Bulgaria,42819.932,6.051 +Côte d'Ivoire,10234.205,0.421 +Cambodia,10762.923,0.672 +Cameroon,6152.919,0.256 +Canada,547798.641,14.992 +Chile,86087.14,4.648 +China,9257933.9,6.678 +Hong Kong,44034.675,5.957 +Colombia,75291.911,1.535 +Congo (Republic),2847.335,0.541 +Costa Rica,7584.411,1.546 +Croatia,16193.172,3.925 +Cuba,26215.665,2.283 +Curaçao,3748.132,23.28 +Cyprus,6367.874,7.448 +Czech Republic,101682.752,9.602 +North Korea,19579.698,0.768 +Congo (DRC),2201.742,0.027 +Denmark,31263.57,5.421 +Dominican Republic,21430.38,1.99 +Ecuador,34299.317,2.063 +Egypt,209219.059,2.145 +El Salvador,5735.668,0.899 +Eritrea,632.105,0.125 +Estonia,15972.029,12.137 +Ethiopia,13059.815,0.124 +Finland,42598.175,7.734 +France,306123.541,4.565 +Gabon,3367.911,1.663 +Georgia,8720.3,2.346 +Germany,718794.085,8.696 +Ghana,13779.635,0.478 +Gibraltar,703.9,20.703 +Greece,63213.31,5.878 +Guatemala,15703.161,0.928 +Haiti,3293.125,0.3 +Honduras,9426.74,1.017 +Hungary,45783.636,4.678 +Iceland,2173.307,6.336 +India,2161567.072,1.614 +Indonesia,496406.275,1.88 +Iran,567123.294,6.987 +Iraq,139877.659,3.655 +Ireland,35720.302,7.439 +Israel,63766.189,7.322 +Italy,321481.224,5.31 +Jamaica,6971.666,2.412 +Japan,1132435.4,8.938 +Jordan,25550.14,2.633 +Kazakhstan,255767.646,14.179 +Kenya,16264.973,0.327 +Kosovo,8168.55,4.461 +Kuwait,89420.615,21.615 +Kyrgyzstan,8909.263,1.437 +Latvia,6679.644,3.441 +Lebanon,26931.044,4.428 +Libya,41528.35,6.514 +Lithuania,10811.096,3.831 +Luxembourg,8631.187,14.458 +Malaysia,211046.967,6.674 +Malta,1516.276,3.261 +Mauritius,4182.138,3.306 +Mexico,445991.937,3.615 +Mongolia,19276,6.267 +Montenegro,2206.233,3.547 +Morocco,58149.86,1.627 +Mozambique,7624.932,0.257 +Myanmar,30404.919,0.57 +Namibia,4037.15,1.593 +Nepal,10113.953,0.345 +Netherlands,155574.278,9.081 +New Zealand,32241.597,6.673 +Nicaragua,5106.281,0.821 +Niger,2048.704,0.095 +Nigeria,85988.513,0.45 +Norway,34760.858,6.587 +Oman,65498.56,14.128 +Pakistan,183447.068,0.931 +Panama,9612.198,2.345 +Paraguay,7654.689,1.124 +Peru,49693.643,1.545 +Philippines,126487.694,1.206 +Poland,305841.991,7.96 +Portugal,50757.815,4.928 +Qatar,80116.551,30.359 +South Korea,600034.367,11.663 +Moldova,7526.673,2.12 +Romania,70788.76,3.614 +Russia,1536878.825,10.636 +Saudi Arabia,532181.611,16.157 +Senegal,8311.532,0.524 +Serbia,46129.569,6.569 +Singapore,47407.144,8.447 +Slovakia,32212.012,5.924 +Slovenia,13410.666,6.491 +South Africa,421682.392,7.435 +South Sudan,1549.031,0.123 +Spain,253423.277,5.446 +Sri Lanka,23103.271,1.077 +Sudan,18777.895,0.463 +Suriname,1928.134,3.425 +Sweden,37643.785,3.743 +Switzerland,37135.572,4.394 +Syria,23031.045,1.261 +Tajikistan,5843.657,0.655 +Thailand,244254.785,3.538 +Togo,2082.434,0.267 +Trinidad and Tobago,18007.573,13.154 +Tunisia,26156.972,2.268 +Turkey,378631.09,4.714 +Turkmenistan,68998.881,11.983 +Ukraine,171300.035,3.821 +United Arab Emirates,196510.174,20.905 +United Kingdom,358731.281,5.432 +Tanzania,10131.79,0.177 +United States,4761301.727,14.606 +Uruguay,5872.957,1.699 +Uzbekistan,81156.397,2.506 +Venezuela,113717.543,3.556 +Vietnam,191243.601,2.002 +Yemen,8919.998,0.316 +Zambia,6007.872,0.351 +Zimbabwe,9714.938,0.588 diff --git a/lib/tasks/project_components/mapping_data_population/computer-map.jpg b/lib/tasks/project_components/mapping_data_population/computer-map.jpg new file mode 100644 index 00000000..dadfe5d6 Binary files /dev/null and b/lib/tasks/project_components/mapping_data_population/computer-map.jpg differ diff --git a/lib/tasks/project_components/mapping_data_population/gdp.csv b/lib/tasks/project_components/mapping_data_population/gdp.csv new file mode 100644 index 00000000..a7b6d53a --- /dev/null +++ b/lib/tasks/project_components/mapping_data_population/gdp.csv @@ -0,0 +1,207 @@ +Aruba,3056424581 +Afghanistan,18869945678 +Angola,1.22124E+11 +Albania,13019693451 +Andorra,3000180750 +United Arab Emirates,3.85606E+11 +Argentina,6.43629E+11 +Armenia,11527458566 +American Samoa,602000000 +Antigua and Barbuda,1467977778 +Australia,1.32919E+12 +Austria,4.17238E+11 +Azerbaijan,40865558912 +Burundi,3172292379 +Belgium,5.02698E+11 +Benin,12701656931 +Burkina Faso,14106956830 +Bangladesh,2.49711E+11 +Bulgaria,58971520599 +Bahrain,35473776596 +Bahamas,12490700000 +Bosnia and Herzegovina,18080118128 +Belarus,54726595249 +Belize,1836600000 +Bermuda,7142316000 +Bolivia,37508642165 +Brazil,2.06283E+12 +Barbados,4978000000 +Brunei,12128104859 +Bhutan,2450364928 +Botswana,17405588070 +Central African Republic,2072350151 +Canada,1.64988E+12 +Switzerland,6.7995E+11 +Chile,2.77045E+11 +China,1.23104E+13 +Côte d'Ivoire,51588158718 +Cameroon,35009262788 +Congo (DRC),38019265626 +Congo (Republic),11198674674 +Colombia,3.11884E+11 +Comoros,1077439663 +Costa Rica,58481858043 +Cuba,96851000000 +Cayman Islands,5153091158 +Cyprus,22729184365 +Czech Republic,2.18629E+11 +Germany,3.6826E+12 +Djibouti,2751461056 +Dominica,519837037 +Denmark,3.32121E+11 +Dominican Republic,79997975623 +Algeria,1.70163E+11 +Ecuador,1.04296E+11 +Egypt,2.35734E+11 +Eritrea, +Spain,1.31254E+12 +Estonia,26951648829 +Ethiopia,81770791971 +Finland,2.55232E+11 +Fiji,5353404419 +France,2.59515E+12 +Faroe Islands,2905102304 +Micronesia,366666800 +Gabon,14929488771 +United Kingdom,2.66623E+12 +Georgia,16242916916 +Ghana,58998132330 +Gibraltar, +Guinea,10324668267 +Gambia,1504909753 +Guinea-Bissau,1350177128 +Equatorial Guinea,12200914930 +Greece,2.03588E+11 +Grenada,1125685185 +Greenland,2826651926 +Guatemala,71612352645 +Guam,5851000000 +Guyana,4748174334 +Hong Kong,3.41244E+11 +Honduras,23136232230 +Croatia,55481644098 +Haiti,14213814583 +Hungary,1.42962E+11 +Indonesia,1.01562E+12 +Isle of Man,6979581725 +India,2.65275E+12 +Ireland,3.35663E+11 +Iran,4.45345E+11 +Iraq,1.95473E+11 +Iceland,24488176541 +Israel,3.53253E+11 +Italy,1.9618E+12 +Jamaica,14806340821 +Jordan,41408960787 +Japan,4.86686E+12 +Kazakhstan,1.66806E+11 +Kenya,78965004656 +Kyrgyzstan,7702934800 +Cambodia,22177200512 +Kiribati,187276210.9 +St. Kitts and Nevis,996944444.4 +South Korea,1.6239E+12 +Kuwait,1.20707E+11 +Laos,16853087485 +Lebanon,53140638269 +Liberia,3285455000 +Libya,37883243650 +St. Lucia,1999090407 +Liechtenstein,6552858739 +Sri Lanka,87428125558 +Lesotho,2405289384 +Lithuania,47758736932 +Luxembourg,64181944723 +Latvia,30458763246 +Macau,50751059058 +Morocco,1.09683E+11 +Monaco,6431314957 +Moldova,9669759987 +Madagascar,13176313233 +Maldives,4754352301 +Mexico,1.15891E+12 +Marshall Islands,212881000 +Mali,15365627045 +Malta,13146963159 +Myanmar,68945867478 +Montenegro,4844606146 +Mongolia,11425755280 +Northern Mariana Islands,1601000000 +Mozambique,13219084261 +Mauritania,6758390729 +Mauritius,13259351418 +Malawi,6303292264 +Malaysia,3.19112E+11 +Namibia,12741746524 +New Caledonia, +Niger,11189541083 +Nigeria,3.75746E+11 +Nicaragua,13785909906 +Netherlands,8.3387E+11 +Norway,3.98394E+11 +Nepal,25180583770 +Nauru,109585941.6 +New Zealand,2.05416E+11 +Oman,70598026283 +Pakistan,3.04567E+11 +Panama,62219000000 +Peru,2.11007E+11 +Philippines,3.28481E+11 +Palau,286106800 +Papua New Guinea,22742613549 +Poland,5.26509E+11 +Puerto Rico,1.03446E+11 +North Korea, +Portugal,2.21358E+11 +Paraguay,39008900332 +French Polynesia, +Qatar,1.61099E+11 +Romania,2.11695E+11 +Russia,1.5742E+12 +Rwanda,9253098954 +Saudi Arabia,6.88586E+11 +Sudan,45021077955 +Senegal,20996564752 +Singapore,3.41863E+11 +Solomon Islands,1483758907 +Sierra Leone,3739577973 +El Salvador,24979200000 +San Marino,1528630707 +Somalia, +Serbia,44179055280 +South Sudan, +Suriname,3216207914 +Slovakia,95494424979 +Slovenia,48586603448 +Sweden,5.41019E+11 +Swaziland,4402973000 +Seychelles,1524486800 +Syria, +Turks and Caicos Islands,1022365000 +Chad,10000395242 +Togo,4819949975 +Thailand,4.56295E+11 +Tajikistan,7157865188 +Turkmenistan,37926285714 +Timor-Leste,1599338100 +Tonga,460379145 +Trinidad and Tobago,22474828527 +Tunisia,39802430355 +Turkey,8.58989E+11 +Tuvalu,40619251.99 +Tanzania,53320625959 +Uganda,30756466548 +Ukraine,1.1219E+11 +Uruguay,59530088537 +United States,1.95194E+13 +Uzbekistan,59159945321 +Venezuela, +British Virgin Islands, +Vietnam,2.2378E+11 +Vanuatu,880043553.7 +Samoa,832153612.6 +Kosovo,7245707185 +Yemen,26736139802 +South Africa,3.49554E+11 +Zambia,25868165345 +Zimbabwe,22040902300 diff --git a/lib/tasks/project_components/mapping_data_population/happy.csv b/lib/tasks/project_components/mapping_data_population/happy.csv new file mode 100644 index 00000000..90b257fa --- /dev/null +++ b/lib/tasks/project_components/mapping_data_population/happy.csv @@ -0,0 +1,155 @@ +Norway,1,7.537000179 +Denmark,2,7.521999836 +Iceland,3,7.504000187 +Switzerland,4,7.493999958 +Finland,5,7.468999863 +Netherlands,6,7.376999855 +Canada,7,7.315999985 +New Zealand,8,7.31400013 +Sweden,9,7.28399992 +Australia,10,7.28399992 +Israel,11,7.212999821 +Costa Rica,12,7.078999996 +Austria,13,7.006000042 +United States,14,6.993000031 +Ireland,15,6.977000237 +Germany,16,6.951000214 +Belgium,17,6.890999794 +Luxembourg,18,6.862999916 +United Kingdom,19,6.714000225 +Chile,20,6.65199995 +United Arab Emirates,21,6.647999763 +Brazil,22,6.635000229 +Czech Republic,23,6.609000206 +Argentina,24,6.598999977 +Mexico,25,6.578000069 +Singapore,26,6.572000027 +Malta,27,6.52699995 +Uruguay,28,6.453999996 +Guatemala,29,6.453999996 +Panama,30,6.452000141 +France,31,6.441999912 +Thailand,32,6.423999786 +Taiwan,33,6.421999931 +Spain,34,6.402999878 +Qatar,35,6.375 +Colombia,36,6.356999874 +Saudi Arabia,37,6.343999863 +Trinidad and Tobago,38,6.168000221 +Kuwait,39,6.105000019 +Slovakia,40,6.09800005 +Bahrain,41,6.086999893 +Malaysia,42,6.084000111 +Nicaragua,43,6.071000099 +Ecuador,44,6.007999897 +El Salvador,45,6.002999783 +Poland,46,5.97300005 +Uzbekistan,47,5.971000195 +Italy,48,5.964000225 +Russia,49,5.962999821 +Belize,50,5.955999851 +Japan,51,5.920000076 +Lithuania,52,5.90199995 +Algeria,53,5.872000217 +Latvia,54,5.849999905 +South Korea,55,5.837999821 +Moldova,56,5.837999821 +Romania,57,5.824999809 +Bolivia,58,5.822999954 +Turkmenistan,59,5.822000027 +Kazakhstan,60,5.818999767 +Northern Cyprus,61,5.809999943 +Slovenia,62,5.757999897 +Peru,63,5.715000153 +Mauritius,64,5.629000187 +Cyprus,65,5.620999813 +Estonia,66,5.611000061 +Belarus,67,5.568999767 +Libya,68,5.525000095 +Turkey,69,5.5 +Paraguay,70,5.493000031 +Hong Kong,71,5.472000122 +Philippines,72,5.429999828 +Serbia,73,5.394999981 +Jordan,74,5.335999966 +Hungary,75,5.323999882 +Jamaica,76,5.31099987 +Croatia,77,5.293000221 +Kosovo,78,5.278999805 +China,79,5.272999763 +Pakistan,80,5.269000053 +Indonesia,81,5.262000084 +Venezuela,82,5.25 +Montenegro,83,5.236999989 +Morocco,84,5.235000134 +Azerbaijan,85,5.234000206 +Dominican Republic,86,5.230000019 +Greece,87,5.227000237 +Lebanon,88,5.224999905 +Portugal,89,5.195000172 +Bosnia and Herzegovina,90,5.18200016 +Honduras,91,5.181000233 +Macedonia,92,5.175000191 +Somalia,93,5.151000023 +Vietnam,94,5.073999882 +Nigeria,95,5.073999882 +Tajikistan,96,5.040999889 +Bhutan,97,5.011000156 +Kyrgyzstan,98,5.004000187 +Nepal,99,4.961999893 +Mongolia,100,4.954999924 +South Africa,101,4.828999996 +Tunisia,102,4.804999828 +Palestine,103,4.775000095 +Egypt,104,4.735000134 +Bulgaria,105,4.714000225 +Sierra Leone,106,4.709000111 +Cameroon,107,4.695000172 +Iran,108,4.691999912 +Albania,109,4.644000053 +Bangladesh,110,4.607999802 +Namibia,111,4.573999882 +Kenya,112,4.552999973 +Mozambique,113,4.550000191 +Myanmar,114,4.545000076 +Senegal,115,4.534999847 +Zambia,116,4.513999939 +Iraq,117,4.497000217 +Gabon,118,4.465000153 +Ethiopia,119,4.460000038 +Sri Lanka,120,4.440000057 +Armenia,121,4.375999928 +India,122,4.315000057 +Mauritania,123,4.291999817 +Congo (Republic),124,4.290999889 +Georgia,125,4.285999775 +Congo (DRC),126,4.28000021 +Mali,127,4.190000057 +Côte d'Ivoire,128,4.179999828 +Cambodia,129,4.168000221 +Sudan,130,4.138999939 +Ghana,131,4.119999886 +Ukraine,132,4.096000195 +Uganda,133,4.080999851 +Burkina Faso,134,4.032000065 +Niger,135,4.027999878 +Malawi,136,3.970000029 +Chad,137,3.936000109 +Zimbabwe,138,3.875 +Lesotho,139,3.808000088 +Angola,140,3.795000076 +Afghanistan,141,3.79399991 +Botswana,142,3.766000032 +Benin,143,3.657000065 +Madagascar,144,3.644000053 +Haiti,145,3.602999926 +Yemen,146,3.592999935 +South Sudan,147,3.59100008 +Liberia,148,3.532999992 +Guinea,149,3.506999969 +Togo,150,3.494999886 +Rwanda,151,3.470999956 +Syria,152,3.461999893 +Tanzania,153,3.348999977 +Burundi,154,2.904999971 +Central African Republic,155,2.693000078 diff --git a/lib/tasks/project_components/mapping_data_population/ink-map.jpg b/lib/tasks/project_components/mapping_data_population/ink-map.jpg new file mode 100644 index 00000000..655cd278 Binary files /dev/null and b/lib/tasks/project_components/mapping_data_population/ink-map.jpg differ diff --git a/lib/tasks/project_components/mapping_data_population/main.py b/lib/tasks/project_components/mapping_data_population/main.py new file mode 100644 index 00000000..476bda51 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_population/main.py @@ -0,0 +1,66 @@ +#!/bin/python3 +from p5 import * +from regions import get_region_coords +from random import randint + +region_list = [] +colours = {} + +# Put code to run once here +def setup(): + global map + load_data('pop.csv') + size(991, 768) + map = load_image('mercator_bw.png') + +# Put code to run every frame here +def draw(): + image( + map, # The image to draw + 0, # The x of the top-left corner + 0, # The y of the top-left corner + width, # The width of the image + height # The height of the image + ) + draw_pin(300, 300, Color(255, 0, 0)) + draw_data() + +def draw_pin(x_coord, y_coord, colour): + no_stroke() + fill(colour) + rect(x_coord, y_coord, 10, 10) + +def load_data(file_name): + with open(file_name) as f: + for line in f: + info = line.split(',') + region_dict = { + 'name': info[0], + 'population': info[1], + 'population density': info[2] + } + region_list.append(region_dict) + +def draw_data(): + for region in region_list: + region_name = region['name'] # Get the name of the region + region_coords = get_region_coords(region_name) # Use the name to get coordinates + region_x = region_coords['x'] # Get the x coordinate + region_y = region_coords['y'] # Get the y coordinate + #print(region_name, region_x, region_y) + region_colour = Color(randint(0,255), randint(0,255), randint(0, 255)) # Set the pin colour + colours[region_colour] = region + draw_pin(region_x, region_y, region_colour) + +# Put code to run when the mouse is pressed here +def mouse_pressed(): + pixel_colour = Color(get(mouse_x, mouse_y)) + if pixel_colour in colours: + facts = colours[pixel_colour] + print('Name: ', facts['name']) + print('Population: ', facts['population']) + print('Population density', facts['population density']) + else: + print('Region not detected') + +run() diff --git a/lib/tasks/project_components/mapping_data_population/mercator.jpeg b/lib/tasks/project_components/mapping_data_population/mercator.jpeg new file mode 100644 index 00000000..c964a51d Binary files /dev/null and b/lib/tasks/project_components/mapping_data_population/mercator.jpeg differ diff --git a/lib/tasks/project_components/mapping_data_population/mercator_bw.png b/lib/tasks/project_components/mapping_data_population/mercator_bw.png new file mode 100644 index 00000000..2123563e Binary files /dev/null and b/lib/tasks/project_components/mapping_data_population/mercator_bw.png differ diff --git a/lib/tasks/project_components/mapping_data_population/old-map.jpg b/lib/tasks/project_components/mapping_data_population/old-map.jpg new file mode 100644 index 00000000..fe2e66ed Binary files /dev/null and b/lib/tasks/project_components/mapping_data_population/old-map.jpg differ diff --git a/lib/tasks/project_components/mapping_data_population/olympics.csv b/lib/tasks/project_components/mapping_data_population/olympics.csv new file mode 100644 index 00000000..628cdc92 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_population/olympics.csv @@ -0,0 +1,21 @@ +United States,4 +United Kingdom,3 +Greece,3 +France,2 +Germany,2 +Australia,2 +Russia,1 +Italy,1 +Sweden,1 +China,1 +Japan,2 +Finland,1 +Canada,1 +Netherlands,1 +South Korea,1 +Belgium,1 +Spain,1 +Brazil,1 +Sweden,1 +Belgium,1 +Mexico,1 diff --git a/lib/tasks/project_components/mapping_data_population/pop.csv b/lib/tasks/project_components/mapping_data_population/pop.csv new file mode 100644 index 00000000..2f35a02a --- /dev/null +++ b/lib/tasks/project_components/mapping_data_population/pop.csv @@ -0,0 +1,184 @@ +Afghanistan,38928346,60,18,25 +Albania,2877797,105,36,63 +Algeria,43851044,18,29,73 +Andorra,77265,164,45,88 +Antigua and Barbuda,97929,223,34,26 +Argentina,45195774,17,32,93 +Armenia,2963243,104,35,63 +Aruba,106766,593,41,44 +Australia,25499884,3,38,86 +Austria,9006398,109,43,57 +Azerbaijan,10139177,123,32,56 +Bahamas,393244,39,32,86 +Bahrain,1701575,2239,32,89 +Bangladesh,164689383,1265,28,39 +Barbados,287375,668,40,31 +Belarus,9449323,47,40,79 +Belgium,11589623,383,42,98 +Belize,397628,17,24,46 +Benin,12123200,108,19,48 +Bhutan,771608,20,28,46 +Bolivia,11673021,11,26,69 +Bosnia and Herzegovina,3280819,64,43,52 +Brazil,212559417,25,33,88 +Brunei,437479,83,32,80 +Bulgaria,6948445,64,45,76 +Burkina Faso,20903273,76,18,31 +Cape Verde,554441,138,27.6,68 +Cambodia,16718965,95,26,24 +Cameroon,26545863,56,19,56 +Canada,37742154,4,41,81 +Central African Republic,37742154,8,18,43 +Chad,16302699,13,16.6,23.3 +Chile,19116201,26,35,85 +Hong Kong,7496981,7140,45,100 +China,1439323776,153,38,61 +Colombia,50882891,46,31,80 +Congo (Republic),5518087,16,19,70 +Congo (DRC),89561403,40,17,46 +Costa Rica,5094118,100,33,80 +Côte d'Ivoire,26378274,83,19,51 +Croatia,4105267,73,44,58 +Cuba,11326616,106,42,78 +Cyprus,1207359,131,37,67 +Czech Republic,10708981,139,43,74 +Denmark,5792202,137,42,88 +Djibouti,988000,43,27,79 +Dominica,71986,96,33.5,74 +Dominican Republic,10847910,225,28,85 +Ecuador,17643054,71,28,63 +Egypt,102334404,103,25,43 +El Salvador,6486205,313,27.6,73.4 +Equatorial Guinea,1402985,50,22,73 +Eritrea,3546421,35,19.2,63.3 +Estonia,1326535,31,42,68 +Swaziland,1160164,67,21,30 +Ethiopia,114963588,115,19,21 +Faroe Islands,48873,35,38,88 +Fiji,896445,49,27.9,59.1 +Finland,5540720,18,43,86 +France,65273511,119,42,82 +French Guiana,298682,4,25,87 +Gabon,2225734,9,23,87 +Gambia,2416668,239,18,59 +Georgia,3989167,57,38,58 +Germany,83783942,240,46,76 +Ghana,31072940,137,22,57 +Greece,10423054,81,46,85 +Grenada,112523,331,32,35.5 +Greenland,56770,0,34,87 +Guadeloupe,400124,237,44,96 +Guam,168775,313,31,95 +Guatemala,17915568,167,23,52 +Guernsey,70000,965,44,86 +Guinea,13132795,53,18,39 +Guinea-Bissau,1968001,70,18.8,44.9 +Guyana,786552,4,27,27 +Haiti,11402528,414,24,56.9 +Vatican City,801,2003,40,100 +Honduras,9904607,89,24,57 +Hungary,9660351,107,43,72 +Iceland,341243,3,37,94 +India,1380004385,464,28,35 +Indonesia,273523615,151,30,56 +Iran,83992949,52,32,76 +Iraq,40222493,93,21,73 +Ireland,4937786,72,38,63 +Israel,8655535,400,30,93 +Italy,60461826,206,47,69 +Jamaica,2961167,273,31,55 +Japan,126476461,347,48,92 +Jersey,106800,819,38,98 +Jordan,10203134,115,24,91 +Kazakhstan,18776707,7,31,58 +Kenya,53771296,94,20,28 +Kosovo,1810463,159,29,65 +Kuwait,4270571,240,37,92 +Kyrgyzstan,6524195,34,26,36 +Laos,7275560,32,24.4,35.7 +Latvia,1886198,30,44,69 +Lebanon,6825445,667,30,78 +Liberia,5057681,53,19,53 +Libya,6847352,4,28.8,78.2 +Liechtenstein,38128,109,41,15 +Lithuania,2722289,43,45,71 +Luxembourg,625978,242,40,88 +Madagascar,27691018,48,19.6,38.5 +Malaysia,32365999,99,30,78 +Maldives,540544,1802,30,35 +Mali,20250833,17,16.3,44 +Malta,441543,1380,43,93 +Martinique,375265,354,47,92 +Mauritania,4649658,5,20,57 +Mauritius,1271768,626,37,41 +Mayotte,272815,728,20,46 +Mexico,128932753,66,29,84 +Moldova,4033963,123,38,43 +Monaco,39242,26337,54,100 +Mongolia,3278290,2,28,67 +Montenegro,628066,47,39,68 +Morocco,36910560,83,30,64 +Mozambique,31255435,40,17.6,38.3 +Namibia,2540905,3,22,55 +Nepal,29136808,203,25,21 +Curaçao,164093,370,41.6,88.7 +Netherlands,17134872,508,43,92 +New Zealand,4822233,18,38,87 +Nicaragua,6624554,55,26.5,57.2 +Niger,24206644,19,15.2,16.5 +Nigeria,206139589,226,18,52 +Norway,5421241,15,40,83 +Oman,5106626,16,31,87 +Pakistan,220892340,287,23,35 +Panama,4314767,58,30,68 +Paraguay,7132538,18,26,62 +Peru,32971854,26,31,79 +Philippines,109581078,368,26,47 +Poland,37846611,124,42,60 +Portugal,10196709,111,46,66 +Puerto Rico,2860853,323,44,88 +Qatar,2881053,248,32,96 +Réunion,895312,358,36,100 +Romania,19237691,84,43,55 +Russia,145934462,9,40,74 +Rwanda,12952218,525,20,18 +St. Kitts and Nevis,53199,205,34.8,32.9 +St. Lucia,183627,301,34,19 +Saint Vincent and the Grenadines,115000,307,33,78 +San Marino,33931,566,47,97 +Saudi Arabia,34813871,16,32,84 +Senegal,16743927,87,19,49 +Serbia,8737371,100,42,56 +Seychelles,98347,214,34,56 +Singapore,5850342,8358,42,99 +Slovakia,5459642,114,41,54 +Slovenia,2078938,103,45,55 +Somalia,15893222,25,17,47 +South Africa,59308690,49,28,67 +South Korea,51269185,527,44,82 +Spain,46754778,94,45,80 +Sri Lanka,21413249,341,34,18 +Sudan,43849260,25,20,35 +Suriname,586632,4,29,65 +Sweden,10099265,25,41,88 +Switzerland,8654622,219,43,74 +Syria,17390388,95,25.6,60 +Taiwan,23816775,673,42,79 +Tanzania,59734218,67,18,37 +Thailand,69799978,137,40,51 +Timor-Leste,1318445,89,20.8,32.8 +Togo,8278724,152,19,43 +Trinidad and Tobago,1399488,273,36,52 +Tunisia,11818619,76,33,70 +Turkey,84339067,110,32,76 +United States,331002651,36,38,83 +Uganda,45741007,229,16.7,25.7 +Ukraine,43733762,75,41,69 +United Arab Emirates,9890402,118,33,86 +United Kingdom,67886011,281,40,83 +Uruguay,3473730,20,36,96 +Uzbekistan,33469203,79,28,50 +Venezuela,28435940,32,30,80 +Vietnam,97338579,314,32,38 +Zambia,18383955,25,18,45 +Zimbabwe,14862924,38,18.7,38.4 diff --git a/lib/tasks/project_components/mapping_data_population/project_config.yml b/lib/tasks/project_components/mapping_data_population/project_config.yml new file mode 100644 index 00000000..9309816c --- /dev/null +++ b/lib/tasks/project_components/mapping_data_population/project_config.yml @@ -0,0 +1,50 @@ +NAME: "Mapping Data: Population" +IDENTIFIER: "mapping-data-population" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "regions" + extension: "py" + location: "regions.py" + index: 1 + default: false + - name: "pop" + extension: "csv" + location: "pop.csv" + index: 2 + default: false + - name: "olympics" + extension: "csv" + location: "olympics.csv" + index: 3 + default: false + - name: "carbon" + extension: "csv" + location: "carbon.csv" + index: 4 + default: false + - name: "species" + extension: "csv" + location: "species.csv" + index: 5 + default: false + - name: "gdp" + extension: "csv" + location: "gdp.csv" + index: 6 + default: false + - name: "happy" + extension: "csv" + location: "happy.csv" + index: 7 + default: false + +IMAGES: + - "computer-map.jpg" + - "ink-map.jpg" + - "mercator.jpeg" + - "mercator_bw.png" + - "old-map.jpg" diff --git a/lib/tasks/project_components/mapping_data_population/regions.py b/lib/tasks/project_components/mapping_data_population/regions.py new file mode 100644 index 00000000..b5e840fd --- /dev/null +++ b/lib/tasks/project_components/mapping_data_population/regions.py @@ -0,0 +1,1548 @@ +#!/bin/python3 +from math import radians, pi, log, tan + +regions = { + 'Abkhazia': { + 'name': 'Abkhazia', + 'capital': 'Sukhumi', + 'latitude': 43.001525, + 'longitude': 41.023415 + }, + 'Afghanistan': { + 'name': 'Afghanistan', + 'capital': 'Kabul', + 'latitude': 34.575503, + 'longitude': 69.240073 + }, + 'Aland Islands': { + 'name': 'Aland Islands', + 'capital': 'Mariehamn', + 'latitude': 60.1, + 'longitude': 19.933333 + }, + 'Albania': { + 'name': 'Albania', + 'capital': 'Tirana', + 'latitude': 41.327546, + 'longitude': 19.818698 + }, + 'Algeria': { + 'name': 'Algeria', + 'capital': 'Algiers', + 'latitude': 36.752887, + 'longitude': 3.042048 + }, + 'American Samoa': { + 'name': 'American Samoa', + 'capital': 'Pago Pago', + 'latitude': -14.275632, + 'longitude': -170.702036 + }, + 'Andorra': { + 'name': 'Andorra', + 'capital': 'Andorra la Vella', + 'latitude': 42.506317, + 'longitude': 1.521835 + }, + 'Angola': { + 'name': 'Angola', + 'capital': 'Luanda', + 'latitude': -8.839988, + 'longitude': 13.289437 + }, + 'Anguilla': { + 'name': 'Anguilla', + 'capital': 'The Valley', + 'latitude': 18.214813, + 'longitude': -63.057441 + }, + 'Antarctica': { + 'name': 'Antarctica', + 'capital': 'South Pole', + 'latitude': -90.0, + 'longitude': 0.0 + }, + 'Antigua and Barbuda': { + 'name': 'Antigua and Barbuda', + 'capital': "St. John's", + 'latitude': 17.12741, + 'longitude': -61.846772 + }, + 'Argentina': { + 'name': 'Argentina', + 'capital': 'Buenos Aires', + 'latitude': -34.603684, + 'longitude': -58.381559 + }, + 'Armenia': { + 'name': 'Armenia', + 'capital': 'Yerevan', + 'latitude': 40.179186, + 'longitude': 44.499103 + }, + 'Aruba': { + 'name': 'Aruba', + 'capital': 'Oranjestad', + 'latitude': 12.509204, + 'longitude': -70.008631 + }, + 'Australia': { + 'name': 'Australia', + 'capital': 'Canberra', + 'latitude': -35.282, + 'longitude': 149.128684 + }, + 'Austria': { + 'name': 'Austria', + 'capital': 'Vienna', + 'latitude': 48.208174, + 'longitude': 16.373819 + }, + 'Azerbaijan': { + 'name': 'Azerbaijan', + 'capital': 'Baku', + 'latitude': 40.409262, + 'longitude': 49.867092 + }, + 'Bahamas': { + 'name': 'Bahamas', + 'capital': 'Nassau', + 'latitude': 25.047984, + 'longitude': -77.355413 + }, + 'Bahrain': { + 'name': 'Bahrain', + 'capital': 'Manama', + 'latitude': 26.228516, + 'longitude': 50.58605 + }, + 'Bangladesh': { + 'name': 'Bangladesh', + 'capital': 'Dhaka', + 'latitude': 23.810332, + 'longitude': 90.412518 + }, + 'Barbados': { + 'name': 'Barbados', + 'capital': 'Bridgetown', + 'latitude': 13.113222, + 'longitude': -59.598809 + }, + 'Belarus': { + 'name': 'Belarus', + 'capital': 'Minsk', + 'latitude': 53.90454, + 'longitude': 27.561524 + }, + 'Belgium': { + 'name': 'Belgium', + 'capital': 'Brussels', + 'latitude': 50.85034, + 'longitude': 4.35171 + }, + 'Belize': { + 'name': 'Belize', + 'capital': 'Belmopan', + 'latitude': 17.251011, + 'longitude': -88.75902 + }, + 'Benin': { + 'name': 'Benin', + 'capital': 'Porto-Novo', + 'latitude': 6.496857, + 'longitude': 2.628852 + }, + 'Bermuda': { + 'name': 'Bermuda', + 'capital': 'Hamilton', + 'latitude': 32.294816, + 'longitude': -64.781375 + }, + 'Bhutan': { + 'name': 'Bhutan', + 'capital': 'Thimphu', + 'latitude': 27.472792, + 'longitude': 89.639286 + }, + 'Bolivia': { + 'name': 'Bolivia', + 'capital': 'La Paz', + 'latitude': -16.489689, + 'longitude': -68.119294 + }, + 'Bosnia and Herzegovina': { + 'name': 'Bosnia and Herzegovina', + 'capital': 'Sarajevo', + 'latitude': 43.856259, + 'longitude': 18.413076 + }, + 'Botswana': { + 'name': 'Botswana', + 'capital': 'Gaborone', + 'latitude': -24.628208, + 'longitude': 25.923147 + }, + 'Bouvet Island': { + 'name': 'Bouvet Island', + 'capital': 'Bouvet Island', + 'latitude': -54.43, + 'longitude': 3.38 + }, + 'Brazil': { + 'name': 'Brazil', + 'capital': 'Brasília', + 'latitude': -15.794229, + 'longitude': -47.882166 + }, + 'British Indian Ocean Territory': { + 'name': 'British Indian Ocean Territory', + 'capital': 'Camp Justice', + 'latitude': 21.3419, + 'longitude': 55.4778 + }, + 'British Virgin Islands': { + 'name': 'British Virgin Islands', + 'capital': 'Road Town', + 'latitude': 18.428612, + 'longitude': -64.618466 + }, + 'Brunei': { + 'name': 'Brunei', + 'capital': 'Bandar Seri Begawan', + 'latitude': 4.903052, + 'longitude': 114.939821 + }, + 'Bulgaria': { + 'name': 'Bulgaria', + 'capital': 'Sofia', + 'latitude': 42.697708, + 'longitude': 23.321868 + }, + 'Burkina Faso': { + 'name': 'Burkina Faso', + 'capital': 'Ouagadougou', + 'latitude': 12.371428, + 'longitude': -1.51966 + }, + 'Burundi': { + 'name': 'Burundi', + 'capital': 'Bujumbura', + 'latitude': -3.361378, + 'longitude': 29.359878 + }, + 'Cambodia': { + 'name': 'Cambodia', + 'capital': 'Phnom Penh', + 'latitude': 11.544873, + 'longitude': 104.892167 + }, + 'Cameroon': { + 'name': 'Cameroon', + 'capital': 'Yaoundé', + 'latitude': 3.848033, + 'longitude': 11.502075 + }, + 'Canada': { + 'name': 'Canada', + 'capital': 'Ottawa', + 'latitude': 45.42153, + 'longitude': -75.697193 + }, + 'Cape Verde': { + 'name': 'Cape Verde', + 'capital': 'Praia', + 'latitude': 14.93305, + 'longitude': -23.513327 + }, + 'Cayman Islands': { + 'name': 'Cayman Islands', + 'capital': 'George Town', + 'latitude': 19.286932, + 'longitude': -81.367439 + }, + 'Central African Republic': { + 'name': 'Central African Republic', + 'capital': 'Bangui', + 'latitude': 4.394674, + 'longitude': 18.55819 + }, + 'Chad': { + 'name': 'Chad', + 'capital': "N'Djamena", + 'latitude': 12.134846, + 'longitude': 15.055742 + }, + 'Chile': { + 'name': 'Chile', + 'capital': 'Santiago', + 'latitude': -33.44889, + 'longitude': -70.669265 + }, + 'China': { + 'name': 'China', + 'capital': 'Beijing', + 'latitude': 39.904211, + 'longitude': 116.407395 + }, + 'Christmas Island': { + 'name': 'Christmas Island', + 'capital': 'Flying Fish Cove', + 'latitude': -10.420686, + 'longitude': 105.679379 + }, + 'Cocos (Keeling) Islands': { + 'name': 'Cocos (Keeling) Islands', + 'capital': 'West Island', + 'latitude': -12.188834, + 'longitude': 96.829316 + }, + 'Colombia': { + 'name': 'Colombia', + 'capital': 'Bogotá', + 'latitude': 4.710989, + 'longitude': -74.072092 + }, + 'Comoros': { + 'name': 'Comoros', + 'capital': 'Moroni', + 'latitude': -11.717216, + 'longitude': 43.247315 + }, + 'Congo (DRC)': { + 'name': 'Congo (DRC)', + 'capital': 'Kinshasa', + 'latitude': -4.441931, + 'longitude': 15.266293 + }, + 'Congo (Republic)': { + 'name': 'Congo (Republic)', + 'capital': 'Brazzaville', + 'latitude': -4.26336, + 'longitude': 15.242885 + }, + 'Cook Islands': { + 'name': 'Cook Islands', + 'capital': 'Avarua', + 'latitude': -21.212901, + 'longitude': -159.782306 + }, + 'Costa Rica': { + 'name': 'Costa Rica', + 'capital': 'San José', + 'latitude': 9.928069, + 'longitude': -84.090725 + }, + "Côte d'Ivoire": { + 'name': "Côte d'Ivoire", + 'capital': 'Yamoussoukro', + 'latitude': 6.827623, + 'longitude': -5.289343 + }, + 'Croatia': { + 'name': 'Croatia', + 'capital': 'Zagreb ', + 'latitude': 45.815011, + 'longitude': 15.981919 + }, + 'Cuba': { + 'name': 'Cuba', + 'capital': 'Havana', + 'latitude': 23.05407, + 'longitude': -82.345189 + }, + 'Curaçao': { + 'name': 'Curaçao', + 'capital': 'Willemstad', + 'latitude': 12.122422, + 'longitude': -68.882423 + }, + 'Cyprus': { + 'name': 'Cyprus', + 'capital': 'Nicosia', + 'latitude': 35.185566, + 'longitude': 33.382276 + }, + 'Czech Republic': { + 'name': 'Czech Republic', + 'capital': 'Prague', + 'latitude': 50.075538, + 'longitude': 14.4378 + }, + 'Denmark': { + 'name': 'Denmark', + 'capital': 'Copenhagen', + 'latitude': 55.676097, + 'longitude': 12.568337 + }, + 'Djibouti': { + 'name': 'Djibouti', + 'capital': 'Djibouti', + 'latitude': 11.572077, + 'longitude': 43.145647 + }, + 'Dominica': { + 'name': 'Dominica', + 'capital': 'Roseau', + 'latitude': 15.309168, + 'longitude': -61.379355 + }, + 'Dominican Republic': { + 'name': 'Dominican Republic', + 'capital': 'Santo Domingo', + 'latitude': 18.486058, + 'longitude': -69.931212 + }, + 'Ecuador': { + 'name': 'Ecuador', + 'capital': 'Quito', + 'latitude': -0.180653, + 'longitude': -78.467838 + }, + 'Egypt': { + 'name': 'Egypt', + 'capital': 'Cairo', + 'latitude': 30.04442, + 'longitude': 31.235712 + }, + 'El Salvador': { + 'name': 'El Salvador', + 'capital': 'San Salvador', + 'latitude': 13.69294, + 'longitude': -89.218191 + }, + 'Equatorial Guinea': { + 'name': 'Equatorial Guinea', + 'capital': 'Malabo', + 'latitude': 3.750412, + 'longitude': 8.737104 + }, + 'Eritrea': { + 'name': 'Eritrea', + 'capital': 'Asmara', + 'latitude': 15.322877, + 'longitude': 38.925052 + }, + 'Estonia': { + 'name': 'Estonia', + 'capital': 'Tallinn', + 'latitude': 59.436961, + 'longitude': 24.753575 + }, + 'Ethiopia': { + 'name': 'Ethiopia', + 'capital': 'Addis Ababa', + 'latitude': 8.980603, + 'longitude': 38.757761 + }, + 'Falkland Islands (Islas Malvinas)': { + 'name': 'Falkland Islands (Islas Malvinas)', + 'capital': 'Stanley', + 'latitude': -51.697713, + 'longitude': -57.851663 + }, + 'Faroe Islands': { + 'name': 'Faroe Islands', + 'capital': 'Tórshavn', + 'latitude': 62.007864, + 'longitude': -6.790982 + }, + 'Fiji': { + 'name': 'Fiji', + 'capital': 'Suva', + 'latitude': -18.124809, + 'longitude': 178.450079 + }, + 'Finland': { + 'name': 'Finland', + 'capital': 'Helsinki', + 'latitude': 60.173324, + 'longitude': 24.941025 + }, + 'France': { + 'name': 'France', + 'capital': 'Paris', + 'latitude': 48.856614, + 'longitude': 2.352222 + }, + 'French Guiana': { + 'name': 'French Guiana', + 'capital': 'Cayenne', + 'latitude': 4.92242, + 'longitude': -52.313453 + }, + 'French Polynesia': { + 'name': 'French Polynesia', + 'capital': 'Papeete', + 'latitude': -17.551625, + 'longitude': -149.558476 + }, + 'French Southern Territories': { + 'name': 'French Southern Territories', + 'capital': 'Saint-Pierre ', + 'latitude': -21.3419, + 'longitude': 55.4778 + }, + 'Gabon': { + 'name': 'Gabon', + 'capital': 'Libreville', + 'latitude': 0.416198, + 'longitude': 9.467268 + }, + 'Gambia': { + 'name': 'Gambia', + 'capital': 'Banjul', + 'latitude': 13.454876, + 'longitude': -16.579032 + }, + 'Georgia': { + 'name': 'Georgia', + 'capital': 'Tbilisi', + 'latitude': 41.715138, + 'longitude': 44.827096 + }, + 'Germany': { + 'name': 'Germany', + 'capital': 'Berlin', + 'latitude': 52.520007, + 'longitude': 13.404954 + }, + 'Ghana': { + 'name': 'Ghana', + 'capital': 'Accra', + 'latitude': 5.603717, + 'longitude': -0.186964 + }, + 'Gibraltar': { + 'name': 'Gibraltar', + 'capital': 'Gibraltar', + 'latitude': 36.140773, + 'longitude': -5.353599 + }, + 'Greece': { + 'name': 'Greece', + 'capital': 'Athens', + 'latitude': 37.983917, + 'longitude': 23.72936 + }, + 'Greenland': { + 'name': 'Greenland', + 'capital': 'Nuuk', + 'latitude': 64.18141, + 'longitude': -51.694138 + }, + 'Grenada': { + 'name': 'Grenada', + 'capital': "St. George's", + 'latitude': 12.056098, + 'longitude': -61.7488 + }, + 'Guadeloupe': { + 'name': 'Guadeloupe', + 'capital': 'Basse-Terre', + 'latitude': 16.014453, + 'longitude': -61.706411 + }, + 'Guam': { + 'name': 'Guam', + 'capital': 'Hagåtña', + 'latitude': 13.470891, + 'longitude': 144.751278 + }, + 'Guatemala': { + 'name': 'Guatemala', + 'capital': 'Guatemala City', + 'latitude': 14.634915, + 'longitude': -90.506882 + }, + 'Guernsey': { + 'name': 'Guernsey', + 'capital': 'St. Peter Port', + 'latitude': 49.455443, + 'longitude': -2.536871 + }, + 'Guinea': { + 'name': 'Guinea', + 'capital': 'Conakry', + 'latitude': 9.641185, + 'longitude': -13.578401 + }, + 'Guinea-Bissau': { + 'name': 'Guinea-Bissau', + 'capital': 'Bissau', + 'latitude': 11.881655, + 'longitude': -15.617794 + }, + 'Guyana': { + 'name': 'Guyana', + 'capital': 'Georgetown', + 'latitude': 6.801279, + 'longitude': -58.155125 + }, + 'Haiti': { + 'name': 'Haiti', + 'capital': 'Port-au-Prince', + 'latitude': 18.594395, + 'longitude': -72.307433 + }, + 'Honduras': { + 'name': 'Honduras', + 'capital': 'Tegucigalpa', + 'latitude': 14.072275, + 'longitude': -87.192136 + }, + 'Hong Kong': { + 'name': 'Hong Kong', + 'capital': 'Hong Kong', + 'latitude': 22.396428, + 'longitude': 114.109497 + }, + 'Hungary': { + 'name': 'Hungary', + 'capital': 'Budapest', + 'latitude': 47.497912, + 'longitude': 19.040235 + }, + 'Iceland': { + 'name': 'Iceland', + 'capital': 'Reykjavík', + 'latitude': 64.126521, + 'longitude': -21.817439 + }, + 'India': { + 'name': 'India', + 'capital': 'New Delhi', + 'latitude': 28.613939, + 'longitude': 77.209021 + }, + 'Indonesia': { + 'name': 'Indonesia', + 'capital': 'Jakarta', + 'latitude': -6.208763, + 'longitude': 106.845599 + }, + 'Iran': { + 'name': 'Iran', + 'capital': 'Tehran', + 'latitude': 35.689198, + 'longitude': 51.388974 + }, + 'Iraq': { + 'name': 'Iraq', + 'capital': 'Baghdad', + 'latitude': 33.312806, + 'longitude': 44.361488 + }, + 'Ireland': { + 'name': 'Ireland', + 'capital': 'Dublin', + 'latitude': 53.349805, + 'longitude': -6.26031 + }, + 'Isle of Man': { + 'name': 'Isle of Man', + 'capital': 'Douglas', + 'latitude': 54.152337, + 'longitude': -4.486123 + }, + 'Israel': { + 'name': 'Israel', + 'capital': 'Tel Aviv', + 'latitude': 32.0853, + 'longitude': 34.781768 + }, + 'Italy': { + 'name': 'Italy', + 'capital': 'Rome', + 'latitude': 41.902784, + 'longitude': 12.496366 + }, + 'Jamaica': { + 'name': 'Jamaica', + 'capital': 'Kingston', + 'latitude': 18.042327, + 'longitude': -76.802893 + }, + 'Japan': { + 'name': 'Japan', + 'capital': 'Tokyo', + 'latitude': 35.709026, + 'longitude': 139.731992 + }, + 'Jersey': { + 'name': 'Jersey', + 'capital': 'St. Helier', + 'latitude': 49.186823, + 'longitude': -2.106568 + }, + 'Jordan': { + 'name': 'Jordan', + 'capital': 'Amman', + 'latitude': 31.956578, + 'longitude': 35.945695 + }, + 'Kazakhstan': { + 'name': 'Kazakhstan', + 'capital': 'Astana', + 'latitude': 51.160523, + 'longitude': 71.470356 + }, + 'Kenya': { + 'name': 'Kenya', + 'capital': 'Nairobi', + 'latitude': -1.292066, + 'longitude': 36.821946 + }, + 'Kiribati': { + 'name': 'Kiribati', + 'capital': 'Tarawa Atoll', + 'latitude': 1.451817, + 'longitude': 172.971662 + }, + 'Kosovo': { + 'name': 'Kosovo', + 'capital': 'Pristina', + 'latitude': 42.662914, + 'longitude': 21.165503 + }, + 'Kuwait': { + 'name': 'Kuwait', + 'capital': 'Kuwait City', + 'latitude': 29.375859, + 'longitude': 47.977405 + }, + 'Kyrgyzstan': { + 'name': 'Kyrgyzstan', + 'capital': 'Bishkek', + 'latitude': 42.874621, + 'longitude': 74.569762 + }, + 'Laos': { + 'name': 'Laos', + 'capital': 'Vientiane', + 'latitude': 17.975706, + 'longitude': 102.633104 + }, + 'Latvia': { + 'name': 'Latvia', + 'capital': 'Riga', + 'latitude': 56.949649, + 'longitude': 24.105186 + }, + 'Lebanon': { + 'name': 'Lebanon', + 'capital': 'Beirut', + 'latitude': 33.888629, + 'longitude': 35.495479 + }, + 'Lesotho': { + 'name': 'Lesotho', + 'capital': 'Maseru', + 'latitude': -29.363219, + 'longitude': 27.51436 + }, + 'Liberia': { + 'name': 'Liberia', + 'capital': 'Monrovia', + 'latitude': 6.290743, + 'longitude': -10.760524 + }, + 'Libya': { + 'name': 'Libya', + 'capital': 'Tripoli', + 'latitude': 32.887209, + 'longitude': 13.191338 + }, + 'Liechtenstein': { + 'name': 'Liechtenstein', + 'capital': 'Vaduz', + 'latitude': 47.14103, + 'longitude': 9.520928 + }, + 'Lithuania': { + 'name': 'Lithuania', + 'capital': 'Vilnius', + 'latitude': 54.687156, + 'longitude': 25.279651 + }, + 'Luxembourg': { + 'name': 'Luxembourg', + 'capital': 'Luxembourg', + 'latitude': 49.611621, + 'longitude': 6.131935 + }, + 'Macau': { + 'name': 'Macau', + 'capital': 'Macau', + 'latitude': 22.166667, + 'longitude': 113.55 + }, + 'Macedonia': { + 'name': 'Macedonia', + 'capital': 'Skopje', + 'latitude': 41.997346, + 'longitude': 21.427996 + }, + 'Madagascar': { + 'name': 'Madagascar', + 'capital': 'Antananarivo', + 'latitude': -18.87919, + 'longitude': 47.507905 + }, + 'Malawi': { + 'name': 'Malawi', + 'capital': 'Lilongwe', + 'latitude': -13.962612, + 'longitude': 33.774119 + }, + 'Malaysia': { + 'name': 'Malaysia', + 'capital': 'Kuala Lumpur', + 'latitude': 3.139003, + 'longitude': 101.686855 + }, + 'Maldives': { + 'name': 'Maldives', + 'capital': 'Malé', + 'latitude': 4.175496, + 'longitude': 73.509347 + }, + 'Mali': { + 'name': 'Mali', + 'capital': 'Bamako', + 'latitude': 12.639232, + 'longitude': -8.002889 + }, + 'Malta': { + 'name': 'Malta', + 'capital': 'Valletta', + 'latitude': 35.898909, + 'longitude': 14.514553 + }, + 'Marshall Islands': { + 'name': 'Marshall Islands', + 'capital': 'Majuro', + 'latitude': 7.116421, + 'longitude': 171.185774 + }, + 'Martinique': { + 'name': 'Martinique', + 'capital': 'Fort-de-France', + 'latitude': 14.616065, + 'longitude': -61.05878 + }, + 'Mauritania': { + 'name': 'Mauritania', + 'capital': 'Nouakchott', + 'latitude': 18.07353, + 'longitude': -15.958237 + }, + 'Mauritius': { + 'name': 'Mauritius', + 'capital': 'Port Louis', + 'latitude': -20.166896, + 'longitude': 57.502332 + }, + 'Mayotte': { + 'name': 'Mayotte', + 'capital': 'Mamoudzou', + 'latitude': -12.780949, + 'longitude': 45.227872 + }, + 'Mexico': { + 'name': 'Mexico', + 'capital': 'Mexico City', + 'latitude': 19.432608, + 'longitude': -99.133208 + }, + 'Micronesia': { + 'name': 'Micronesia', + 'capital': 'Palikir', + 'latitude': 6.914712, + 'longitude': 158.161027 + }, + 'Moldova': { + 'name': 'Moldova', + 'capital': 'Chisinau', + 'latitude': 47.010453, + 'longitude': 28.86381 + }, + 'Monaco': { + 'name': 'Monaco', + 'capital': 'Monaco', + 'latitude': 43.737411, + 'longitude': 7.420816 + }, + 'Mongolia': { + 'name': 'Mongolia', + 'capital': 'Ulaanbaatar', + 'latitude': 47.886399, + 'longitude': 106.905744 + }, + 'Montenegro': { + 'name': 'Montenegro', + 'capital': 'Podgorica', + 'latitude': 42.43042, + 'longitude': 19.259364 + }, + 'Montserrat': { + 'name': 'Montserrat', + 'capital': 'Plymouth', + 'latitude': 16.706523, + 'longitude': -62.215738 + }, + 'Morocco': { + 'name': 'Morocco', + 'capital': 'Rabat', + 'latitude': 33.97159, + 'longitude': -6.849813 + }, + 'Mozambique': { + 'name': 'Mozambique', + 'capital': 'Maputo', + 'latitude': -25.891968, + 'longitude': 32.605135 + }, + 'Myanmar': { + 'name': 'Myanmar', + 'capital': 'Naypyidaw', + 'latitude': 19.763306, + 'longitude': 96.07851 + }, + 'Nagorno-Karabakh Republic': { + 'name': 'Nagorno-Karabakh Republic', + 'capital': 'Stepanakert', + 'latitude': 39.826385, + 'longitude': 46.763595 + }, + 'Namibia': { + 'name': 'Namibia', + 'capital': 'Windhoek', + 'latitude': -22.560881, + 'longitude': 17.065755 + }, + 'Nauru': { + 'name': 'Nauru', + 'capital': 'Yaren', + 'latitude': -0.546686, + 'longitude': 166.921091 + }, + 'Nepal': { + 'name': 'Nepal', + 'capital': 'Kathmandu', + 'latitude': 27.717245, + 'longitude': 85.323961 + }, + 'Netherlands': { + 'name': 'Netherlands', + 'capital': 'Amsterdam', + 'latitude': 52.370216, + 'longitude': 4.895168 + }, + 'Netherlands Antilles': { + 'name': 'Netherlands Antilles', + 'capital': 'Willemstad ', + 'latitude': 12.1091242, + 'longitude': -68.9316546 + }, + 'New Caledonia': { + 'name': 'New Caledonia', + 'capital': 'Nouméa', + 'latitude': -22.255823, + 'longitude': 166.450524 + }, + 'New Zealand': { + 'name': 'New Zealand', + 'capital': 'Wellington', + 'latitude': -41.28646, + 'longitude': 174.776236 + }, + 'Nicaragua': { + 'name': 'Nicaragua', + 'capital': 'Managua', + 'latitude': 12.114993, + 'longitude': -86.236174 + }, + 'Niger': { + 'name': 'Niger', + 'capital': 'Niamey', + 'latitude': 13.511596, + 'longitude': 2.125385 + }, + 'Nigeria': { + 'name': 'Nigeria', + 'capital': 'Abuja', + 'latitude': 9.076479, + 'longitude': 7.398574 + }, + 'Niue': { + 'name': 'Niue', + 'capital': 'Alofi', + 'latitude': -19.055371, + 'longitude': -169.917871 + }, + 'Norfolk Island': { + 'name': 'Norfolk Island', + 'capital': 'Kingston', + 'latitude': -29.056394, + 'longitude': 167.959588 + }, + 'North Korea': { + 'name': 'North Korea', + 'capital': 'Pyongyang', + 'latitude': 39.039219, + 'longitude': 125.762524 + }, + 'Northern Cyprus': { + 'name': 'Northern Cyprus', + 'capital': 'Nicosia', + 'latitude': 35.185566, + 'longitude': 33.382276 + }, + 'Northern Mariana Islands': { + 'name': 'Northern Mariana Islands', + 'capital': 'Saipan', + 'latitude': 15.177801, + 'longitude': 145.750967 + }, + 'Norway': { + 'name': 'Norway', + 'capital': 'Oslo', + 'latitude': 59.913869, + 'longitude': 10.752245 + }, + 'Oman': { + 'name': 'Oman', + 'capital': 'Muscat', + 'latitude': 23.58589, + 'longitude': 58.405923 + }, + 'Pakistan': { + 'name': 'Pakistan', + 'capital': 'Islamabad', + 'latitude': 33.729388, + 'longitude': 73.093146 + }, + 'Palau': { + 'name': 'Palau', + 'capital': 'Ngerulmud', + 'latitude': 7.500384, + 'longitude': 134.624289 + }, + 'Palestine': { + 'name': 'Palestine', + 'capital': 'Ramallah', + 'latitude': 31.9073509, + 'longitude': 35.5354719 + }, + 'Panama': { + 'name': 'Panama', + 'capital': 'Panama City', + 'latitude': 9.101179, + 'longitude': -79.402864 + }, + 'Papua New Guinea': { + 'name': 'Papua New Guinea', + 'capital': 'Port Moresby', + 'latitude': -9.4438, + 'longitude': 147.180267 + }, + 'Paraguay': { + 'name': 'Paraguay', + 'capital': 'Asuncion', + 'latitude': -25.26374, + 'longitude': -57.575926 + }, + 'Peru': { + 'name': 'Peru', + 'capital': 'Lima', + 'latitude': -12.046374, + 'longitude': -77.042793 + }, + 'Philippines': { + 'name': 'Philippines', + 'capital': 'Manila', + 'latitude': 14.599512, + 'longitude': 120.98422 + }, + 'Pitcairn Islands': { + 'name': 'Pitcairn Islands', + 'capital': 'Adamstown', + 'latitude': -25.06629, + 'longitude': -130.100464 + }, + 'Poland': { + 'name': 'Poland', + 'capital': 'Warsaw', + 'latitude': 52.229676, + 'longitude': 21.012229 + }, + 'Portugal': { + 'name': 'Portugal', + 'capital': 'Lisbon', + 'latitude': 38.722252, + 'longitude': -9.139337 + }, + 'Puerto Rico': { + 'name': 'Puerto Rico', + 'capital': 'San Juan', + 'latitude': 18.466334, + 'longitude': -66.105722 + }, + 'Qatar': { + 'name': 'Qatar', + 'capital': 'Doha', + 'latitude': 25.285447, + 'longitude': 51.53104 + }, + 'Réunion': { + 'name': 'Réunion', + 'capital': 'Saint-Denis', + 'latitude': -20.882057, + 'longitude': 55.450675 + }, + 'Romania': { + 'name': 'Romania', + 'capital': 'Bucharest', + 'latitude': 44.426767, + 'longitude': 26.102538 + }, + 'Russia': { + 'name': 'Russia', + 'capital': 'Moscow', + 'latitude': 55.755826, + 'longitude': 37.6173 + }, + 'Rwanda': { + 'name': 'Rwanda', + 'capital': 'Kigali', + 'latitude': -1.957875, + 'longitude': 30.112735 + }, + 'Saint Pierre and Miquelon': { + 'name': 'Saint Pierre and Miquelon', + 'capital': 'St. Pierre', + 'latitude': 46.775846, + 'longitude': -56.180636 + }, + 'Saint Vincent and the Grenadines': { + 'name': 'Saint Vincent and the Grenadines', + 'capital': 'Kingstown', + 'latitude': 13.160025, + 'longitude': -61.224816 + }, + 'Samoa': { + 'name': 'Samoa', + 'capital': 'Apia', + 'latitude': -13.850696, + 'longitude': -171.751355 + }, + 'San Marino': { + 'name': 'San Marino', + 'capital': 'San Marino', + 'latitude': 43.935591, + 'longitude': 12.447281 + }, + 'São Tomé and Príncipe': { + 'name': 'São Tomé and Príncipe', + 'capital': 'São Tomé', + 'latitude': 0.330192, + 'longitude': 6.733343 + }, + 'Saudi Arabia': { + 'name': 'Saudi Arabia', + 'capital': 'Riyadh', + 'latitude': 24.749403, + 'longitude': 46.902838 + }, + 'Senegal': { + 'name': 'Senegal', + 'capital': 'Dakar', + 'latitude': 14.764504, + 'longitude': -17.366029 + }, + 'Serbia': { + 'name': 'Serbia', + 'capital': 'Belgrade', + 'latitude': 44.786568, + 'longitude': 20.448922 + }, + 'Seychelles': { + 'name': 'Seychelles', + 'capital': 'Victoria', + 'latitude': -4.619143, + 'longitude': 55.451315 + }, + 'Sierra Leone': { + 'name': 'Sierra Leone', + 'capital': 'Freetown', + 'latitude': 8.465677, + 'longitude': -13.231722 + }, + 'Singapore': { + 'name': 'Singapore', + 'capital': 'Singapore', + 'latitude': 1.280095, + 'longitude': 103.850949 + }, + 'Slovakia': { + 'name': 'Slovakia', + 'capital': 'Bratislava', + 'latitude': 48.145892, + 'longitude': 17.107137 + }, + 'Slovenia': { + 'name': 'Slovenia', + 'capital': 'Ljubljana', + 'latitude': 46.056947, + 'longitude': 14.505751 + }, + 'Solomon Islands': { + 'name': 'Solomon Islands', + 'capital': 'Honiara', + 'latitude': -9.445638, + 'longitude': 159.9729 + }, + 'Somalia': { + 'name': 'Somalia', + 'capital': 'Mogadishu', + 'latitude': 2.046934, + 'longitude': 45.318162 + }, + 'South Africa': { + 'name': 'South Africa', + 'capital': 'Pretoria', + 'latitude': -25.747868, + 'longitude': 28.229271 + }, + 'South Georgia and the South Sandwich Islands': { + 'name': 'South Georgia and the South Sandwich Islands', + 'capital': 'King Edward Point', + 'latitude': -54.28325, + 'longitude': -36.493735 + }, + 'South Korea': { + 'name': 'South Korea', + 'capital': 'Seoul', + 'latitude': 37.566535, + 'longitude': 126.977969 + }, + 'South Ossetia': { + 'name': 'South Ossetia', + 'capital': 'Tskhinvali', + 'latitude': 42.22146, + 'longitude': 43.964405 + }, + 'South Sudan': { + 'name': 'South Sudan', + 'capital': 'Juba', + 'latitude': 4.859363, + 'longitude': 31.57125 + }, + 'Spain': { + 'name': 'Spain', + 'capital': 'Madrid', + 'latitude': 40.416775, + 'longitude': -3.70379 + }, + 'Sri Lanka': { + 'name': 'Sri Lanka', + 'capital': 'Sri Jayawardenepura Kotte', + 'latitude': 6.89407, + 'longitude': 79.902478 + }, + 'St. Barthélemy': { + 'name': 'St. Barthélemy', + 'capital': 'Gustavia', + 'latitude': 17.896435, + 'longitude': -62.852201 + }, + 'St. Kitts and Nevis': { + 'name': 'St. Kitts and Nevis', + 'capital': 'Basseterre', + 'latitude': 17.302606, + 'longitude': -62.717692 + }, + 'St. Lucia': { + 'name': 'St. Lucia', + 'capital': 'Castries', + 'latitude': 14.010109, + 'longitude': -60.987469 + }, + 'St. Martin': { + 'name': 'St. Martin', + 'capital': 'Marigot', + 'latitude': 18.067519, + 'longitude': -63.082466 + }, + 'Sudan': { + 'name': 'Sudan', + 'capital': 'Khartoum', + 'latitude': 15.500654, + 'longitude': 32.559899 + }, + 'Suriname': { + 'name': 'Suriname', + 'capital': 'Paramaribo', + 'latitude': 5.852036, + 'longitude': -55.203828 + }, + 'Svalbard and Jan Mayen': { + 'name': 'Svalbard and Jan Mayen', + 'capital': 'Longyearbyen ', + 'latitude': 78.062, + 'longitude': 22.055 + }, + 'Swaziland': { + 'name': 'Swaziland', + 'capital': 'Mbabane', + 'latitude': -26.305448, + 'longitude': 31.136672 + }, + 'Sweden': { + 'name': 'Sweden', + 'capital': 'Stockholm', + 'latitude': 59.329323, + 'longitude': 18.068581 + }, + 'Switzerland': { + 'name': 'Switzerland', + 'capital': 'Bern', + 'latitude': 46.947974, + 'longitude': 7.447447 + }, + 'Syria': { + 'name': 'Syria', + 'capital': 'Damascus', + 'latitude': 33.513807, + 'longitude': 36.276528 + }, + 'Taiwan': { + 'name': 'Taiwan', + 'capital': 'Taipei', + 'latitude': 25.032969, + 'longitude': 121.565418 + }, + 'Tajikistan': { + 'name': 'Tajikistan', + 'capital': 'Dushanbe', + 'latitude': 38.559772, + 'longitude': 68.787038 + }, + 'Tanzania': { + 'name': 'Tanzania', + 'capital': 'Dodoma', + 'latitude': -6.162959, + 'longitude': 35.751607 + }, + 'Thailand': { + 'name': 'Thailand', + 'capital': 'Bangkok', + 'latitude': 13.756331, + 'longitude': 100.501765 + }, + 'Timor-Leste': { + 'name': 'Timor-Leste', + 'capital': 'Dili', + 'latitude': -8.556856, + 'longitude': 125.560314 + }, + 'Togo': { + 'name': 'Togo', + 'capital': 'Lomé', + 'latitude': 6.172497, + 'longitude': 1.231362 + }, + 'Tokelau': { + 'name': 'Tokelau', + 'capital': 'Nukunonu', + 'latitude': -9.2005, + 'longitude': -171.848 + }, + 'Tonga': { + 'name': 'Tonga', + 'capital': 'Nukuʻalofa', + 'latitude': -21.139342, + 'longitude': -175.204947 + }, + 'Transnistria': { + 'name': 'Transnistria', + 'capital': 'Tiraspol', + 'latitude': 46.848185, + 'longitude': 29.596805 + }, + 'Trinidad and Tobago': { + 'name': 'Trinidad and Tobago', + 'capital': 'Port of Spain', + 'latitude': 10.654901, + 'longitude': -61.501926 + }, + 'Tristan da Cunha': { + 'name': 'Tristan da Cunha', + 'capital': 'Edinburgh of the Seven Seas', + 'latitude': -37.068042, + 'longitude': -12.311315 + }, + 'Tunisia': { + 'name': 'Tunisia', + 'capital': 'Tunis', + 'latitude': 36.806495, + 'longitude': 10.181532 + }, + 'Turkey': { + 'name': 'Turkey', + 'capital': 'Ankara', + 'latitude': 39.933364, + 'longitude': 32.859742 + }, + 'Turkmenistan': { + 'name': 'Turkmenistan', + 'capital': 'Ashgabat', + 'latitude': 37.960077, + 'longitude': 58.326063 + }, + 'Turks and Caicos Islands': { + 'name': 'Turks and Caicos Islands', + 'capital': 'Cockburn Town', + 'latitude': 21.467458, + 'longitude': -71.13891 + }, + 'Tuvalu': { + 'name': 'Tuvalu', + 'capital': 'Funafuti', + 'latitude': -8.520066, + 'longitude': 179.198128 + }, + 'U.S. Virgin Islands': { + 'name': 'U.S. Virgin Islands', + 'capital': 'Charlotte Amalie', + 'latitude': 18.3419, + 'longitude': -64.930701 + }, + 'Uganda': { + 'name': 'Uganda', + 'capital': 'Kampala', + 'latitude': 0.347596, + 'longitude': 32.58252 + }, + 'Ukraine': { + 'name': 'Ukraine', + 'capital': 'Kiev', + 'latitude': 50.4501, + 'longitude': 30.5234 + }, + 'United Arab Emirates': { + 'name': 'United Arab Emirates', + 'capital': 'Abu Dhabi', + 'latitude': 24.299174, + 'longitude': 54.697277 + }, + 'United Kingdom': { + 'name': 'United Kingdom', + 'capital': 'London', + 'latitude': 51.507351, + 'longitude': -0.127758 + }, + 'United States': { + 'name': 'United States', + 'capital': 'Washington', + 'latitude': 38.907192, + 'longitude': -77.036871 + }, + 'Uruguay': { + 'name': 'Uruguay', + 'capital': 'Montevideo', + 'latitude': -34.901113, + 'longitude': -56.164531 + }, + 'Uzbekistan': { + 'name': 'Uzbekistan', + 'capital': 'Tashkent', + 'latitude': 41.299496, + 'longitude': 69.240073 + }, + 'Vanuatu': { + 'name': 'Vanuatu', + 'capital': 'Port Vila', + 'latitude': -17.733251, + 'longitude': 168.327325 + }, + 'Vatican City': { + 'name': 'Vatican City', + 'capital': 'Vatican City', + 'latitude': 41.902179, + 'longitude': 12.453601 + }, + 'Venezuela': { + 'name': 'Venezuela', + 'capital': 'Caracas', + 'latitude': 10.480594, + 'longitude': -66.903606 + }, + 'Vietnam': { + 'name': 'Vietnam', + 'capital': 'Hanoi', + 'latitude': 21.027764, + 'longitude': 105.83416 + }, + 'Wallis and Futuna': { + 'name': 'Wallis and Futuna', + 'capital': 'Mata-Utu', + 'latitude': -13.282509, + 'longitude': -176.176447 + }, + 'Western Sahara': { + 'name': 'Western Sahara', + 'capital': 'El Aaiún', + 'latitude': 27.125287, + 'longitude': -13.1625 + }, + 'Yemen': { + 'name': 'Yemen', + 'capital': "Sana'a", + 'latitude': 15.369445, + 'longitude': 44.191007 + }, + 'Zambia': { + 'name': 'Zambia', + 'capital': 'Lusaka', + 'latitude': -15.387526, + 'longitude': 28.322817 + }, + 'Zimbabwe': { + 'name': 'Zimbabwe', + 'capital': 'Harare', + 'latitude': -17.825166, + 'longitude': 31.03351 + } +} + +def convert_lat_long(latitude, longitude, map_width, map_height): + + false_easting = 180 + radius = map_width / (2 * pi) + latitude = radians(latitude) + longitude = radians(longitude + false_easting) + + x_coord = longitude * radius + + y_dist_from_equator = radius * log(tan(pi / 4 + latitude / 2)) + y_coord = map_height / 2 - y_dist_from_equator + + coords = {'x': x_coord, 'y': y_coord} + + return coords + + +def get_available_regions(): + return regions.keys() + + +def get_region_coords(region, map_width=991, map_height=768): + coords = None + + try: + lookup = regions[region] + coords = convert_lat_long(lookup['latitude'], lookup['longitude'], map_width, map_height) + return coords + except KeyError: + print('Region not recognised: ', region) diff --git a/lib/tasks/project_components/mapping_data_population/species.csv b/lib/tasks/project_components/mapping_data_population/species.csv new file mode 100644 index 00000000..a6ec45d8 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_population/species.csv @@ -0,0 +1,238 @@ +Afghanistan,42 +Albania,130 +Algeria,135 +American Samoa,92 +Andorra,13 +Angola,146 +Anguilla,52 +Antarctica,6 +Antigua and Barbuda,55 +Argentina,256 +Armenia,114 +Aruba,32 +Australia,948 +Austria,118 +Azerbaijan,97 +Bahamas,86 +Bahrain,36 +Bangladesh,151 +Barbados,56 +Belarus,25 +Belgium,37 +Belize,117 +Benin,88 +Bermuda,72 +Bhutan,71 +Bolivia,231 +Bosnia and Herzegovina,91 +Botswana,28 +Bouvet Island,3 +Brazil,990 +British Indian Ocean Territory,85 +British Virgin Islands,67 +Brunei,193 +Bulgaria,104 +Burkina Faso,31 +Burundi,61 +Cape Verde,65 +Cambodia,255 +Cameroon,775 +Canada,122 +Cayman Islands,74 +Central African Republic,60 +Chad,43 +Chile,197 +China,1080 +Hong Kong,64 +Macau,11 +Christmas Island,39 +Cocos (Keeling) Islands,33 +Colombia,835 +Comoros,114 +Congo (Republic),134 +Cook Islands,75 +Costa Rica,340 +Côte d'Ivoire,249 +Croatia,176 +Cuba,339 +Curaçao,51 +Cyprus,72 +Czech Republic,53 +North Korea,78 +Congo (DRC),349 +Denmark,47 +Djibouti,98 +Dominica,66 +Dominican Republic,184 +Ecuador,2358 +Egypt,156 +El Salvador,86 +Equatorial Guinea,177 +Eritrea,122 +Estonia,23 +Swaziland,34 +Ethiopia,148 +Falkland Islands (Islas Malvinas),23 +Faroe Islands,21 +Fiji,291 +Finland,36 +France,278 +French Guiana,73 +French Polynesia,175 +French Southern Territories,25 +Gabon,270 +Gambia,67 +Georgia,120 +Germany,116 +Ghana,238 +Gibraltar,31 +Greece,374 +Greenland,23 +Grenada,54 +Guadeloupe,73 +Guam,99 +Guatemala,290 +Guernsey,5 +Guinea,185 +Guinea-Bissau,77 +Guyana,94 +Haiti,205 +Vatican City,1 +Honduras,301 +Hungary,66 +Iceland,27 +India,1052 +Indonesia,1281 +Iran,134 +Iraq,72 +Ireland,50 +Isle of Man,3 +Israel,174 +Italy,359 +Jamaica,311 +Japan,404 +Jersey,6 +Jordan,113 +Kazakhstan,82 +Kenya,480 +Kiribati,104 +Kuwait,49 +Kyrgyzstan,44 +Laos,209 +Latvia,30 +Lebanon,87 +Lesotho,18 +Liberia,172 +Libya,63 +Liechtenstein,6 +Lithuania,26 +Luxembourg,11 +Madagascar,1324 +Malawi,176 +Malaysia,1272 +Maldives,75 +Mali,42 +Malta,39 +Marshall Islands,101 +Martinique,48 +Mauritania,86 +Mauritius,257 +Mayotte,88 +Mexico,1162 +Micronesia,167 +Monaco,21 +Mongolia,41 +Montenegro,98 +Montserrat,55 +Morocco,207 +Mozambique,309 +Myanmar,321 +Namibia,115 +Nauru,82 +Nepal,104 +Netherlands,40 +New Caledonia,526 +New Zealand,199 +Nicaragua,144 +Niger,34 +Nigeria,361 +Niue,52 +Norfolk Island,44 +Northern Mariana Islands,102 +Norway,64 +Oman,99 +Pakistan,140 +Palau,182 +Panama,383 +Papua New Guinea,493 +Paraguay,59 +Peru,685 +Philippines,783 +Poland,58 +Portugal,281 +Puerto Rico,126 +Qatar,39 +South Korea,111 +Moldova,35 +Réunion,130 +Romania,104 +Russia,235 +Rwanda,62 +St. Barthélemy,31 +St. Kitts and Nevis,52 +St. Lucia,62 +Saint Pierre and Miquelon,12 +Saint Vincent and the Grenadines,58 +Samoa,93 +San Marino,1 +São Tomé and Príncipe,94 +Saudi Arabia,131 +Senegal,123 +Serbia,71 +Seychelles,439 +Sierra Leone,177 +Singapore,293 +Slovakia,54 +Slovenia,143 +Solomon Islands,245 +Somalia,175 +South Africa,581 +South Georgia and the South Sandwich Islands,9 +South Sudan,49 +Spain,617 +Sri Lanka,587 +Palestine,31 +Sudan,133 +Suriname,83 +Sweden,54 +Switzerland,74 +Syria,132 +Tajikistan,45 +Thailand,611 +Timor-Leste,24 +Togo,80 +Tokelau,49 +Tonga,79 +Trinidad and Tobago,69 +Tunisia,96 +Turkey,388 +Turkmenistan,54 +Turks and Caicos Islands,60 +Tuvalu,96 +Uganda,196 +Ukraine,102 +United Arab Emirates,56 +United Kingdom,102 +Tanzania,1082 +United States,1513 +U.S. Virgin Islands,58 +Uruguay,106 +Uzbekistan,59 +Vanuatu,137 +Venezuela,328 +Vietnam,616 +Wallis and Futuna,89 +Western Sahara,49 +Yemen,298 +Zambia,88 +Zimbabwe,89 diff --git a/lib/tasks/project_components/mapping_data_starter/carbon.csv b/lib/tasks/project_components/mapping_data_starter/carbon.csv new file mode 100644 index 00000000..8733659c --- /dev/null +++ b/lib/tasks/project_components/mapping_data_starter/carbon.csv @@ -0,0 +1,141 @@ +Albania,4342.011,1.511 +Algeria,130493.653,3.158 +Angola,18021.394,0.605 +Argentina,183375.203,4.142 +Armenia,5165.593,1.763 +Australia,384583.857,15.632 +Austria,64872.394,7.376 +Azerbaijan,30805.851,3.124 +Bahrain,29813.834,19.969 +Bangladesh,78270.17,0.475 +Belarus,54070.453,5.687 +Belgium,90368.188,7.963 +Benin,6763.074,0.605 +Bolivia,21899.18,1.981 +Bosnia and Herzegovina,22327.978,6.367 +Botswana,7717.409,3.367 +Brazil,427632.717,2.043 +Brunei,6710.178,15.641 +Bulgaria,42819.932,6.051 +Côte d'Ivoire,10234.205,0.421 +Cambodia,10762.923,0.672 +Cameroon,6152.919,0.256 +Canada,547798.641,14.992 +Chile,86087.14,4.648 +China,9257933.9,6.678 +Hong Kong,44034.675,5.957 +Colombia,75291.911,1.535 +Congo (Republic),2847.335,0.541 +Costa Rica,7584.411,1.546 +Croatia,16193.172,3.925 +Cuba,26215.665,2.283 +Curaçao,3748.132,23.28 +Cyprus,6367.874,7.448 +Czech Republic,101682.752,9.602 +North Korea,19579.698,0.768 +Congo (DRC),2201.742,0.027 +Denmark,31263.57,5.421 +Dominican Republic,21430.38,1.99 +Ecuador,34299.317,2.063 +Egypt,209219.059,2.145 +El Salvador,5735.668,0.899 +Eritrea,632.105,0.125 +Estonia,15972.029,12.137 +Ethiopia,13059.815,0.124 +Finland,42598.175,7.734 +France,306123.541,4.565 +Gabon,3367.911,1.663 +Georgia,8720.3,2.346 +Germany,718794.085,8.696 +Ghana,13779.635,0.478 +Gibraltar,703.9,20.703 +Greece,63213.31,5.878 +Guatemala,15703.161,0.928 +Haiti,3293.125,0.3 +Honduras,9426.74,1.017 +Hungary,45783.636,4.678 +Iceland,2173.307,6.336 +India,2161567.072,1.614 +Indonesia,496406.275,1.88 +Iran,567123.294,6.987 +Iraq,139877.659,3.655 +Ireland,35720.302,7.439 +Israel,63766.189,7.322 +Italy,321481.224,5.31 +Jamaica,6971.666,2.412 +Japan,1132435.4,8.938 +Jordan,25550.14,2.633 +Kazakhstan,255767.646,14.179 +Kenya,16264.973,0.327 +Kosovo,8168.55,4.461 +Kuwait,89420.615,21.615 +Kyrgyzstan,8909.263,1.437 +Latvia,6679.644,3.441 +Lebanon,26931.044,4.428 +Libya,41528.35,6.514 +Lithuania,10811.096,3.831 +Luxembourg,8631.187,14.458 +Malaysia,211046.967,6.674 +Malta,1516.276,3.261 +Mauritius,4182.138,3.306 +Mexico,445991.937,3.615 +Mongolia,19276,6.267 +Montenegro,2206.233,3.547 +Morocco,58149.86,1.627 +Mozambique,7624.932,0.257 +Myanmar,30404.919,0.57 +Namibia,4037.15,1.593 +Nepal,10113.953,0.345 +Netherlands,155574.278,9.081 +New Zealand,32241.597,6.673 +Nicaragua,5106.281,0.821 +Niger,2048.704,0.095 +Nigeria,85988.513,0.45 +Norway,34760.858,6.587 +Oman,65498.56,14.128 +Pakistan,183447.068,0.931 +Panama,9612.198,2.345 +Paraguay,7654.689,1.124 +Peru,49693.643,1.545 +Philippines,126487.694,1.206 +Poland,305841.991,7.96 +Portugal,50757.815,4.928 +Qatar,80116.551,30.359 +South Korea,600034.367,11.663 +Moldova,7526.673,2.12 +Romania,70788.76,3.614 +Russia,1536878.825,10.636 +Saudi Arabia,532181.611,16.157 +Senegal,8311.532,0.524 +Serbia,46129.569,6.569 +Singapore,47407.144,8.447 +Slovakia,32212.012,5.924 +Slovenia,13410.666,6.491 +South Africa,421682.392,7.435 +South Sudan,1549.031,0.123 +Spain,253423.277,5.446 +Sri Lanka,23103.271,1.077 +Sudan,18777.895,0.463 +Suriname,1928.134,3.425 +Sweden,37643.785,3.743 +Switzerland,37135.572,4.394 +Syria,23031.045,1.261 +Tajikistan,5843.657,0.655 +Thailand,244254.785,3.538 +Togo,2082.434,0.267 +Trinidad and Tobago,18007.573,13.154 +Tunisia,26156.972,2.268 +Turkey,378631.09,4.714 +Turkmenistan,68998.881,11.983 +Ukraine,171300.035,3.821 +United Arab Emirates,196510.174,20.905 +United Kingdom,358731.281,5.432 +Tanzania,10131.79,0.177 +United States,4761301.727,14.606 +Uruguay,5872.957,1.699 +Uzbekistan,81156.397,2.506 +Venezuela,113717.543,3.556 +Vietnam,191243.601,2.002 +Yemen,8919.998,0.316 +Zambia,6007.872,0.351 +Zimbabwe,9714.938,0.588 diff --git a/lib/tasks/project_components/mapping_data_starter/computer-map.jpg b/lib/tasks/project_components/mapping_data_starter/computer-map.jpg new file mode 100644 index 00000000..dadfe5d6 Binary files /dev/null and b/lib/tasks/project_components/mapping_data_starter/computer-map.jpg differ diff --git a/lib/tasks/project_components/mapping_data_starter/gdp.csv b/lib/tasks/project_components/mapping_data_starter/gdp.csv new file mode 100644 index 00000000..a7b6d53a --- /dev/null +++ b/lib/tasks/project_components/mapping_data_starter/gdp.csv @@ -0,0 +1,207 @@ +Aruba,3056424581 +Afghanistan,18869945678 +Angola,1.22124E+11 +Albania,13019693451 +Andorra,3000180750 +United Arab Emirates,3.85606E+11 +Argentina,6.43629E+11 +Armenia,11527458566 +American Samoa,602000000 +Antigua and Barbuda,1467977778 +Australia,1.32919E+12 +Austria,4.17238E+11 +Azerbaijan,40865558912 +Burundi,3172292379 +Belgium,5.02698E+11 +Benin,12701656931 +Burkina Faso,14106956830 +Bangladesh,2.49711E+11 +Bulgaria,58971520599 +Bahrain,35473776596 +Bahamas,12490700000 +Bosnia and Herzegovina,18080118128 +Belarus,54726595249 +Belize,1836600000 +Bermuda,7142316000 +Bolivia,37508642165 +Brazil,2.06283E+12 +Barbados,4978000000 +Brunei,12128104859 +Bhutan,2450364928 +Botswana,17405588070 +Central African Republic,2072350151 +Canada,1.64988E+12 +Switzerland,6.7995E+11 +Chile,2.77045E+11 +China,1.23104E+13 +Côte d'Ivoire,51588158718 +Cameroon,35009262788 +Congo (DRC),38019265626 +Congo (Republic),11198674674 +Colombia,3.11884E+11 +Comoros,1077439663 +Costa Rica,58481858043 +Cuba,96851000000 +Cayman Islands,5153091158 +Cyprus,22729184365 +Czech Republic,2.18629E+11 +Germany,3.6826E+12 +Djibouti,2751461056 +Dominica,519837037 +Denmark,3.32121E+11 +Dominican Republic,79997975623 +Algeria,1.70163E+11 +Ecuador,1.04296E+11 +Egypt,2.35734E+11 +Eritrea, +Spain,1.31254E+12 +Estonia,26951648829 +Ethiopia,81770791971 +Finland,2.55232E+11 +Fiji,5353404419 +France,2.59515E+12 +Faroe Islands,2905102304 +Micronesia,366666800 +Gabon,14929488771 +United Kingdom,2.66623E+12 +Georgia,16242916916 +Ghana,58998132330 +Gibraltar, +Guinea,10324668267 +Gambia,1504909753 +Guinea-Bissau,1350177128 +Equatorial Guinea,12200914930 +Greece,2.03588E+11 +Grenada,1125685185 +Greenland,2826651926 +Guatemala,71612352645 +Guam,5851000000 +Guyana,4748174334 +Hong Kong,3.41244E+11 +Honduras,23136232230 +Croatia,55481644098 +Haiti,14213814583 +Hungary,1.42962E+11 +Indonesia,1.01562E+12 +Isle of Man,6979581725 +India,2.65275E+12 +Ireland,3.35663E+11 +Iran,4.45345E+11 +Iraq,1.95473E+11 +Iceland,24488176541 +Israel,3.53253E+11 +Italy,1.9618E+12 +Jamaica,14806340821 +Jordan,41408960787 +Japan,4.86686E+12 +Kazakhstan,1.66806E+11 +Kenya,78965004656 +Kyrgyzstan,7702934800 +Cambodia,22177200512 +Kiribati,187276210.9 +St. Kitts and Nevis,996944444.4 +South Korea,1.6239E+12 +Kuwait,1.20707E+11 +Laos,16853087485 +Lebanon,53140638269 +Liberia,3285455000 +Libya,37883243650 +St. Lucia,1999090407 +Liechtenstein,6552858739 +Sri Lanka,87428125558 +Lesotho,2405289384 +Lithuania,47758736932 +Luxembourg,64181944723 +Latvia,30458763246 +Macau,50751059058 +Morocco,1.09683E+11 +Monaco,6431314957 +Moldova,9669759987 +Madagascar,13176313233 +Maldives,4754352301 +Mexico,1.15891E+12 +Marshall Islands,212881000 +Mali,15365627045 +Malta,13146963159 +Myanmar,68945867478 +Montenegro,4844606146 +Mongolia,11425755280 +Northern Mariana Islands,1601000000 +Mozambique,13219084261 +Mauritania,6758390729 +Mauritius,13259351418 +Malawi,6303292264 +Malaysia,3.19112E+11 +Namibia,12741746524 +New Caledonia, +Niger,11189541083 +Nigeria,3.75746E+11 +Nicaragua,13785909906 +Netherlands,8.3387E+11 +Norway,3.98394E+11 +Nepal,25180583770 +Nauru,109585941.6 +New Zealand,2.05416E+11 +Oman,70598026283 +Pakistan,3.04567E+11 +Panama,62219000000 +Peru,2.11007E+11 +Philippines,3.28481E+11 +Palau,286106800 +Papua New Guinea,22742613549 +Poland,5.26509E+11 +Puerto Rico,1.03446E+11 +North Korea, +Portugal,2.21358E+11 +Paraguay,39008900332 +French Polynesia, +Qatar,1.61099E+11 +Romania,2.11695E+11 +Russia,1.5742E+12 +Rwanda,9253098954 +Saudi Arabia,6.88586E+11 +Sudan,45021077955 +Senegal,20996564752 +Singapore,3.41863E+11 +Solomon Islands,1483758907 +Sierra Leone,3739577973 +El Salvador,24979200000 +San Marino,1528630707 +Somalia, +Serbia,44179055280 +South Sudan, +Suriname,3216207914 +Slovakia,95494424979 +Slovenia,48586603448 +Sweden,5.41019E+11 +Swaziland,4402973000 +Seychelles,1524486800 +Syria, +Turks and Caicos Islands,1022365000 +Chad,10000395242 +Togo,4819949975 +Thailand,4.56295E+11 +Tajikistan,7157865188 +Turkmenistan,37926285714 +Timor-Leste,1599338100 +Tonga,460379145 +Trinidad and Tobago,22474828527 +Tunisia,39802430355 +Turkey,8.58989E+11 +Tuvalu,40619251.99 +Tanzania,53320625959 +Uganda,30756466548 +Ukraine,1.1219E+11 +Uruguay,59530088537 +United States,1.95194E+13 +Uzbekistan,59159945321 +Venezuela, +British Virgin Islands, +Vietnam,2.2378E+11 +Vanuatu,880043553.7 +Samoa,832153612.6 +Kosovo,7245707185 +Yemen,26736139802 +South Africa,3.49554E+11 +Zambia,25868165345 +Zimbabwe,22040902300 diff --git a/lib/tasks/project_components/mapping_data_starter/happy.csv b/lib/tasks/project_components/mapping_data_starter/happy.csv new file mode 100644 index 00000000..90b257fa --- /dev/null +++ b/lib/tasks/project_components/mapping_data_starter/happy.csv @@ -0,0 +1,155 @@ +Norway,1,7.537000179 +Denmark,2,7.521999836 +Iceland,3,7.504000187 +Switzerland,4,7.493999958 +Finland,5,7.468999863 +Netherlands,6,7.376999855 +Canada,7,7.315999985 +New Zealand,8,7.31400013 +Sweden,9,7.28399992 +Australia,10,7.28399992 +Israel,11,7.212999821 +Costa Rica,12,7.078999996 +Austria,13,7.006000042 +United States,14,6.993000031 +Ireland,15,6.977000237 +Germany,16,6.951000214 +Belgium,17,6.890999794 +Luxembourg,18,6.862999916 +United Kingdom,19,6.714000225 +Chile,20,6.65199995 +United Arab Emirates,21,6.647999763 +Brazil,22,6.635000229 +Czech Republic,23,6.609000206 +Argentina,24,6.598999977 +Mexico,25,6.578000069 +Singapore,26,6.572000027 +Malta,27,6.52699995 +Uruguay,28,6.453999996 +Guatemala,29,6.453999996 +Panama,30,6.452000141 +France,31,6.441999912 +Thailand,32,6.423999786 +Taiwan,33,6.421999931 +Spain,34,6.402999878 +Qatar,35,6.375 +Colombia,36,6.356999874 +Saudi Arabia,37,6.343999863 +Trinidad and Tobago,38,6.168000221 +Kuwait,39,6.105000019 +Slovakia,40,6.09800005 +Bahrain,41,6.086999893 +Malaysia,42,6.084000111 +Nicaragua,43,6.071000099 +Ecuador,44,6.007999897 +El Salvador,45,6.002999783 +Poland,46,5.97300005 +Uzbekistan,47,5.971000195 +Italy,48,5.964000225 +Russia,49,5.962999821 +Belize,50,5.955999851 +Japan,51,5.920000076 +Lithuania,52,5.90199995 +Algeria,53,5.872000217 +Latvia,54,5.849999905 +South Korea,55,5.837999821 +Moldova,56,5.837999821 +Romania,57,5.824999809 +Bolivia,58,5.822999954 +Turkmenistan,59,5.822000027 +Kazakhstan,60,5.818999767 +Northern Cyprus,61,5.809999943 +Slovenia,62,5.757999897 +Peru,63,5.715000153 +Mauritius,64,5.629000187 +Cyprus,65,5.620999813 +Estonia,66,5.611000061 +Belarus,67,5.568999767 +Libya,68,5.525000095 +Turkey,69,5.5 +Paraguay,70,5.493000031 +Hong Kong,71,5.472000122 +Philippines,72,5.429999828 +Serbia,73,5.394999981 +Jordan,74,5.335999966 +Hungary,75,5.323999882 +Jamaica,76,5.31099987 +Croatia,77,5.293000221 +Kosovo,78,5.278999805 +China,79,5.272999763 +Pakistan,80,5.269000053 +Indonesia,81,5.262000084 +Venezuela,82,5.25 +Montenegro,83,5.236999989 +Morocco,84,5.235000134 +Azerbaijan,85,5.234000206 +Dominican Republic,86,5.230000019 +Greece,87,5.227000237 +Lebanon,88,5.224999905 +Portugal,89,5.195000172 +Bosnia and Herzegovina,90,5.18200016 +Honduras,91,5.181000233 +Macedonia,92,5.175000191 +Somalia,93,5.151000023 +Vietnam,94,5.073999882 +Nigeria,95,5.073999882 +Tajikistan,96,5.040999889 +Bhutan,97,5.011000156 +Kyrgyzstan,98,5.004000187 +Nepal,99,4.961999893 +Mongolia,100,4.954999924 +South Africa,101,4.828999996 +Tunisia,102,4.804999828 +Palestine,103,4.775000095 +Egypt,104,4.735000134 +Bulgaria,105,4.714000225 +Sierra Leone,106,4.709000111 +Cameroon,107,4.695000172 +Iran,108,4.691999912 +Albania,109,4.644000053 +Bangladesh,110,4.607999802 +Namibia,111,4.573999882 +Kenya,112,4.552999973 +Mozambique,113,4.550000191 +Myanmar,114,4.545000076 +Senegal,115,4.534999847 +Zambia,116,4.513999939 +Iraq,117,4.497000217 +Gabon,118,4.465000153 +Ethiopia,119,4.460000038 +Sri Lanka,120,4.440000057 +Armenia,121,4.375999928 +India,122,4.315000057 +Mauritania,123,4.291999817 +Congo (Republic),124,4.290999889 +Georgia,125,4.285999775 +Congo (DRC),126,4.28000021 +Mali,127,4.190000057 +Côte d'Ivoire,128,4.179999828 +Cambodia,129,4.168000221 +Sudan,130,4.138999939 +Ghana,131,4.119999886 +Ukraine,132,4.096000195 +Uganda,133,4.080999851 +Burkina Faso,134,4.032000065 +Niger,135,4.027999878 +Malawi,136,3.970000029 +Chad,137,3.936000109 +Zimbabwe,138,3.875 +Lesotho,139,3.808000088 +Angola,140,3.795000076 +Afghanistan,141,3.79399991 +Botswana,142,3.766000032 +Benin,143,3.657000065 +Madagascar,144,3.644000053 +Haiti,145,3.602999926 +Yemen,146,3.592999935 +South Sudan,147,3.59100008 +Liberia,148,3.532999992 +Guinea,149,3.506999969 +Togo,150,3.494999886 +Rwanda,151,3.470999956 +Syria,152,3.461999893 +Tanzania,153,3.348999977 +Burundi,154,2.904999971 +Central African Republic,155,2.693000078 diff --git a/lib/tasks/project_components/mapping_data_starter/ink-map.jpg b/lib/tasks/project_components/mapping_data_starter/ink-map.jpg new file mode 100644 index 00000000..655cd278 Binary files /dev/null and b/lib/tasks/project_components/mapping_data_starter/ink-map.jpg differ diff --git a/lib/tasks/project_components/mapping_data_starter/main.py b/lib/tasks/project_components/mapping_data_starter/main.py new file mode 100644 index 00000000..533c13fb --- /dev/null +++ b/lib/tasks/project_components/mapping_data_starter/main.py @@ -0,0 +1,18 @@ +#!/bin/python3 +from p5 import * +from regions import get_region_coords + +# Put code to run once here +def setup(): + + +# Put code to run every frame here +def draw(): + + +# Put code to run when the mouse is pressed here +def mouse_pressed(): + pixel_colour = Color(get(mouse_x, mouse_y)) + + +run() diff --git a/lib/tasks/project_components/mapping_data_starter/mercator.jpeg b/lib/tasks/project_components/mapping_data_starter/mercator.jpeg new file mode 100644 index 00000000..c964a51d Binary files /dev/null and b/lib/tasks/project_components/mapping_data_starter/mercator.jpeg differ diff --git a/lib/tasks/project_components/mapping_data_starter/mercator_bw.png b/lib/tasks/project_components/mapping_data_starter/mercator_bw.png new file mode 100644 index 00000000..2123563e Binary files /dev/null and b/lib/tasks/project_components/mapping_data_starter/mercator_bw.png differ diff --git a/lib/tasks/project_components/mapping_data_starter/old-map.jpg b/lib/tasks/project_components/mapping_data_starter/old-map.jpg new file mode 100644 index 00000000..fe2e66ed Binary files /dev/null and b/lib/tasks/project_components/mapping_data_starter/old-map.jpg differ diff --git a/lib/tasks/project_components/mapping_data_starter/olympics.csv b/lib/tasks/project_components/mapping_data_starter/olympics.csv new file mode 100644 index 00000000..628cdc92 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_starter/olympics.csv @@ -0,0 +1,21 @@ +United States,4 +United Kingdom,3 +Greece,3 +France,2 +Germany,2 +Australia,2 +Russia,1 +Italy,1 +Sweden,1 +China,1 +Japan,2 +Finland,1 +Canada,1 +Netherlands,1 +South Korea,1 +Belgium,1 +Spain,1 +Brazil,1 +Sweden,1 +Belgium,1 +Mexico,1 diff --git a/lib/tasks/project_components/mapping_data_starter/pop.csv b/lib/tasks/project_components/mapping_data_starter/pop.csv new file mode 100644 index 00000000..2f35a02a --- /dev/null +++ b/lib/tasks/project_components/mapping_data_starter/pop.csv @@ -0,0 +1,184 @@ +Afghanistan,38928346,60,18,25 +Albania,2877797,105,36,63 +Algeria,43851044,18,29,73 +Andorra,77265,164,45,88 +Antigua and Barbuda,97929,223,34,26 +Argentina,45195774,17,32,93 +Armenia,2963243,104,35,63 +Aruba,106766,593,41,44 +Australia,25499884,3,38,86 +Austria,9006398,109,43,57 +Azerbaijan,10139177,123,32,56 +Bahamas,393244,39,32,86 +Bahrain,1701575,2239,32,89 +Bangladesh,164689383,1265,28,39 +Barbados,287375,668,40,31 +Belarus,9449323,47,40,79 +Belgium,11589623,383,42,98 +Belize,397628,17,24,46 +Benin,12123200,108,19,48 +Bhutan,771608,20,28,46 +Bolivia,11673021,11,26,69 +Bosnia and Herzegovina,3280819,64,43,52 +Brazil,212559417,25,33,88 +Brunei,437479,83,32,80 +Bulgaria,6948445,64,45,76 +Burkina Faso,20903273,76,18,31 +Cape Verde,554441,138,27.6,68 +Cambodia,16718965,95,26,24 +Cameroon,26545863,56,19,56 +Canada,37742154,4,41,81 +Central African Republic,37742154,8,18,43 +Chad,16302699,13,16.6,23.3 +Chile,19116201,26,35,85 +Hong Kong,7496981,7140,45,100 +China,1439323776,153,38,61 +Colombia,50882891,46,31,80 +Congo (Republic),5518087,16,19,70 +Congo (DRC),89561403,40,17,46 +Costa Rica,5094118,100,33,80 +Côte d'Ivoire,26378274,83,19,51 +Croatia,4105267,73,44,58 +Cuba,11326616,106,42,78 +Cyprus,1207359,131,37,67 +Czech Republic,10708981,139,43,74 +Denmark,5792202,137,42,88 +Djibouti,988000,43,27,79 +Dominica,71986,96,33.5,74 +Dominican Republic,10847910,225,28,85 +Ecuador,17643054,71,28,63 +Egypt,102334404,103,25,43 +El Salvador,6486205,313,27.6,73.4 +Equatorial Guinea,1402985,50,22,73 +Eritrea,3546421,35,19.2,63.3 +Estonia,1326535,31,42,68 +Swaziland,1160164,67,21,30 +Ethiopia,114963588,115,19,21 +Faroe Islands,48873,35,38,88 +Fiji,896445,49,27.9,59.1 +Finland,5540720,18,43,86 +France,65273511,119,42,82 +French Guiana,298682,4,25,87 +Gabon,2225734,9,23,87 +Gambia,2416668,239,18,59 +Georgia,3989167,57,38,58 +Germany,83783942,240,46,76 +Ghana,31072940,137,22,57 +Greece,10423054,81,46,85 +Grenada,112523,331,32,35.5 +Greenland,56770,0,34,87 +Guadeloupe,400124,237,44,96 +Guam,168775,313,31,95 +Guatemala,17915568,167,23,52 +Guernsey,70000,965,44,86 +Guinea,13132795,53,18,39 +Guinea-Bissau,1968001,70,18.8,44.9 +Guyana,786552,4,27,27 +Haiti,11402528,414,24,56.9 +Vatican City,801,2003,40,100 +Honduras,9904607,89,24,57 +Hungary,9660351,107,43,72 +Iceland,341243,3,37,94 +India,1380004385,464,28,35 +Indonesia,273523615,151,30,56 +Iran,83992949,52,32,76 +Iraq,40222493,93,21,73 +Ireland,4937786,72,38,63 +Israel,8655535,400,30,93 +Italy,60461826,206,47,69 +Jamaica,2961167,273,31,55 +Japan,126476461,347,48,92 +Jersey,106800,819,38,98 +Jordan,10203134,115,24,91 +Kazakhstan,18776707,7,31,58 +Kenya,53771296,94,20,28 +Kosovo,1810463,159,29,65 +Kuwait,4270571,240,37,92 +Kyrgyzstan,6524195,34,26,36 +Laos,7275560,32,24.4,35.7 +Latvia,1886198,30,44,69 +Lebanon,6825445,667,30,78 +Liberia,5057681,53,19,53 +Libya,6847352,4,28.8,78.2 +Liechtenstein,38128,109,41,15 +Lithuania,2722289,43,45,71 +Luxembourg,625978,242,40,88 +Madagascar,27691018,48,19.6,38.5 +Malaysia,32365999,99,30,78 +Maldives,540544,1802,30,35 +Mali,20250833,17,16.3,44 +Malta,441543,1380,43,93 +Martinique,375265,354,47,92 +Mauritania,4649658,5,20,57 +Mauritius,1271768,626,37,41 +Mayotte,272815,728,20,46 +Mexico,128932753,66,29,84 +Moldova,4033963,123,38,43 +Monaco,39242,26337,54,100 +Mongolia,3278290,2,28,67 +Montenegro,628066,47,39,68 +Morocco,36910560,83,30,64 +Mozambique,31255435,40,17.6,38.3 +Namibia,2540905,3,22,55 +Nepal,29136808,203,25,21 +Curaçao,164093,370,41.6,88.7 +Netherlands,17134872,508,43,92 +New Zealand,4822233,18,38,87 +Nicaragua,6624554,55,26.5,57.2 +Niger,24206644,19,15.2,16.5 +Nigeria,206139589,226,18,52 +Norway,5421241,15,40,83 +Oman,5106626,16,31,87 +Pakistan,220892340,287,23,35 +Panama,4314767,58,30,68 +Paraguay,7132538,18,26,62 +Peru,32971854,26,31,79 +Philippines,109581078,368,26,47 +Poland,37846611,124,42,60 +Portugal,10196709,111,46,66 +Puerto Rico,2860853,323,44,88 +Qatar,2881053,248,32,96 +Réunion,895312,358,36,100 +Romania,19237691,84,43,55 +Russia,145934462,9,40,74 +Rwanda,12952218,525,20,18 +St. Kitts and Nevis,53199,205,34.8,32.9 +St. Lucia,183627,301,34,19 +Saint Vincent and the Grenadines,115000,307,33,78 +San Marino,33931,566,47,97 +Saudi Arabia,34813871,16,32,84 +Senegal,16743927,87,19,49 +Serbia,8737371,100,42,56 +Seychelles,98347,214,34,56 +Singapore,5850342,8358,42,99 +Slovakia,5459642,114,41,54 +Slovenia,2078938,103,45,55 +Somalia,15893222,25,17,47 +South Africa,59308690,49,28,67 +South Korea,51269185,527,44,82 +Spain,46754778,94,45,80 +Sri Lanka,21413249,341,34,18 +Sudan,43849260,25,20,35 +Suriname,586632,4,29,65 +Sweden,10099265,25,41,88 +Switzerland,8654622,219,43,74 +Syria,17390388,95,25.6,60 +Taiwan,23816775,673,42,79 +Tanzania,59734218,67,18,37 +Thailand,69799978,137,40,51 +Timor-Leste,1318445,89,20.8,32.8 +Togo,8278724,152,19,43 +Trinidad and Tobago,1399488,273,36,52 +Tunisia,11818619,76,33,70 +Turkey,84339067,110,32,76 +United States,331002651,36,38,83 +Uganda,45741007,229,16.7,25.7 +Ukraine,43733762,75,41,69 +United Arab Emirates,9890402,118,33,86 +United Kingdom,67886011,281,40,83 +Uruguay,3473730,20,36,96 +Uzbekistan,33469203,79,28,50 +Venezuela,28435940,32,30,80 +Vietnam,97338579,314,32,38 +Zambia,18383955,25,18,45 +Zimbabwe,14862924,38,18.7,38.4 diff --git a/lib/tasks/project_components/mapping_data_starter/project_config.yml b/lib/tasks/project_components/mapping_data_starter/project_config.yml new file mode 100644 index 00000000..160c3a83 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_starter/project_config.yml @@ -0,0 +1,50 @@ +NAME: "Mapping Data" +IDENTIFIER: "mapping-data-starter" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "regions" + extension: "py" + location: "regions.py" + index: 1 + default: false + - name: "pop" + extension: "csv" + location: "pop.csv" + index: 2 + default: false + - name: "olympics" + extension: "csv" + location: "olympics.csv" + index: 3 + default: false + - name: "carbon" + extension: "csv" + location: "carbon.csv" + index: 4 + default: false + - name: "species" + extension: "csv" + location: "species.csv" + index: 5 + default: false + - name: "gdp" + extension: "csv" + location: "gdp.csv" + index: 6 + default: false + - name: "happy" + extension: "csv" + location: "happy.csv" + index: 7 + default: false + +IMAGES: + - "computer-map.jpg" + - "ink-map.jpg" + - "mercator.jpeg" + - "mercator_bw.png" + - "old-map.jpg" diff --git a/lib/tasks/project_components/mapping_data_starter/regions.py b/lib/tasks/project_components/mapping_data_starter/regions.py new file mode 100644 index 00000000..b5e840fd --- /dev/null +++ b/lib/tasks/project_components/mapping_data_starter/regions.py @@ -0,0 +1,1548 @@ +#!/bin/python3 +from math import radians, pi, log, tan + +regions = { + 'Abkhazia': { + 'name': 'Abkhazia', + 'capital': 'Sukhumi', + 'latitude': 43.001525, + 'longitude': 41.023415 + }, + 'Afghanistan': { + 'name': 'Afghanistan', + 'capital': 'Kabul', + 'latitude': 34.575503, + 'longitude': 69.240073 + }, + 'Aland Islands': { + 'name': 'Aland Islands', + 'capital': 'Mariehamn', + 'latitude': 60.1, + 'longitude': 19.933333 + }, + 'Albania': { + 'name': 'Albania', + 'capital': 'Tirana', + 'latitude': 41.327546, + 'longitude': 19.818698 + }, + 'Algeria': { + 'name': 'Algeria', + 'capital': 'Algiers', + 'latitude': 36.752887, + 'longitude': 3.042048 + }, + 'American Samoa': { + 'name': 'American Samoa', + 'capital': 'Pago Pago', + 'latitude': -14.275632, + 'longitude': -170.702036 + }, + 'Andorra': { + 'name': 'Andorra', + 'capital': 'Andorra la Vella', + 'latitude': 42.506317, + 'longitude': 1.521835 + }, + 'Angola': { + 'name': 'Angola', + 'capital': 'Luanda', + 'latitude': -8.839988, + 'longitude': 13.289437 + }, + 'Anguilla': { + 'name': 'Anguilla', + 'capital': 'The Valley', + 'latitude': 18.214813, + 'longitude': -63.057441 + }, + 'Antarctica': { + 'name': 'Antarctica', + 'capital': 'South Pole', + 'latitude': -90.0, + 'longitude': 0.0 + }, + 'Antigua and Barbuda': { + 'name': 'Antigua and Barbuda', + 'capital': "St. John's", + 'latitude': 17.12741, + 'longitude': -61.846772 + }, + 'Argentina': { + 'name': 'Argentina', + 'capital': 'Buenos Aires', + 'latitude': -34.603684, + 'longitude': -58.381559 + }, + 'Armenia': { + 'name': 'Armenia', + 'capital': 'Yerevan', + 'latitude': 40.179186, + 'longitude': 44.499103 + }, + 'Aruba': { + 'name': 'Aruba', + 'capital': 'Oranjestad', + 'latitude': 12.509204, + 'longitude': -70.008631 + }, + 'Australia': { + 'name': 'Australia', + 'capital': 'Canberra', + 'latitude': -35.282, + 'longitude': 149.128684 + }, + 'Austria': { + 'name': 'Austria', + 'capital': 'Vienna', + 'latitude': 48.208174, + 'longitude': 16.373819 + }, + 'Azerbaijan': { + 'name': 'Azerbaijan', + 'capital': 'Baku', + 'latitude': 40.409262, + 'longitude': 49.867092 + }, + 'Bahamas': { + 'name': 'Bahamas', + 'capital': 'Nassau', + 'latitude': 25.047984, + 'longitude': -77.355413 + }, + 'Bahrain': { + 'name': 'Bahrain', + 'capital': 'Manama', + 'latitude': 26.228516, + 'longitude': 50.58605 + }, + 'Bangladesh': { + 'name': 'Bangladesh', + 'capital': 'Dhaka', + 'latitude': 23.810332, + 'longitude': 90.412518 + }, + 'Barbados': { + 'name': 'Barbados', + 'capital': 'Bridgetown', + 'latitude': 13.113222, + 'longitude': -59.598809 + }, + 'Belarus': { + 'name': 'Belarus', + 'capital': 'Minsk', + 'latitude': 53.90454, + 'longitude': 27.561524 + }, + 'Belgium': { + 'name': 'Belgium', + 'capital': 'Brussels', + 'latitude': 50.85034, + 'longitude': 4.35171 + }, + 'Belize': { + 'name': 'Belize', + 'capital': 'Belmopan', + 'latitude': 17.251011, + 'longitude': -88.75902 + }, + 'Benin': { + 'name': 'Benin', + 'capital': 'Porto-Novo', + 'latitude': 6.496857, + 'longitude': 2.628852 + }, + 'Bermuda': { + 'name': 'Bermuda', + 'capital': 'Hamilton', + 'latitude': 32.294816, + 'longitude': -64.781375 + }, + 'Bhutan': { + 'name': 'Bhutan', + 'capital': 'Thimphu', + 'latitude': 27.472792, + 'longitude': 89.639286 + }, + 'Bolivia': { + 'name': 'Bolivia', + 'capital': 'La Paz', + 'latitude': -16.489689, + 'longitude': -68.119294 + }, + 'Bosnia and Herzegovina': { + 'name': 'Bosnia and Herzegovina', + 'capital': 'Sarajevo', + 'latitude': 43.856259, + 'longitude': 18.413076 + }, + 'Botswana': { + 'name': 'Botswana', + 'capital': 'Gaborone', + 'latitude': -24.628208, + 'longitude': 25.923147 + }, + 'Bouvet Island': { + 'name': 'Bouvet Island', + 'capital': 'Bouvet Island', + 'latitude': -54.43, + 'longitude': 3.38 + }, + 'Brazil': { + 'name': 'Brazil', + 'capital': 'Brasília', + 'latitude': -15.794229, + 'longitude': -47.882166 + }, + 'British Indian Ocean Territory': { + 'name': 'British Indian Ocean Territory', + 'capital': 'Camp Justice', + 'latitude': 21.3419, + 'longitude': 55.4778 + }, + 'British Virgin Islands': { + 'name': 'British Virgin Islands', + 'capital': 'Road Town', + 'latitude': 18.428612, + 'longitude': -64.618466 + }, + 'Brunei': { + 'name': 'Brunei', + 'capital': 'Bandar Seri Begawan', + 'latitude': 4.903052, + 'longitude': 114.939821 + }, + 'Bulgaria': { + 'name': 'Bulgaria', + 'capital': 'Sofia', + 'latitude': 42.697708, + 'longitude': 23.321868 + }, + 'Burkina Faso': { + 'name': 'Burkina Faso', + 'capital': 'Ouagadougou', + 'latitude': 12.371428, + 'longitude': -1.51966 + }, + 'Burundi': { + 'name': 'Burundi', + 'capital': 'Bujumbura', + 'latitude': -3.361378, + 'longitude': 29.359878 + }, + 'Cambodia': { + 'name': 'Cambodia', + 'capital': 'Phnom Penh', + 'latitude': 11.544873, + 'longitude': 104.892167 + }, + 'Cameroon': { + 'name': 'Cameroon', + 'capital': 'Yaoundé', + 'latitude': 3.848033, + 'longitude': 11.502075 + }, + 'Canada': { + 'name': 'Canada', + 'capital': 'Ottawa', + 'latitude': 45.42153, + 'longitude': -75.697193 + }, + 'Cape Verde': { + 'name': 'Cape Verde', + 'capital': 'Praia', + 'latitude': 14.93305, + 'longitude': -23.513327 + }, + 'Cayman Islands': { + 'name': 'Cayman Islands', + 'capital': 'George Town', + 'latitude': 19.286932, + 'longitude': -81.367439 + }, + 'Central African Republic': { + 'name': 'Central African Republic', + 'capital': 'Bangui', + 'latitude': 4.394674, + 'longitude': 18.55819 + }, + 'Chad': { + 'name': 'Chad', + 'capital': "N'Djamena", + 'latitude': 12.134846, + 'longitude': 15.055742 + }, + 'Chile': { + 'name': 'Chile', + 'capital': 'Santiago', + 'latitude': -33.44889, + 'longitude': -70.669265 + }, + 'China': { + 'name': 'China', + 'capital': 'Beijing', + 'latitude': 39.904211, + 'longitude': 116.407395 + }, + 'Christmas Island': { + 'name': 'Christmas Island', + 'capital': 'Flying Fish Cove', + 'latitude': -10.420686, + 'longitude': 105.679379 + }, + 'Cocos (Keeling) Islands': { + 'name': 'Cocos (Keeling) Islands', + 'capital': 'West Island', + 'latitude': -12.188834, + 'longitude': 96.829316 + }, + 'Colombia': { + 'name': 'Colombia', + 'capital': 'Bogotá', + 'latitude': 4.710989, + 'longitude': -74.072092 + }, + 'Comoros': { + 'name': 'Comoros', + 'capital': 'Moroni', + 'latitude': -11.717216, + 'longitude': 43.247315 + }, + 'Congo (DRC)': { + 'name': 'Congo (DRC)', + 'capital': 'Kinshasa', + 'latitude': -4.441931, + 'longitude': 15.266293 + }, + 'Congo (Republic)': { + 'name': 'Congo (Republic)', + 'capital': 'Brazzaville', + 'latitude': -4.26336, + 'longitude': 15.242885 + }, + 'Cook Islands': { + 'name': 'Cook Islands', + 'capital': 'Avarua', + 'latitude': -21.212901, + 'longitude': -159.782306 + }, + 'Costa Rica': { + 'name': 'Costa Rica', + 'capital': 'San José', + 'latitude': 9.928069, + 'longitude': -84.090725 + }, + "Côte d'Ivoire": { + 'name': "Côte d'Ivoire", + 'capital': 'Yamoussoukro', + 'latitude': 6.827623, + 'longitude': -5.289343 + }, + 'Croatia': { + 'name': 'Croatia', + 'capital': 'Zagreb ', + 'latitude': 45.815011, + 'longitude': 15.981919 + }, + 'Cuba': { + 'name': 'Cuba', + 'capital': 'Havana', + 'latitude': 23.05407, + 'longitude': -82.345189 + }, + 'Curaçao': { + 'name': 'Curaçao', + 'capital': 'Willemstad', + 'latitude': 12.122422, + 'longitude': -68.882423 + }, + 'Cyprus': { + 'name': 'Cyprus', + 'capital': 'Nicosia', + 'latitude': 35.185566, + 'longitude': 33.382276 + }, + 'Czech Republic': { + 'name': 'Czech Republic', + 'capital': 'Prague', + 'latitude': 50.075538, + 'longitude': 14.4378 + }, + 'Denmark': { + 'name': 'Denmark', + 'capital': 'Copenhagen', + 'latitude': 55.676097, + 'longitude': 12.568337 + }, + 'Djibouti': { + 'name': 'Djibouti', + 'capital': 'Djibouti', + 'latitude': 11.572077, + 'longitude': 43.145647 + }, + 'Dominica': { + 'name': 'Dominica', + 'capital': 'Roseau', + 'latitude': 15.309168, + 'longitude': -61.379355 + }, + 'Dominican Republic': { + 'name': 'Dominican Republic', + 'capital': 'Santo Domingo', + 'latitude': 18.486058, + 'longitude': -69.931212 + }, + 'Ecuador': { + 'name': 'Ecuador', + 'capital': 'Quito', + 'latitude': -0.180653, + 'longitude': -78.467838 + }, + 'Egypt': { + 'name': 'Egypt', + 'capital': 'Cairo', + 'latitude': 30.04442, + 'longitude': 31.235712 + }, + 'El Salvador': { + 'name': 'El Salvador', + 'capital': 'San Salvador', + 'latitude': 13.69294, + 'longitude': -89.218191 + }, + 'Equatorial Guinea': { + 'name': 'Equatorial Guinea', + 'capital': 'Malabo', + 'latitude': 3.750412, + 'longitude': 8.737104 + }, + 'Eritrea': { + 'name': 'Eritrea', + 'capital': 'Asmara', + 'latitude': 15.322877, + 'longitude': 38.925052 + }, + 'Estonia': { + 'name': 'Estonia', + 'capital': 'Tallinn', + 'latitude': 59.436961, + 'longitude': 24.753575 + }, + 'Ethiopia': { + 'name': 'Ethiopia', + 'capital': 'Addis Ababa', + 'latitude': 8.980603, + 'longitude': 38.757761 + }, + 'Falkland Islands (Islas Malvinas)': { + 'name': 'Falkland Islands (Islas Malvinas)', + 'capital': 'Stanley', + 'latitude': -51.697713, + 'longitude': -57.851663 + }, + 'Faroe Islands': { + 'name': 'Faroe Islands', + 'capital': 'Tórshavn', + 'latitude': 62.007864, + 'longitude': -6.790982 + }, + 'Fiji': { + 'name': 'Fiji', + 'capital': 'Suva', + 'latitude': -18.124809, + 'longitude': 178.450079 + }, + 'Finland': { + 'name': 'Finland', + 'capital': 'Helsinki', + 'latitude': 60.173324, + 'longitude': 24.941025 + }, + 'France': { + 'name': 'France', + 'capital': 'Paris', + 'latitude': 48.856614, + 'longitude': 2.352222 + }, + 'French Guiana': { + 'name': 'French Guiana', + 'capital': 'Cayenne', + 'latitude': 4.92242, + 'longitude': -52.313453 + }, + 'French Polynesia': { + 'name': 'French Polynesia', + 'capital': 'Papeete', + 'latitude': -17.551625, + 'longitude': -149.558476 + }, + 'French Southern Territories': { + 'name': 'French Southern Territories', + 'capital': 'Saint-Pierre ', + 'latitude': -21.3419, + 'longitude': 55.4778 + }, + 'Gabon': { + 'name': 'Gabon', + 'capital': 'Libreville', + 'latitude': 0.416198, + 'longitude': 9.467268 + }, + 'Gambia': { + 'name': 'Gambia', + 'capital': 'Banjul', + 'latitude': 13.454876, + 'longitude': -16.579032 + }, + 'Georgia': { + 'name': 'Georgia', + 'capital': 'Tbilisi', + 'latitude': 41.715138, + 'longitude': 44.827096 + }, + 'Germany': { + 'name': 'Germany', + 'capital': 'Berlin', + 'latitude': 52.520007, + 'longitude': 13.404954 + }, + 'Ghana': { + 'name': 'Ghana', + 'capital': 'Accra', + 'latitude': 5.603717, + 'longitude': -0.186964 + }, + 'Gibraltar': { + 'name': 'Gibraltar', + 'capital': 'Gibraltar', + 'latitude': 36.140773, + 'longitude': -5.353599 + }, + 'Greece': { + 'name': 'Greece', + 'capital': 'Athens', + 'latitude': 37.983917, + 'longitude': 23.72936 + }, + 'Greenland': { + 'name': 'Greenland', + 'capital': 'Nuuk', + 'latitude': 64.18141, + 'longitude': -51.694138 + }, + 'Grenada': { + 'name': 'Grenada', + 'capital': "St. George's", + 'latitude': 12.056098, + 'longitude': -61.7488 + }, + 'Guadeloupe': { + 'name': 'Guadeloupe', + 'capital': 'Basse-Terre', + 'latitude': 16.014453, + 'longitude': -61.706411 + }, + 'Guam': { + 'name': 'Guam', + 'capital': 'Hagåtña', + 'latitude': 13.470891, + 'longitude': 144.751278 + }, + 'Guatemala': { + 'name': 'Guatemala', + 'capital': 'Guatemala City', + 'latitude': 14.634915, + 'longitude': -90.506882 + }, + 'Guernsey': { + 'name': 'Guernsey', + 'capital': 'St. Peter Port', + 'latitude': 49.455443, + 'longitude': -2.536871 + }, + 'Guinea': { + 'name': 'Guinea', + 'capital': 'Conakry', + 'latitude': 9.641185, + 'longitude': -13.578401 + }, + 'Guinea-Bissau': { + 'name': 'Guinea-Bissau', + 'capital': 'Bissau', + 'latitude': 11.881655, + 'longitude': -15.617794 + }, + 'Guyana': { + 'name': 'Guyana', + 'capital': 'Georgetown', + 'latitude': 6.801279, + 'longitude': -58.155125 + }, + 'Haiti': { + 'name': 'Haiti', + 'capital': 'Port-au-Prince', + 'latitude': 18.594395, + 'longitude': -72.307433 + }, + 'Honduras': { + 'name': 'Honduras', + 'capital': 'Tegucigalpa', + 'latitude': 14.072275, + 'longitude': -87.192136 + }, + 'Hong Kong': { + 'name': 'Hong Kong', + 'capital': 'Hong Kong', + 'latitude': 22.396428, + 'longitude': 114.109497 + }, + 'Hungary': { + 'name': 'Hungary', + 'capital': 'Budapest', + 'latitude': 47.497912, + 'longitude': 19.040235 + }, + 'Iceland': { + 'name': 'Iceland', + 'capital': 'Reykjavík', + 'latitude': 64.126521, + 'longitude': -21.817439 + }, + 'India': { + 'name': 'India', + 'capital': 'New Delhi', + 'latitude': 28.613939, + 'longitude': 77.209021 + }, + 'Indonesia': { + 'name': 'Indonesia', + 'capital': 'Jakarta', + 'latitude': -6.208763, + 'longitude': 106.845599 + }, + 'Iran': { + 'name': 'Iran', + 'capital': 'Tehran', + 'latitude': 35.689198, + 'longitude': 51.388974 + }, + 'Iraq': { + 'name': 'Iraq', + 'capital': 'Baghdad', + 'latitude': 33.312806, + 'longitude': 44.361488 + }, + 'Ireland': { + 'name': 'Ireland', + 'capital': 'Dublin', + 'latitude': 53.349805, + 'longitude': -6.26031 + }, + 'Isle of Man': { + 'name': 'Isle of Man', + 'capital': 'Douglas', + 'latitude': 54.152337, + 'longitude': -4.486123 + }, + 'Israel': { + 'name': 'Israel', + 'capital': 'Tel Aviv', + 'latitude': 32.0853, + 'longitude': 34.781768 + }, + 'Italy': { + 'name': 'Italy', + 'capital': 'Rome', + 'latitude': 41.902784, + 'longitude': 12.496366 + }, + 'Jamaica': { + 'name': 'Jamaica', + 'capital': 'Kingston', + 'latitude': 18.042327, + 'longitude': -76.802893 + }, + 'Japan': { + 'name': 'Japan', + 'capital': 'Tokyo', + 'latitude': 35.709026, + 'longitude': 139.731992 + }, + 'Jersey': { + 'name': 'Jersey', + 'capital': 'St. Helier', + 'latitude': 49.186823, + 'longitude': -2.106568 + }, + 'Jordan': { + 'name': 'Jordan', + 'capital': 'Amman', + 'latitude': 31.956578, + 'longitude': 35.945695 + }, + 'Kazakhstan': { + 'name': 'Kazakhstan', + 'capital': 'Astana', + 'latitude': 51.160523, + 'longitude': 71.470356 + }, + 'Kenya': { + 'name': 'Kenya', + 'capital': 'Nairobi', + 'latitude': -1.292066, + 'longitude': 36.821946 + }, + 'Kiribati': { + 'name': 'Kiribati', + 'capital': 'Tarawa Atoll', + 'latitude': 1.451817, + 'longitude': 172.971662 + }, + 'Kosovo': { + 'name': 'Kosovo', + 'capital': 'Pristina', + 'latitude': 42.662914, + 'longitude': 21.165503 + }, + 'Kuwait': { + 'name': 'Kuwait', + 'capital': 'Kuwait City', + 'latitude': 29.375859, + 'longitude': 47.977405 + }, + 'Kyrgyzstan': { + 'name': 'Kyrgyzstan', + 'capital': 'Bishkek', + 'latitude': 42.874621, + 'longitude': 74.569762 + }, + 'Laos': { + 'name': 'Laos', + 'capital': 'Vientiane', + 'latitude': 17.975706, + 'longitude': 102.633104 + }, + 'Latvia': { + 'name': 'Latvia', + 'capital': 'Riga', + 'latitude': 56.949649, + 'longitude': 24.105186 + }, + 'Lebanon': { + 'name': 'Lebanon', + 'capital': 'Beirut', + 'latitude': 33.888629, + 'longitude': 35.495479 + }, + 'Lesotho': { + 'name': 'Lesotho', + 'capital': 'Maseru', + 'latitude': -29.363219, + 'longitude': 27.51436 + }, + 'Liberia': { + 'name': 'Liberia', + 'capital': 'Monrovia', + 'latitude': 6.290743, + 'longitude': -10.760524 + }, + 'Libya': { + 'name': 'Libya', + 'capital': 'Tripoli', + 'latitude': 32.887209, + 'longitude': 13.191338 + }, + 'Liechtenstein': { + 'name': 'Liechtenstein', + 'capital': 'Vaduz', + 'latitude': 47.14103, + 'longitude': 9.520928 + }, + 'Lithuania': { + 'name': 'Lithuania', + 'capital': 'Vilnius', + 'latitude': 54.687156, + 'longitude': 25.279651 + }, + 'Luxembourg': { + 'name': 'Luxembourg', + 'capital': 'Luxembourg', + 'latitude': 49.611621, + 'longitude': 6.131935 + }, + 'Macau': { + 'name': 'Macau', + 'capital': 'Macau', + 'latitude': 22.166667, + 'longitude': 113.55 + }, + 'Macedonia': { + 'name': 'Macedonia', + 'capital': 'Skopje', + 'latitude': 41.997346, + 'longitude': 21.427996 + }, + 'Madagascar': { + 'name': 'Madagascar', + 'capital': 'Antananarivo', + 'latitude': -18.87919, + 'longitude': 47.507905 + }, + 'Malawi': { + 'name': 'Malawi', + 'capital': 'Lilongwe', + 'latitude': -13.962612, + 'longitude': 33.774119 + }, + 'Malaysia': { + 'name': 'Malaysia', + 'capital': 'Kuala Lumpur', + 'latitude': 3.139003, + 'longitude': 101.686855 + }, + 'Maldives': { + 'name': 'Maldives', + 'capital': 'Malé', + 'latitude': 4.175496, + 'longitude': 73.509347 + }, + 'Mali': { + 'name': 'Mali', + 'capital': 'Bamako', + 'latitude': 12.639232, + 'longitude': -8.002889 + }, + 'Malta': { + 'name': 'Malta', + 'capital': 'Valletta', + 'latitude': 35.898909, + 'longitude': 14.514553 + }, + 'Marshall Islands': { + 'name': 'Marshall Islands', + 'capital': 'Majuro', + 'latitude': 7.116421, + 'longitude': 171.185774 + }, + 'Martinique': { + 'name': 'Martinique', + 'capital': 'Fort-de-France', + 'latitude': 14.616065, + 'longitude': -61.05878 + }, + 'Mauritania': { + 'name': 'Mauritania', + 'capital': 'Nouakchott', + 'latitude': 18.07353, + 'longitude': -15.958237 + }, + 'Mauritius': { + 'name': 'Mauritius', + 'capital': 'Port Louis', + 'latitude': -20.166896, + 'longitude': 57.502332 + }, + 'Mayotte': { + 'name': 'Mayotte', + 'capital': 'Mamoudzou', + 'latitude': -12.780949, + 'longitude': 45.227872 + }, + 'Mexico': { + 'name': 'Mexico', + 'capital': 'Mexico City', + 'latitude': 19.432608, + 'longitude': -99.133208 + }, + 'Micronesia': { + 'name': 'Micronesia', + 'capital': 'Palikir', + 'latitude': 6.914712, + 'longitude': 158.161027 + }, + 'Moldova': { + 'name': 'Moldova', + 'capital': 'Chisinau', + 'latitude': 47.010453, + 'longitude': 28.86381 + }, + 'Monaco': { + 'name': 'Monaco', + 'capital': 'Monaco', + 'latitude': 43.737411, + 'longitude': 7.420816 + }, + 'Mongolia': { + 'name': 'Mongolia', + 'capital': 'Ulaanbaatar', + 'latitude': 47.886399, + 'longitude': 106.905744 + }, + 'Montenegro': { + 'name': 'Montenegro', + 'capital': 'Podgorica', + 'latitude': 42.43042, + 'longitude': 19.259364 + }, + 'Montserrat': { + 'name': 'Montserrat', + 'capital': 'Plymouth', + 'latitude': 16.706523, + 'longitude': -62.215738 + }, + 'Morocco': { + 'name': 'Morocco', + 'capital': 'Rabat', + 'latitude': 33.97159, + 'longitude': -6.849813 + }, + 'Mozambique': { + 'name': 'Mozambique', + 'capital': 'Maputo', + 'latitude': -25.891968, + 'longitude': 32.605135 + }, + 'Myanmar': { + 'name': 'Myanmar', + 'capital': 'Naypyidaw', + 'latitude': 19.763306, + 'longitude': 96.07851 + }, + 'Nagorno-Karabakh Republic': { + 'name': 'Nagorno-Karabakh Republic', + 'capital': 'Stepanakert', + 'latitude': 39.826385, + 'longitude': 46.763595 + }, + 'Namibia': { + 'name': 'Namibia', + 'capital': 'Windhoek', + 'latitude': -22.560881, + 'longitude': 17.065755 + }, + 'Nauru': { + 'name': 'Nauru', + 'capital': 'Yaren', + 'latitude': -0.546686, + 'longitude': 166.921091 + }, + 'Nepal': { + 'name': 'Nepal', + 'capital': 'Kathmandu', + 'latitude': 27.717245, + 'longitude': 85.323961 + }, + 'Netherlands': { + 'name': 'Netherlands', + 'capital': 'Amsterdam', + 'latitude': 52.370216, + 'longitude': 4.895168 + }, + 'Netherlands Antilles': { + 'name': 'Netherlands Antilles', + 'capital': 'Willemstad ', + 'latitude': 12.1091242, + 'longitude': -68.9316546 + }, + 'New Caledonia': { + 'name': 'New Caledonia', + 'capital': 'Nouméa', + 'latitude': -22.255823, + 'longitude': 166.450524 + }, + 'New Zealand': { + 'name': 'New Zealand', + 'capital': 'Wellington', + 'latitude': -41.28646, + 'longitude': 174.776236 + }, + 'Nicaragua': { + 'name': 'Nicaragua', + 'capital': 'Managua', + 'latitude': 12.114993, + 'longitude': -86.236174 + }, + 'Niger': { + 'name': 'Niger', + 'capital': 'Niamey', + 'latitude': 13.511596, + 'longitude': 2.125385 + }, + 'Nigeria': { + 'name': 'Nigeria', + 'capital': 'Abuja', + 'latitude': 9.076479, + 'longitude': 7.398574 + }, + 'Niue': { + 'name': 'Niue', + 'capital': 'Alofi', + 'latitude': -19.055371, + 'longitude': -169.917871 + }, + 'Norfolk Island': { + 'name': 'Norfolk Island', + 'capital': 'Kingston', + 'latitude': -29.056394, + 'longitude': 167.959588 + }, + 'North Korea': { + 'name': 'North Korea', + 'capital': 'Pyongyang', + 'latitude': 39.039219, + 'longitude': 125.762524 + }, + 'Northern Cyprus': { + 'name': 'Northern Cyprus', + 'capital': 'Nicosia', + 'latitude': 35.185566, + 'longitude': 33.382276 + }, + 'Northern Mariana Islands': { + 'name': 'Northern Mariana Islands', + 'capital': 'Saipan', + 'latitude': 15.177801, + 'longitude': 145.750967 + }, + 'Norway': { + 'name': 'Norway', + 'capital': 'Oslo', + 'latitude': 59.913869, + 'longitude': 10.752245 + }, + 'Oman': { + 'name': 'Oman', + 'capital': 'Muscat', + 'latitude': 23.58589, + 'longitude': 58.405923 + }, + 'Pakistan': { + 'name': 'Pakistan', + 'capital': 'Islamabad', + 'latitude': 33.729388, + 'longitude': 73.093146 + }, + 'Palau': { + 'name': 'Palau', + 'capital': 'Ngerulmud', + 'latitude': 7.500384, + 'longitude': 134.624289 + }, + 'Palestine': { + 'name': 'Palestine', + 'capital': 'Ramallah', + 'latitude': 31.9073509, + 'longitude': 35.5354719 + }, + 'Panama': { + 'name': 'Panama', + 'capital': 'Panama City', + 'latitude': 9.101179, + 'longitude': -79.402864 + }, + 'Papua New Guinea': { + 'name': 'Papua New Guinea', + 'capital': 'Port Moresby', + 'latitude': -9.4438, + 'longitude': 147.180267 + }, + 'Paraguay': { + 'name': 'Paraguay', + 'capital': 'Asuncion', + 'latitude': -25.26374, + 'longitude': -57.575926 + }, + 'Peru': { + 'name': 'Peru', + 'capital': 'Lima', + 'latitude': -12.046374, + 'longitude': -77.042793 + }, + 'Philippines': { + 'name': 'Philippines', + 'capital': 'Manila', + 'latitude': 14.599512, + 'longitude': 120.98422 + }, + 'Pitcairn Islands': { + 'name': 'Pitcairn Islands', + 'capital': 'Adamstown', + 'latitude': -25.06629, + 'longitude': -130.100464 + }, + 'Poland': { + 'name': 'Poland', + 'capital': 'Warsaw', + 'latitude': 52.229676, + 'longitude': 21.012229 + }, + 'Portugal': { + 'name': 'Portugal', + 'capital': 'Lisbon', + 'latitude': 38.722252, + 'longitude': -9.139337 + }, + 'Puerto Rico': { + 'name': 'Puerto Rico', + 'capital': 'San Juan', + 'latitude': 18.466334, + 'longitude': -66.105722 + }, + 'Qatar': { + 'name': 'Qatar', + 'capital': 'Doha', + 'latitude': 25.285447, + 'longitude': 51.53104 + }, + 'Réunion': { + 'name': 'Réunion', + 'capital': 'Saint-Denis', + 'latitude': -20.882057, + 'longitude': 55.450675 + }, + 'Romania': { + 'name': 'Romania', + 'capital': 'Bucharest', + 'latitude': 44.426767, + 'longitude': 26.102538 + }, + 'Russia': { + 'name': 'Russia', + 'capital': 'Moscow', + 'latitude': 55.755826, + 'longitude': 37.6173 + }, + 'Rwanda': { + 'name': 'Rwanda', + 'capital': 'Kigali', + 'latitude': -1.957875, + 'longitude': 30.112735 + }, + 'Saint Pierre and Miquelon': { + 'name': 'Saint Pierre and Miquelon', + 'capital': 'St. Pierre', + 'latitude': 46.775846, + 'longitude': -56.180636 + }, + 'Saint Vincent and the Grenadines': { + 'name': 'Saint Vincent and the Grenadines', + 'capital': 'Kingstown', + 'latitude': 13.160025, + 'longitude': -61.224816 + }, + 'Samoa': { + 'name': 'Samoa', + 'capital': 'Apia', + 'latitude': -13.850696, + 'longitude': -171.751355 + }, + 'San Marino': { + 'name': 'San Marino', + 'capital': 'San Marino', + 'latitude': 43.935591, + 'longitude': 12.447281 + }, + 'São Tomé and Príncipe': { + 'name': 'São Tomé and Príncipe', + 'capital': 'São Tomé', + 'latitude': 0.330192, + 'longitude': 6.733343 + }, + 'Saudi Arabia': { + 'name': 'Saudi Arabia', + 'capital': 'Riyadh', + 'latitude': 24.749403, + 'longitude': 46.902838 + }, + 'Senegal': { + 'name': 'Senegal', + 'capital': 'Dakar', + 'latitude': 14.764504, + 'longitude': -17.366029 + }, + 'Serbia': { + 'name': 'Serbia', + 'capital': 'Belgrade', + 'latitude': 44.786568, + 'longitude': 20.448922 + }, + 'Seychelles': { + 'name': 'Seychelles', + 'capital': 'Victoria', + 'latitude': -4.619143, + 'longitude': 55.451315 + }, + 'Sierra Leone': { + 'name': 'Sierra Leone', + 'capital': 'Freetown', + 'latitude': 8.465677, + 'longitude': -13.231722 + }, + 'Singapore': { + 'name': 'Singapore', + 'capital': 'Singapore', + 'latitude': 1.280095, + 'longitude': 103.850949 + }, + 'Slovakia': { + 'name': 'Slovakia', + 'capital': 'Bratislava', + 'latitude': 48.145892, + 'longitude': 17.107137 + }, + 'Slovenia': { + 'name': 'Slovenia', + 'capital': 'Ljubljana', + 'latitude': 46.056947, + 'longitude': 14.505751 + }, + 'Solomon Islands': { + 'name': 'Solomon Islands', + 'capital': 'Honiara', + 'latitude': -9.445638, + 'longitude': 159.9729 + }, + 'Somalia': { + 'name': 'Somalia', + 'capital': 'Mogadishu', + 'latitude': 2.046934, + 'longitude': 45.318162 + }, + 'South Africa': { + 'name': 'South Africa', + 'capital': 'Pretoria', + 'latitude': -25.747868, + 'longitude': 28.229271 + }, + 'South Georgia and the South Sandwich Islands': { + 'name': 'South Georgia and the South Sandwich Islands', + 'capital': 'King Edward Point', + 'latitude': -54.28325, + 'longitude': -36.493735 + }, + 'South Korea': { + 'name': 'South Korea', + 'capital': 'Seoul', + 'latitude': 37.566535, + 'longitude': 126.977969 + }, + 'South Ossetia': { + 'name': 'South Ossetia', + 'capital': 'Tskhinvali', + 'latitude': 42.22146, + 'longitude': 43.964405 + }, + 'South Sudan': { + 'name': 'South Sudan', + 'capital': 'Juba', + 'latitude': 4.859363, + 'longitude': 31.57125 + }, + 'Spain': { + 'name': 'Spain', + 'capital': 'Madrid', + 'latitude': 40.416775, + 'longitude': -3.70379 + }, + 'Sri Lanka': { + 'name': 'Sri Lanka', + 'capital': 'Sri Jayawardenepura Kotte', + 'latitude': 6.89407, + 'longitude': 79.902478 + }, + 'St. Barthélemy': { + 'name': 'St. Barthélemy', + 'capital': 'Gustavia', + 'latitude': 17.896435, + 'longitude': -62.852201 + }, + 'St. Kitts and Nevis': { + 'name': 'St. Kitts and Nevis', + 'capital': 'Basseterre', + 'latitude': 17.302606, + 'longitude': -62.717692 + }, + 'St. Lucia': { + 'name': 'St. Lucia', + 'capital': 'Castries', + 'latitude': 14.010109, + 'longitude': -60.987469 + }, + 'St. Martin': { + 'name': 'St. Martin', + 'capital': 'Marigot', + 'latitude': 18.067519, + 'longitude': -63.082466 + }, + 'Sudan': { + 'name': 'Sudan', + 'capital': 'Khartoum', + 'latitude': 15.500654, + 'longitude': 32.559899 + }, + 'Suriname': { + 'name': 'Suriname', + 'capital': 'Paramaribo', + 'latitude': 5.852036, + 'longitude': -55.203828 + }, + 'Svalbard and Jan Mayen': { + 'name': 'Svalbard and Jan Mayen', + 'capital': 'Longyearbyen ', + 'latitude': 78.062, + 'longitude': 22.055 + }, + 'Swaziland': { + 'name': 'Swaziland', + 'capital': 'Mbabane', + 'latitude': -26.305448, + 'longitude': 31.136672 + }, + 'Sweden': { + 'name': 'Sweden', + 'capital': 'Stockholm', + 'latitude': 59.329323, + 'longitude': 18.068581 + }, + 'Switzerland': { + 'name': 'Switzerland', + 'capital': 'Bern', + 'latitude': 46.947974, + 'longitude': 7.447447 + }, + 'Syria': { + 'name': 'Syria', + 'capital': 'Damascus', + 'latitude': 33.513807, + 'longitude': 36.276528 + }, + 'Taiwan': { + 'name': 'Taiwan', + 'capital': 'Taipei', + 'latitude': 25.032969, + 'longitude': 121.565418 + }, + 'Tajikistan': { + 'name': 'Tajikistan', + 'capital': 'Dushanbe', + 'latitude': 38.559772, + 'longitude': 68.787038 + }, + 'Tanzania': { + 'name': 'Tanzania', + 'capital': 'Dodoma', + 'latitude': -6.162959, + 'longitude': 35.751607 + }, + 'Thailand': { + 'name': 'Thailand', + 'capital': 'Bangkok', + 'latitude': 13.756331, + 'longitude': 100.501765 + }, + 'Timor-Leste': { + 'name': 'Timor-Leste', + 'capital': 'Dili', + 'latitude': -8.556856, + 'longitude': 125.560314 + }, + 'Togo': { + 'name': 'Togo', + 'capital': 'Lomé', + 'latitude': 6.172497, + 'longitude': 1.231362 + }, + 'Tokelau': { + 'name': 'Tokelau', + 'capital': 'Nukunonu', + 'latitude': -9.2005, + 'longitude': -171.848 + }, + 'Tonga': { + 'name': 'Tonga', + 'capital': 'Nukuʻalofa', + 'latitude': -21.139342, + 'longitude': -175.204947 + }, + 'Transnistria': { + 'name': 'Transnistria', + 'capital': 'Tiraspol', + 'latitude': 46.848185, + 'longitude': 29.596805 + }, + 'Trinidad and Tobago': { + 'name': 'Trinidad and Tobago', + 'capital': 'Port of Spain', + 'latitude': 10.654901, + 'longitude': -61.501926 + }, + 'Tristan da Cunha': { + 'name': 'Tristan da Cunha', + 'capital': 'Edinburgh of the Seven Seas', + 'latitude': -37.068042, + 'longitude': -12.311315 + }, + 'Tunisia': { + 'name': 'Tunisia', + 'capital': 'Tunis', + 'latitude': 36.806495, + 'longitude': 10.181532 + }, + 'Turkey': { + 'name': 'Turkey', + 'capital': 'Ankara', + 'latitude': 39.933364, + 'longitude': 32.859742 + }, + 'Turkmenistan': { + 'name': 'Turkmenistan', + 'capital': 'Ashgabat', + 'latitude': 37.960077, + 'longitude': 58.326063 + }, + 'Turks and Caicos Islands': { + 'name': 'Turks and Caicos Islands', + 'capital': 'Cockburn Town', + 'latitude': 21.467458, + 'longitude': -71.13891 + }, + 'Tuvalu': { + 'name': 'Tuvalu', + 'capital': 'Funafuti', + 'latitude': -8.520066, + 'longitude': 179.198128 + }, + 'U.S. Virgin Islands': { + 'name': 'U.S. Virgin Islands', + 'capital': 'Charlotte Amalie', + 'latitude': 18.3419, + 'longitude': -64.930701 + }, + 'Uganda': { + 'name': 'Uganda', + 'capital': 'Kampala', + 'latitude': 0.347596, + 'longitude': 32.58252 + }, + 'Ukraine': { + 'name': 'Ukraine', + 'capital': 'Kiev', + 'latitude': 50.4501, + 'longitude': 30.5234 + }, + 'United Arab Emirates': { + 'name': 'United Arab Emirates', + 'capital': 'Abu Dhabi', + 'latitude': 24.299174, + 'longitude': 54.697277 + }, + 'United Kingdom': { + 'name': 'United Kingdom', + 'capital': 'London', + 'latitude': 51.507351, + 'longitude': -0.127758 + }, + 'United States': { + 'name': 'United States', + 'capital': 'Washington', + 'latitude': 38.907192, + 'longitude': -77.036871 + }, + 'Uruguay': { + 'name': 'Uruguay', + 'capital': 'Montevideo', + 'latitude': -34.901113, + 'longitude': -56.164531 + }, + 'Uzbekistan': { + 'name': 'Uzbekistan', + 'capital': 'Tashkent', + 'latitude': 41.299496, + 'longitude': 69.240073 + }, + 'Vanuatu': { + 'name': 'Vanuatu', + 'capital': 'Port Vila', + 'latitude': -17.733251, + 'longitude': 168.327325 + }, + 'Vatican City': { + 'name': 'Vatican City', + 'capital': 'Vatican City', + 'latitude': 41.902179, + 'longitude': 12.453601 + }, + 'Venezuela': { + 'name': 'Venezuela', + 'capital': 'Caracas', + 'latitude': 10.480594, + 'longitude': -66.903606 + }, + 'Vietnam': { + 'name': 'Vietnam', + 'capital': 'Hanoi', + 'latitude': 21.027764, + 'longitude': 105.83416 + }, + 'Wallis and Futuna': { + 'name': 'Wallis and Futuna', + 'capital': 'Mata-Utu', + 'latitude': -13.282509, + 'longitude': -176.176447 + }, + 'Western Sahara': { + 'name': 'Western Sahara', + 'capital': 'El Aaiún', + 'latitude': 27.125287, + 'longitude': -13.1625 + }, + 'Yemen': { + 'name': 'Yemen', + 'capital': "Sana'a", + 'latitude': 15.369445, + 'longitude': 44.191007 + }, + 'Zambia': { + 'name': 'Zambia', + 'capital': 'Lusaka', + 'latitude': -15.387526, + 'longitude': 28.322817 + }, + 'Zimbabwe': { + 'name': 'Zimbabwe', + 'capital': 'Harare', + 'latitude': -17.825166, + 'longitude': 31.03351 + } +} + +def convert_lat_long(latitude, longitude, map_width, map_height): + + false_easting = 180 + radius = map_width / (2 * pi) + latitude = radians(latitude) + longitude = radians(longitude + false_easting) + + x_coord = longitude * radius + + y_dist_from_equator = radius * log(tan(pi / 4 + latitude / 2)) + y_coord = map_height / 2 - y_dist_from_equator + + coords = {'x': x_coord, 'y': y_coord} + + return coords + + +def get_available_regions(): + return regions.keys() + + +def get_region_coords(region, map_width=991, map_height=768): + coords = None + + try: + lookup = regions[region] + coords = convert_lat_long(lookup['latitude'], lookup['longitude'], map_width, map_height) + return coords + except KeyError: + print('Region not recognised: ', region) diff --git a/lib/tasks/project_components/mapping_data_starter/species.csv b/lib/tasks/project_components/mapping_data_starter/species.csv new file mode 100644 index 00000000..a6ec45d8 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_starter/species.csv @@ -0,0 +1,238 @@ +Afghanistan,42 +Albania,130 +Algeria,135 +American Samoa,92 +Andorra,13 +Angola,146 +Anguilla,52 +Antarctica,6 +Antigua and Barbuda,55 +Argentina,256 +Armenia,114 +Aruba,32 +Australia,948 +Austria,118 +Azerbaijan,97 +Bahamas,86 +Bahrain,36 +Bangladesh,151 +Barbados,56 +Belarus,25 +Belgium,37 +Belize,117 +Benin,88 +Bermuda,72 +Bhutan,71 +Bolivia,231 +Bosnia and Herzegovina,91 +Botswana,28 +Bouvet Island,3 +Brazil,990 +British Indian Ocean Territory,85 +British Virgin Islands,67 +Brunei,193 +Bulgaria,104 +Burkina Faso,31 +Burundi,61 +Cape Verde,65 +Cambodia,255 +Cameroon,775 +Canada,122 +Cayman Islands,74 +Central African Republic,60 +Chad,43 +Chile,197 +China,1080 +Hong Kong,64 +Macau,11 +Christmas Island,39 +Cocos (Keeling) Islands,33 +Colombia,835 +Comoros,114 +Congo (Republic),134 +Cook Islands,75 +Costa Rica,340 +Côte d'Ivoire,249 +Croatia,176 +Cuba,339 +Curaçao,51 +Cyprus,72 +Czech Republic,53 +North Korea,78 +Congo (DRC),349 +Denmark,47 +Djibouti,98 +Dominica,66 +Dominican Republic,184 +Ecuador,2358 +Egypt,156 +El Salvador,86 +Equatorial Guinea,177 +Eritrea,122 +Estonia,23 +Swaziland,34 +Ethiopia,148 +Falkland Islands (Islas Malvinas),23 +Faroe Islands,21 +Fiji,291 +Finland,36 +France,278 +French Guiana,73 +French Polynesia,175 +French Southern Territories,25 +Gabon,270 +Gambia,67 +Georgia,120 +Germany,116 +Ghana,238 +Gibraltar,31 +Greece,374 +Greenland,23 +Grenada,54 +Guadeloupe,73 +Guam,99 +Guatemala,290 +Guernsey,5 +Guinea,185 +Guinea-Bissau,77 +Guyana,94 +Haiti,205 +Vatican City,1 +Honduras,301 +Hungary,66 +Iceland,27 +India,1052 +Indonesia,1281 +Iran,134 +Iraq,72 +Ireland,50 +Isle of Man,3 +Israel,174 +Italy,359 +Jamaica,311 +Japan,404 +Jersey,6 +Jordan,113 +Kazakhstan,82 +Kenya,480 +Kiribati,104 +Kuwait,49 +Kyrgyzstan,44 +Laos,209 +Latvia,30 +Lebanon,87 +Lesotho,18 +Liberia,172 +Libya,63 +Liechtenstein,6 +Lithuania,26 +Luxembourg,11 +Madagascar,1324 +Malawi,176 +Malaysia,1272 +Maldives,75 +Mali,42 +Malta,39 +Marshall Islands,101 +Martinique,48 +Mauritania,86 +Mauritius,257 +Mayotte,88 +Mexico,1162 +Micronesia,167 +Monaco,21 +Mongolia,41 +Montenegro,98 +Montserrat,55 +Morocco,207 +Mozambique,309 +Myanmar,321 +Namibia,115 +Nauru,82 +Nepal,104 +Netherlands,40 +New Caledonia,526 +New Zealand,199 +Nicaragua,144 +Niger,34 +Nigeria,361 +Niue,52 +Norfolk Island,44 +Northern Mariana Islands,102 +Norway,64 +Oman,99 +Pakistan,140 +Palau,182 +Panama,383 +Papua New Guinea,493 +Paraguay,59 +Peru,685 +Philippines,783 +Poland,58 +Portugal,281 +Puerto Rico,126 +Qatar,39 +South Korea,111 +Moldova,35 +Réunion,130 +Romania,104 +Russia,235 +Rwanda,62 +St. Barthélemy,31 +St. Kitts and Nevis,52 +St. Lucia,62 +Saint Pierre and Miquelon,12 +Saint Vincent and the Grenadines,58 +Samoa,93 +San Marino,1 +São Tomé and Príncipe,94 +Saudi Arabia,131 +Senegal,123 +Serbia,71 +Seychelles,439 +Sierra Leone,177 +Singapore,293 +Slovakia,54 +Slovenia,143 +Solomon Islands,245 +Somalia,175 +South Africa,581 +South Georgia and the South Sandwich Islands,9 +South Sudan,49 +Spain,617 +Sri Lanka,587 +Palestine,31 +Sudan,133 +Suriname,83 +Sweden,54 +Switzerland,74 +Syria,132 +Tajikistan,45 +Thailand,611 +Timor-Leste,24 +Togo,80 +Tokelau,49 +Tonga,79 +Trinidad and Tobago,69 +Tunisia,96 +Turkey,388 +Turkmenistan,54 +Turks and Caicos Islands,60 +Tuvalu,96 +Uganda,196 +Ukraine,102 +United Arab Emirates,56 +United Kingdom,102 +Tanzania,1082 +United States,1513 +U.S. Virgin Islands,58 +Uruguay,106 +Uzbekistan,59 +Vanuatu,137 +Venezuela,328 +Vietnam,616 +Wallis and Futuna,89 +Western Sahara,49 +Yemen,298 +Zambia,88 +Zimbabwe,89 diff --git a/lib/tasks/project_components/mapping_data_urban_rural_populations/carbon.csv b/lib/tasks/project_components/mapping_data_urban_rural_populations/carbon.csv new file mode 100644 index 00000000..8733659c --- /dev/null +++ b/lib/tasks/project_components/mapping_data_urban_rural_populations/carbon.csv @@ -0,0 +1,141 @@ +Albania,4342.011,1.511 +Algeria,130493.653,3.158 +Angola,18021.394,0.605 +Argentina,183375.203,4.142 +Armenia,5165.593,1.763 +Australia,384583.857,15.632 +Austria,64872.394,7.376 +Azerbaijan,30805.851,3.124 +Bahrain,29813.834,19.969 +Bangladesh,78270.17,0.475 +Belarus,54070.453,5.687 +Belgium,90368.188,7.963 +Benin,6763.074,0.605 +Bolivia,21899.18,1.981 +Bosnia and Herzegovina,22327.978,6.367 +Botswana,7717.409,3.367 +Brazil,427632.717,2.043 +Brunei,6710.178,15.641 +Bulgaria,42819.932,6.051 +Côte d'Ivoire,10234.205,0.421 +Cambodia,10762.923,0.672 +Cameroon,6152.919,0.256 +Canada,547798.641,14.992 +Chile,86087.14,4.648 +China,9257933.9,6.678 +Hong Kong,44034.675,5.957 +Colombia,75291.911,1.535 +Congo (Republic),2847.335,0.541 +Costa Rica,7584.411,1.546 +Croatia,16193.172,3.925 +Cuba,26215.665,2.283 +Curaçao,3748.132,23.28 +Cyprus,6367.874,7.448 +Czech Republic,101682.752,9.602 +North Korea,19579.698,0.768 +Congo (DRC),2201.742,0.027 +Denmark,31263.57,5.421 +Dominican Republic,21430.38,1.99 +Ecuador,34299.317,2.063 +Egypt,209219.059,2.145 +El Salvador,5735.668,0.899 +Eritrea,632.105,0.125 +Estonia,15972.029,12.137 +Ethiopia,13059.815,0.124 +Finland,42598.175,7.734 +France,306123.541,4.565 +Gabon,3367.911,1.663 +Georgia,8720.3,2.346 +Germany,718794.085,8.696 +Ghana,13779.635,0.478 +Gibraltar,703.9,20.703 +Greece,63213.31,5.878 +Guatemala,15703.161,0.928 +Haiti,3293.125,0.3 +Honduras,9426.74,1.017 +Hungary,45783.636,4.678 +Iceland,2173.307,6.336 +India,2161567.072,1.614 +Indonesia,496406.275,1.88 +Iran,567123.294,6.987 +Iraq,139877.659,3.655 +Ireland,35720.302,7.439 +Israel,63766.189,7.322 +Italy,321481.224,5.31 +Jamaica,6971.666,2.412 +Japan,1132435.4,8.938 +Jordan,25550.14,2.633 +Kazakhstan,255767.646,14.179 +Kenya,16264.973,0.327 +Kosovo,8168.55,4.461 +Kuwait,89420.615,21.615 +Kyrgyzstan,8909.263,1.437 +Latvia,6679.644,3.441 +Lebanon,26931.044,4.428 +Libya,41528.35,6.514 +Lithuania,10811.096,3.831 +Luxembourg,8631.187,14.458 +Malaysia,211046.967,6.674 +Malta,1516.276,3.261 +Mauritius,4182.138,3.306 +Mexico,445991.937,3.615 +Mongolia,19276,6.267 +Montenegro,2206.233,3.547 +Morocco,58149.86,1.627 +Mozambique,7624.932,0.257 +Myanmar,30404.919,0.57 +Namibia,4037.15,1.593 +Nepal,10113.953,0.345 +Netherlands,155574.278,9.081 +New Zealand,32241.597,6.673 +Nicaragua,5106.281,0.821 +Niger,2048.704,0.095 +Nigeria,85988.513,0.45 +Norway,34760.858,6.587 +Oman,65498.56,14.128 +Pakistan,183447.068,0.931 +Panama,9612.198,2.345 +Paraguay,7654.689,1.124 +Peru,49693.643,1.545 +Philippines,126487.694,1.206 +Poland,305841.991,7.96 +Portugal,50757.815,4.928 +Qatar,80116.551,30.359 +South Korea,600034.367,11.663 +Moldova,7526.673,2.12 +Romania,70788.76,3.614 +Russia,1536878.825,10.636 +Saudi Arabia,532181.611,16.157 +Senegal,8311.532,0.524 +Serbia,46129.569,6.569 +Singapore,47407.144,8.447 +Slovakia,32212.012,5.924 +Slovenia,13410.666,6.491 +South Africa,421682.392,7.435 +South Sudan,1549.031,0.123 +Spain,253423.277,5.446 +Sri Lanka,23103.271,1.077 +Sudan,18777.895,0.463 +Suriname,1928.134,3.425 +Sweden,37643.785,3.743 +Switzerland,37135.572,4.394 +Syria,23031.045,1.261 +Tajikistan,5843.657,0.655 +Thailand,244254.785,3.538 +Togo,2082.434,0.267 +Trinidad and Tobago,18007.573,13.154 +Tunisia,26156.972,2.268 +Turkey,378631.09,4.714 +Turkmenistan,68998.881,11.983 +Ukraine,171300.035,3.821 +United Arab Emirates,196510.174,20.905 +United Kingdom,358731.281,5.432 +Tanzania,10131.79,0.177 +United States,4761301.727,14.606 +Uruguay,5872.957,1.699 +Uzbekistan,81156.397,2.506 +Venezuela,113717.543,3.556 +Vietnam,191243.601,2.002 +Yemen,8919.998,0.316 +Zambia,6007.872,0.351 +Zimbabwe,9714.938,0.588 diff --git a/lib/tasks/project_components/mapping_data_urban_rural_populations/gdp.csv b/lib/tasks/project_components/mapping_data_urban_rural_populations/gdp.csv new file mode 100644 index 00000000..a7b6d53a --- /dev/null +++ b/lib/tasks/project_components/mapping_data_urban_rural_populations/gdp.csv @@ -0,0 +1,207 @@ +Aruba,3056424581 +Afghanistan,18869945678 +Angola,1.22124E+11 +Albania,13019693451 +Andorra,3000180750 +United Arab Emirates,3.85606E+11 +Argentina,6.43629E+11 +Armenia,11527458566 +American Samoa,602000000 +Antigua and Barbuda,1467977778 +Australia,1.32919E+12 +Austria,4.17238E+11 +Azerbaijan,40865558912 +Burundi,3172292379 +Belgium,5.02698E+11 +Benin,12701656931 +Burkina Faso,14106956830 +Bangladesh,2.49711E+11 +Bulgaria,58971520599 +Bahrain,35473776596 +Bahamas,12490700000 +Bosnia and Herzegovina,18080118128 +Belarus,54726595249 +Belize,1836600000 +Bermuda,7142316000 +Bolivia,37508642165 +Brazil,2.06283E+12 +Barbados,4978000000 +Brunei,12128104859 +Bhutan,2450364928 +Botswana,17405588070 +Central African Republic,2072350151 +Canada,1.64988E+12 +Switzerland,6.7995E+11 +Chile,2.77045E+11 +China,1.23104E+13 +Côte d'Ivoire,51588158718 +Cameroon,35009262788 +Congo (DRC),38019265626 +Congo (Republic),11198674674 +Colombia,3.11884E+11 +Comoros,1077439663 +Costa Rica,58481858043 +Cuba,96851000000 +Cayman Islands,5153091158 +Cyprus,22729184365 +Czech Republic,2.18629E+11 +Germany,3.6826E+12 +Djibouti,2751461056 +Dominica,519837037 +Denmark,3.32121E+11 +Dominican Republic,79997975623 +Algeria,1.70163E+11 +Ecuador,1.04296E+11 +Egypt,2.35734E+11 +Eritrea, +Spain,1.31254E+12 +Estonia,26951648829 +Ethiopia,81770791971 +Finland,2.55232E+11 +Fiji,5353404419 +France,2.59515E+12 +Faroe Islands,2905102304 +Micronesia,366666800 +Gabon,14929488771 +United Kingdom,2.66623E+12 +Georgia,16242916916 +Ghana,58998132330 +Gibraltar, +Guinea,10324668267 +Gambia,1504909753 +Guinea-Bissau,1350177128 +Equatorial Guinea,12200914930 +Greece,2.03588E+11 +Grenada,1125685185 +Greenland,2826651926 +Guatemala,71612352645 +Guam,5851000000 +Guyana,4748174334 +Hong Kong,3.41244E+11 +Honduras,23136232230 +Croatia,55481644098 +Haiti,14213814583 +Hungary,1.42962E+11 +Indonesia,1.01562E+12 +Isle of Man,6979581725 +India,2.65275E+12 +Ireland,3.35663E+11 +Iran,4.45345E+11 +Iraq,1.95473E+11 +Iceland,24488176541 +Israel,3.53253E+11 +Italy,1.9618E+12 +Jamaica,14806340821 +Jordan,41408960787 +Japan,4.86686E+12 +Kazakhstan,1.66806E+11 +Kenya,78965004656 +Kyrgyzstan,7702934800 +Cambodia,22177200512 +Kiribati,187276210.9 +St. Kitts and Nevis,996944444.4 +South Korea,1.6239E+12 +Kuwait,1.20707E+11 +Laos,16853087485 +Lebanon,53140638269 +Liberia,3285455000 +Libya,37883243650 +St. Lucia,1999090407 +Liechtenstein,6552858739 +Sri Lanka,87428125558 +Lesotho,2405289384 +Lithuania,47758736932 +Luxembourg,64181944723 +Latvia,30458763246 +Macau,50751059058 +Morocco,1.09683E+11 +Monaco,6431314957 +Moldova,9669759987 +Madagascar,13176313233 +Maldives,4754352301 +Mexico,1.15891E+12 +Marshall Islands,212881000 +Mali,15365627045 +Malta,13146963159 +Myanmar,68945867478 +Montenegro,4844606146 +Mongolia,11425755280 +Northern Mariana Islands,1601000000 +Mozambique,13219084261 +Mauritania,6758390729 +Mauritius,13259351418 +Malawi,6303292264 +Malaysia,3.19112E+11 +Namibia,12741746524 +New Caledonia, +Niger,11189541083 +Nigeria,3.75746E+11 +Nicaragua,13785909906 +Netherlands,8.3387E+11 +Norway,3.98394E+11 +Nepal,25180583770 +Nauru,109585941.6 +New Zealand,2.05416E+11 +Oman,70598026283 +Pakistan,3.04567E+11 +Panama,62219000000 +Peru,2.11007E+11 +Philippines,3.28481E+11 +Palau,286106800 +Papua New Guinea,22742613549 +Poland,5.26509E+11 +Puerto Rico,1.03446E+11 +North Korea, +Portugal,2.21358E+11 +Paraguay,39008900332 +French Polynesia, +Qatar,1.61099E+11 +Romania,2.11695E+11 +Russia,1.5742E+12 +Rwanda,9253098954 +Saudi Arabia,6.88586E+11 +Sudan,45021077955 +Senegal,20996564752 +Singapore,3.41863E+11 +Solomon Islands,1483758907 +Sierra Leone,3739577973 +El Salvador,24979200000 +San Marino,1528630707 +Somalia, +Serbia,44179055280 +South Sudan, +Suriname,3216207914 +Slovakia,95494424979 +Slovenia,48586603448 +Sweden,5.41019E+11 +Swaziland,4402973000 +Seychelles,1524486800 +Syria, +Turks and Caicos Islands,1022365000 +Chad,10000395242 +Togo,4819949975 +Thailand,4.56295E+11 +Tajikistan,7157865188 +Turkmenistan,37926285714 +Timor-Leste,1599338100 +Tonga,460379145 +Trinidad and Tobago,22474828527 +Tunisia,39802430355 +Turkey,8.58989E+11 +Tuvalu,40619251.99 +Tanzania,53320625959 +Uganda,30756466548 +Ukraine,1.1219E+11 +Uruguay,59530088537 +United States,1.95194E+13 +Uzbekistan,59159945321 +Venezuela, +British Virgin Islands, +Vietnam,2.2378E+11 +Vanuatu,880043553.7 +Samoa,832153612.6 +Kosovo,7245707185 +Yemen,26736139802 +South Africa,3.49554E+11 +Zambia,25868165345 +Zimbabwe,22040902300 diff --git a/lib/tasks/project_components/mapping_data_urban_rural_populations/happy.csv b/lib/tasks/project_components/mapping_data_urban_rural_populations/happy.csv new file mode 100644 index 00000000..90b257fa --- /dev/null +++ b/lib/tasks/project_components/mapping_data_urban_rural_populations/happy.csv @@ -0,0 +1,155 @@ +Norway,1,7.537000179 +Denmark,2,7.521999836 +Iceland,3,7.504000187 +Switzerland,4,7.493999958 +Finland,5,7.468999863 +Netherlands,6,7.376999855 +Canada,7,7.315999985 +New Zealand,8,7.31400013 +Sweden,9,7.28399992 +Australia,10,7.28399992 +Israel,11,7.212999821 +Costa Rica,12,7.078999996 +Austria,13,7.006000042 +United States,14,6.993000031 +Ireland,15,6.977000237 +Germany,16,6.951000214 +Belgium,17,6.890999794 +Luxembourg,18,6.862999916 +United Kingdom,19,6.714000225 +Chile,20,6.65199995 +United Arab Emirates,21,6.647999763 +Brazil,22,6.635000229 +Czech Republic,23,6.609000206 +Argentina,24,6.598999977 +Mexico,25,6.578000069 +Singapore,26,6.572000027 +Malta,27,6.52699995 +Uruguay,28,6.453999996 +Guatemala,29,6.453999996 +Panama,30,6.452000141 +France,31,6.441999912 +Thailand,32,6.423999786 +Taiwan,33,6.421999931 +Spain,34,6.402999878 +Qatar,35,6.375 +Colombia,36,6.356999874 +Saudi Arabia,37,6.343999863 +Trinidad and Tobago,38,6.168000221 +Kuwait,39,6.105000019 +Slovakia,40,6.09800005 +Bahrain,41,6.086999893 +Malaysia,42,6.084000111 +Nicaragua,43,6.071000099 +Ecuador,44,6.007999897 +El Salvador,45,6.002999783 +Poland,46,5.97300005 +Uzbekistan,47,5.971000195 +Italy,48,5.964000225 +Russia,49,5.962999821 +Belize,50,5.955999851 +Japan,51,5.920000076 +Lithuania,52,5.90199995 +Algeria,53,5.872000217 +Latvia,54,5.849999905 +South Korea,55,5.837999821 +Moldova,56,5.837999821 +Romania,57,5.824999809 +Bolivia,58,5.822999954 +Turkmenistan,59,5.822000027 +Kazakhstan,60,5.818999767 +Northern Cyprus,61,5.809999943 +Slovenia,62,5.757999897 +Peru,63,5.715000153 +Mauritius,64,5.629000187 +Cyprus,65,5.620999813 +Estonia,66,5.611000061 +Belarus,67,5.568999767 +Libya,68,5.525000095 +Turkey,69,5.5 +Paraguay,70,5.493000031 +Hong Kong,71,5.472000122 +Philippines,72,5.429999828 +Serbia,73,5.394999981 +Jordan,74,5.335999966 +Hungary,75,5.323999882 +Jamaica,76,5.31099987 +Croatia,77,5.293000221 +Kosovo,78,5.278999805 +China,79,5.272999763 +Pakistan,80,5.269000053 +Indonesia,81,5.262000084 +Venezuela,82,5.25 +Montenegro,83,5.236999989 +Morocco,84,5.235000134 +Azerbaijan,85,5.234000206 +Dominican Republic,86,5.230000019 +Greece,87,5.227000237 +Lebanon,88,5.224999905 +Portugal,89,5.195000172 +Bosnia and Herzegovina,90,5.18200016 +Honduras,91,5.181000233 +Macedonia,92,5.175000191 +Somalia,93,5.151000023 +Vietnam,94,5.073999882 +Nigeria,95,5.073999882 +Tajikistan,96,5.040999889 +Bhutan,97,5.011000156 +Kyrgyzstan,98,5.004000187 +Nepal,99,4.961999893 +Mongolia,100,4.954999924 +South Africa,101,4.828999996 +Tunisia,102,4.804999828 +Palestine,103,4.775000095 +Egypt,104,4.735000134 +Bulgaria,105,4.714000225 +Sierra Leone,106,4.709000111 +Cameroon,107,4.695000172 +Iran,108,4.691999912 +Albania,109,4.644000053 +Bangladesh,110,4.607999802 +Namibia,111,4.573999882 +Kenya,112,4.552999973 +Mozambique,113,4.550000191 +Myanmar,114,4.545000076 +Senegal,115,4.534999847 +Zambia,116,4.513999939 +Iraq,117,4.497000217 +Gabon,118,4.465000153 +Ethiopia,119,4.460000038 +Sri Lanka,120,4.440000057 +Armenia,121,4.375999928 +India,122,4.315000057 +Mauritania,123,4.291999817 +Congo (Republic),124,4.290999889 +Georgia,125,4.285999775 +Congo (DRC),126,4.28000021 +Mali,127,4.190000057 +Côte d'Ivoire,128,4.179999828 +Cambodia,129,4.168000221 +Sudan,130,4.138999939 +Ghana,131,4.119999886 +Ukraine,132,4.096000195 +Uganda,133,4.080999851 +Burkina Faso,134,4.032000065 +Niger,135,4.027999878 +Malawi,136,3.970000029 +Chad,137,3.936000109 +Zimbabwe,138,3.875 +Lesotho,139,3.808000088 +Angola,140,3.795000076 +Afghanistan,141,3.79399991 +Botswana,142,3.766000032 +Benin,143,3.657000065 +Madagascar,144,3.644000053 +Haiti,145,3.602999926 +Yemen,146,3.592999935 +South Sudan,147,3.59100008 +Liberia,148,3.532999992 +Guinea,149,3.506999969 +Togo,150,3.494999886 +Rwanda,151,3.470999956 +Syria,152,3.461999893 +Tanzania,153,3.348999977 +Burundi,154,2.904999971 +Central African Republic,155,2.693000078 diff --git a/lib/tasks/project_components/mapping_data_urban_rural_populations/main.py b/lib/tasks/project_components/mapping_data_urban_rural_populations/main.py new file mode 100644 index 00000000..1df927b1 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_urban_rural_populations/main.py @@ -0,0 +1,94 @@ +#!/bin/python3 +from p5 import * +from regions import get_region_coords + +def load_data(file_name): + global region_list + region_list = [] + + with open(file_name) as f: + for line in f: + #print(line) + info = line.split(',') + # Change the dictionary to match the data you're using + region_dict = { + 'name': info[0], + 'population': int(info[1]), + 'population density': float(info[2]), + 'median age': float(info[3]), + 'percentage urban': float(info[4]) + } + #print(region_dict) + region_list.append(region_dict) + +def draw_pin(x, y, colour): + no_stroke() + fill(colour) + rect(x, y, 7, 7) + + +def draw_data(): + global colours + colours = {} + red_value = 255 + + for region in region_list: + if answer == 'u' and region['percentage urban'] >= 50.0: + region_name = region['name'] + region_coords = get_region_coords(region_name) + region_x = region_coords['x'] + region_y = region_coords['y'] + region_colour = Color(red_value, 255, 0) + draw_pin(region_x, region_y, region_colour) + colours[region_colour] = region + red_value -= 1 + elif answer == 'r' and region['percentage urban'] < 50.0: + region_name = region['name'] + region_coords = get_region_coords(region_name) + region_x = region_coords['x'] + region_y = region_coords['y'] + region_colour = Color(red_value, 255, 0) + draw_pin(region_x, region_y, region_colour) + colours[region_colour] = region + red_value -= 1 + + +def setup(): +# Put code to run once here + global map + size(991, 768) + map = load_image('mercator_bw.png') + load_data('pop.csv') + #print(region_list) + + +def draw(): +# Put code to run every frame here + no_stroke() + image( + map, # The image to draw + 0, # The x of the top-left corner + 0, # The y of the top-left corner + width, # The width of the image + height # The height of the image + ) + draw_data() + +def mouse_pressed(): +# Put code to run when the mouse is pressed here + pixel_colour = Color(get(mouse_x, mouse_y)) + + if pixel_colour in colours: + info = colours[pixel_colour] + print(info['name']) + print('Population: ', str(info['population'])) + print('Population density: ', str(info['population density'])) + print('Average age: ', str(info['median age'])) + print('Percentage urban: ', str(info['percentage urban'])) + +answer = None + +while answer not in ['u', 'r']: + answer = input('Please enter u to see places that are mostly urban, or r to see places that are mostly rural.') + +run() diff --git a/lib/tasks/project_components/mapping_data_urban_rural_populations/mercator.jpeg b/lib/tasks/project_components/mapping_data_urban_rural_populations/mercator.jpeg new file mode 100644 index 00000000..c964a51d Binary files /dev/null and b/lib/tasks/project_components/mapping_data_urban_rural_populations/mercator.jpeg differ diff --git a/lib/tasks/project_components/mapping_data_urban_rural_populations/mercator_bw.png b/lib/tasks/project_components/mapping_data_urban_rural_populations/mercator_bw.png new file mode 100644 index 00000000..2123563e Binary files /dev/null and b/lib/tasks/project_components/mapping_data_urban_rural_populations/mercator_bw.png differ diff --git a/lib/tasks/project_components/mapping_data_urban_rural_populations/olympics.csv b/lib/tasks/project_components/mapping_data_urban_rural_populations/olympics.csv new file mode 100644 index 00000000..628cdc92 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_urban_rural_populations/olympics.csv @@ -0,0 +1,21 @@ +United States,4 +United Kingdom,3 +Greece,3 +France,2 +Germany,2 +Australia,2 +Russia,1 +Italy,1 +Sweden,1 +China,1 +Japan,2 +Finland,1 +Canada,1 +Netherlands,1 +South Korea,1 +Belgium,1 +Spain,1 +Brazil,1 +Sweden,1 +Belgium,1 +Mexico,1 diff --git a/lib/tasks/project_components/mapping_data_urban_rural_populations/pop.csv b/lib/tasks/project_components/mapping_data_urban_rural_populations/pop.csv new file mode 100644 index 00000000..2f35a02a --- /dev/null +++ b/lib/tasks/project_components/mapping_data_urban_rural_populations/pop.csv @@ -0,0 +1,184 @@ +Afghanistan,38928346,60,18,25 +Albania,2877797,105,36,63 +Algeria,43851044,18,29,73 +Andorra,77265,164,45,88 +Antigua and Barbuda,97929,223,34,26 +Argentina,45195774,17,32,93 +Armenia,2963243,104,35,63 +Aruba,106766,593,41,44 +Australia,25499884,3,38,86 +Austria,9006398,109,43,57 +Azerbaijan,10139177,123,32,56 +Bahamas,393244,39,32,86 +Bahrain,1701575,2239,32,89 +Bangladesh,164689383,1265,28,39 +Barbados,287375,668,40,31 +Belarus,9449323,47,40,79 +Belgium,11589623,383,42,98 +Belize,397628,17,24,46 +Benin,12123200,108,19,48 +Bhutan,771608,20,28,46 +Bolivia,11673021,11,26,69 +Bosnia and Herzegovina,3280819,64,43,52 +Brazil,212559417,25,33,88 +Brunei,437479,83,32,80 +Bulgaria,6948445,64,45,76 +Burkina Faso,20903273,76,18,31 +Cape Verde,554441,138,27.6,68 +Cambodia,16718965,95,26,24 +Cameroon,26545863,56,19,56 +Canada,37742154,4,41,81 +Central African Republic,37742154,8,18,43 +Chad,16302699,13,16.6,23.3 +Chile,19116201,26,35,85 +Hong Kong,7496981,7140,45,100 +China,1439323776,153,38,61 +Colombia,50882891,46,31,80 +Congo (Republic),5518087,16,19,70 +Congo (DRC),89561403,40,17,46 +Costa Rica,5094118,100,33,80 +Côte d'Ivoire,26378274,83,19,51 +Croatia,4105267,73,44,58 +Cuba,11326616,106,42,78 +Cyprus,1207359,131,37,67 +Czech Republic,10708981,139,43,74 +Denmark,5792202,137,42,88 +Djibouti,988000,43,27,79 +Dominica,71986,96,33.5,74 +Dominican Republic,10847910,225,28,85 +Ecuador,17643054,71,28,63 +Egypt,102334404,103,25,43 +El Salvador,6486205,313,27.6,73.4 +Equatorial Guinea,1402985,50,22,73 +Eritrea,3546421,35,19.2,63.3 +Estonia,1326535,31,42,68 +Swaziland,1160164,67,21,30 +Ethiopia,114963588,115,19,21 +Faroe Islands,48873,35,38,88 +Fiji,896445,49,27.9,59.1 +Finland,5540720,18,43,86 +France,65273511,119,42,82 +French Guiana,298682,4,25,87 +Gabon,2225734,9,23,87 +Gambia,2416668,239,18,59 +Georgia,3989167,57,38,58 +Germany,83783942,240,46,76 +Ghana,31072940,137,22,57 +Greece,10423054,81,46,85 +Grenada,112523,331,32,35.5 +Greenland,56770,0,34,87 +Guadeloupe,400124,237,44,96 +Guam,168775,313,31,95 +Guatemala,17915568,167,23,52 +Guernsey,70000,965,44,86 +Guinea,13132795,53,18,39 +Guinea-Bissau,1968001,70,18.8,44.9 +Guyana,786552,4,27,27 +Haiti,11402528,414,24,56.9 +Vatican City,801,2003,40,100 +Honduras,9904607,89,24,57 +Hungary,9660351,107,43,72 +Iceland,341243,3,37,94 +India,1380004385,464,28,35 +Indonesia,273523615,151,30,56 +Iran,83992949,52,32,76 +Iraq,40222493,93,21,73 +Ireland,4937786,72,38,63 +Israel,8655535,400,30,93 +Italy,60461826,206,47,69 +Jamaica,2961167,273,31,55 +Japan,126476461,347,48,92 +Jersey,106800,819,38,98 +Jordan,10203134,115,24,91 +Kazakhstan,18776707,7,31,58 +Kenya,53771296,94,20,28 +Kosovo,1810463,159,29,65 +Kuwait,4270571,240,37,92 +Kyrgyzstan,6524195,34,26,36 +Laos,7275560,32,24.4,35.7 +Latvia,1886198,30,44,69 +Lebanon,6825445,667,30,78 +Liberia,5057681,53,19,53 +Libya,6847352,4,28.8,78.2 +Liechtenstein,38128,109,41,15 +Lithuania,2722289,43,45,71 +Luxembourg,625978,242,40,88 +Madagascar,27691018,48,19.6,38.5 +Malaysia,32365999,99,30,78 +Maldives,540544,1802,30,35 +Mali,20250833,17,16.3,44 +Malta,441543,1380,43,93 +Martinique,375265,354,47,92 +Mauritania,4649658,5,20,57 +Mauritius,1271768,626,37,41 +Mayotte,272815,728,20,46 +Mexico,128932753,66,29,84 +Moldova,4033963,123,38,43 +Monaco,39242,26337,54,100 +Mongolia,3278290,2,28,67 +Montenegro,628066,47,39,68 +Morocco,36910560,83,30,64 +Mozambique,31255435,40,17.6,38.3 +Namibia,2540905,3,22,55 +Nepal,29136808,203,25,21 +Curaçao,164093,370,41.6,88.7 +Netherlands,17134872,508,43,92 +New Zealand,4822233,18,38,87 +Nicaragua,6624554,55,26.5,57.2 +Niger,24206644,19,15.2,16.5 +Nigeria,206139589,226,18,52 +Norway,5421241,15,40,83 +Oman,5106626,16,31,87 +Pakistan,220892340,287,23,35 +Panama,4314767,58,30,68 +Paraguay,7132538,18,26,62 +Peru,32971854,26,31,79 +Philippines,109581078,368,26,47 +Poland,37846611,124,42,60 +Portugal,10196709,111,46,66 +Puerto Rico,2860853,323,44,88 +Qatar,2881053,248,32,96 +Réunion,895312,358,36,100 +Romania,19237691,84,43,55 +Russia,145934462,9,40,74 +Rwanda,12952218,525,20,18 +St. Kitts and Nevis,53199,205,34.8,32.9 +St. Lucia,183627,301,34,19 +Saint Vincent and the Grenadines,115000,307,33,78 +San Marino,33931,566,47,97 +Saudi Arabia,34813871,16,32,84 +Senegal,16743927,87,19,49 +Serbia,8737371,100,42,56 +Seychelles,98347,214,34,56 +Singapore,5850342,8358,42,99 +Slovakia,5459642,114,41,54 +Slovenia,2078938,103,45,55 +Somalia,15893222,25,17,47 +South Africa,59308690,49,28,67 +South Korea,51269185,527,44,82 +Spain,46754778,94,45,80 +Sri Lanka,21413249,341,34,18 +Sudan,43849260,25,20,35 +Suriname,586632,4,29,65 +Sweden,10099265,25,41,88 +Switzerland,8654622,219,43,74 +Syria,17390388,95,25.6,60 +Taiwan,23816775,673,42,79 +Tanzania,59734218,67,18,37 +Thailand,69799978,137,40,51 +Timor-Leste,1318445,89,20.8,32.8 +Togo,8278724,152,19,43 +Trinidad and Tobago,1399488,273,36,52 +Tunisia,11818619,76,33,70 +Turkey,84339067,110,32,76 +United States,331002651,36,38,83 +Uganda,45741007,229,16.7,25.7 +Ukraine,43733762,75,41,69 +United Arab Emirates,9890402,118,33,86 +United Kingdom,67886011,281,40,83 +Uruguay,3473730,20,36,96 +Uzbekistan,33469203,79,28,50 +Venezuela,28435940,32,30,80 +Vietnam,97338579,314,32,38 +Zambia,18383955,25,18,45 +Zimbabwe,14862924,38,18.7,38.4 diff --git a/lib/tasks/project_components/mapping_data_urban_rural_populations/project_config.yml b/lib/tasks/project_components/mapping_data_urban_rural_populations/project_config.yml new file mode 100644 index 00000000..94b1581b --- /dev/null +++ b/lib/tasks/project_components/mapping_data_urban_rural_populations/project_config.yml @@ -0,0 +1,47 @@ +NAME: "Mapping Data: Urban and Rural Populations" +IDENTIFIER: "urban-rural-population" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "regions" + extension: "py" + location: "regions.py" + index: 1 + default: false + - name: "pop" + extension: "csv" + location: "pop.csv" + index: 2 + default: false + - name: "olympics" + extension: "csv" + location: "olympics.csv" + index: 3 + default: false + - name: "carbon" + extension: "csv" + location: "carbon.csv" + index: 4 + default: false + - name: "species" + extension: "csv" + location: "species.csv" + index: 5 + default: false + - name: "gdp" + extension: "csv" + location: "gdp.csv" + index: 6 + default: false + - name: "happy" + extension: "csv" + location: "happy.csv" + index: 7 + default: false + +IMAGES: + - "mercator.jpeg" + - "mercator_bw.png" diff --git a/lib/tasks/project_components/mapping_data_urban_rural_populations/regions.py b/lib/tasks/project_components/mapping_data_urban_rural_populations/regions.py new file mode 100644 index 00000000..b5e840fd --- /dev/null +++ b/lib/tasks/project_components/mapping_data_urban_rural_populations/regions.py @@ -0,0 +1,1548 @@ +#!/bin/python3 +from math import radians, pi, log, tan + +regions = { + 'Abkhazia': { + 'name': 'Abkhazia', + 'capital': 'Sukhumi', + 'latitude': 43.001525, + 'longitude': 41.023415 + }, + 'Afghanistan': { + 'name': 'Afghanistan', + 'capital': 'Kabul', + 'latitude': 34.575503, + 'longitude': 69.240073 + }, + 'Aland Islands': { + 'name': 'Aland Islands', + 'capital': 'Mariehamn', + 'latitude': 60.1, + 'longitude': 19.933333 + }, + 'Albania': { + 'name': 'Albania', + 'capital': 'Tirana', + 'latitude': 41.327546, + 'longitude': 19.818698 + }, + 'Algeria': { + 'name': 'Algeria', + 'capital': 'Algiers', + 'latitude': 36.752887, + 'longitude': 3.042048 + }, + 'American Samoa': { + 'name': 'American Samoa', + 'capital': 'Pago Pago', + 'latitude': -14.275632, + 'longitude': -170.702036 + }, + 'Andorra': { + 'name': 'Andorra', + 'capital': 'Andorra la Vella', + 'latitude': 42.506317, + 'longitude': 1.521835 + }, + 'Angola': { + 'name': 'Angola', + 'capital': 'Luanda', + 'latitude': -8.839988, + 'longitude': 13.289437 + }, + 'Anguilla': { + 'name': 'Anguilla', + 'capital': 'The Valley', + 'latitude': 18.214813, + 'longitude': -63.057441 + }, + 'Antarctica': { + 'name': 'Antarctica', + 'capital': 'South Pole', + 'latitude': -90.0, + 'longitude': 0.0 + }, + 'Antigua and Barbuda': { + 'name': 'Antigua and Barbuda', + 'capital': "St. John's", + 'latitude': 17.12741, + 'longitude': -61.846772 + }, + 'Argentina': { + 'name': 'Argentina', + 'capital': 'Buenos Aires', + 'latitude': -34.603684, + 'longitude': -58.381559 + }, + 'Armenia': { + 'name': 'Armenia', + 'capital': 'Yerevan', + 'latitude': 40.179186, + 'longitude': 44.499103 + }, + 'Aruba': { + 'name': 'Aruba', + 'capital': 'Oranjestad', + 'latitude': 12.509204, + 'longitude': -70.008631 + }, + 'Australia': { + 'name': 'Australia', + 'capital': 'Canberra', + 'latitude': -35.282, + 'longitude': 149.128684 + }, + 'Austria': { + 'name': 'Austria', + 'capital': 'Vienna', + 'latitude': 48.208174, + 'longitude': 16.373819 + }, + 'Azerbaijan': { + 'name': 'Azerbaijan', + 'capital': 'Baku', + 'latitude': 40.409262, + 'longitude': 49.867092 + }, + 'Bahamas': { + 'name': 'Bahamas', + 'capital': 'Nassau', + 'latitude': 25.047984, + 'longitude': -77.355413 + }, + 'Bahrain': { + 'name': 'Bahrain', + 'capital': 'Manama', + 'latitude': 26.228516, + 'longitude': 50.58605 + }, + 'Bangladesh': { + 'name': 'Bangladesh', + 'capital': 'Dhaka', + 'latitude': 23.810332, + 'longitude': 90.412518 + }, + 'Barbados': { + 'name': 'Barbados', + 'capital': 'Bridgetown', + 'latitude': 13.113222, + 'longitude': -59.598809 + }, + 'Belarus': { + 'name': 'Belarus', + 'capital': 'Minsk', + 'latitude': 53.90454, + 'longitude': 27.561524 + }, + 'Belgium': { + 'name': 'Belgium', + 'capital': 'Brussels', + 'latitude': 50.85034, + 'longitude': 4.35171 + }, + 'Belize': { + 'name': 'Belize', + 'capital': 'Belmopan', + 'latitude': 17.251011, + 'longitude': -88.75902 + }, + 'Benin': { + 'name': 'Benin', + 'capital': 'Porto-Novo', + 'latitude': 6.496857, + 'longitude': 2.628852 + }, + 'Bermuda': { + 'name': 'Bermuda', + 'capital': 'Hamilton', + 'latitude': 32.294816, + 'longitude': -64.781375 + }, + 'Bhutan': { + 'name': 'Bhutan', + 'capital': 'Thimphu', + 'latitude': 27.472792, + 'longitude': 89.639286 + }, + 'Bolivia': { + 'name': 'Bolivia', + 'capital': 'La Paz', + 'latitude': -16.489689, + 'longitude': -68.119294 + }, + 'Bosnia and Herzegovina': { + 'name': 'Bosnia and Herzegovina', + 'capital': 'Sarajevo', + 'latitude': 43.856259, + 'longitude': 18.413076 + }, + 'Botswana': { + 'name': 'Botswana', + 'capital': 'Gaborone', + 'latitude': -24.628208, + 'longitude': 25.923147 + }, + 'Bouvet Island': { + 'name': 'Bouvet Island', + 'capital': 'Bouvet Island', + 'latitude': -54.43, + 'longitude': 3.38 + }, + 'Brazil': { + 'name': 'Brazil', + 'capital': 'Brasília', + 'latitude': -15.794229, + 'longitude': -47.882166 + }, + 'British Indian Ocean Territory': { + 'name': 'British Indian Ocean Territory', + 'capital': 'Camp Justice', + 'latitude': 21.3419, + 'longitude': 55.4778 + }, + 'British Virgin Islands': { + 'name': 'British Virgin Islands', + 'capital': 'Road Town', + 'latitude': 18.428612, + 'longitude': -64.618466 + }, + 'Brunei': { + 'name': 'Brunei', + 'capital': 'Bandar Seri Begawan', + 'latitude': 4.903052, + 'longitude': 114.939821 + }, + 'Bulgaria': { + 'name': 'Bulgaria', + 'capital': 'Sofia', + 'latitude': 42.697708, + 'longitude': 23.321868 + }, + 'Burkina Faso': { + 'name': 'Burkina Faso', + 'capital': 'Ouagadougou', + 'latitude': 12.371428, + 'longitude': -1.51966 + }, + 'Burundi': { + 'name': 'Burundi', + 'capital': 'Bujumbura', + 'latitude': -3.361378, + 'longitude': 29.359878 + }, + 'Cambodia': { + 'name': 'Cambodia', + 'capital': 'Phnom Penh', + 'latitude': 11.544873, + 'longitude': 104.892167 + }, + 'Cameroon': { + 'name': 'Cameroon', + 'capital': 'Yaoundé', + 'latitude': 3.848033, + 'longitude': 11.502075 + }, + 'Canada': { + 'name': 'Canada', + 'capital': 'Ottawa', + 'latitude': 45.42153, + 'longitude': -75.697193 + }, + 'Cape Verde': { + 'name': 'Cape Verde', + 'capital': 'Praia', + 'latitude': 14.93305, + 'longitude': -23.513327 + }, + 'Cayman Islands': { + 'name': 'Cayman Islands', + 'capital': 'George Town', + 'latitude': 19.286932, + 'longitude': -81.367439 + }, + 'Central African Republic': { + 'name': 'Central African Republic', + 'capital': 'Bangui', + 'latitude': 4.394674, + 'longitude': 18.55819 + }, + 'Chad': { + 'name': 'Chad', + 'capital': "N'Djamena", + 'latitude': 12.134846, + 'longitude': 15.055742 + }, + 'Chile': { + 'name': 'Chile', + 'capital': 'Santiago', + 'latitude': -33.44889, + 'longitude': -70.669265 + }, + 'China': { + 'name': 'China', + 'capital': 'Beijing', + 'latitude': 39.904211, + 'longitude': 116.407395 + }, + 'Christmas Island': { + 'name': 'Christmas Island', + 'capital': 'Flying Fish Cove', + 'latitude': -10.420686, + 'longitude': 105.679379 + }, + 'Cocos (Keeling) Islands': { + 'name': 'Cocos (Keeling) Islands', + 'capital': 'West Island', + 'latitude': -12.188834, + 'longitude': 96.829316 + }, + 'Colombia': { + 'name': 'Colombia', + 'capital': 'Bogotá', + 'latitude': 4.710989, + 'longitude': -74.072092 + }, + 'Comoros': { + 'name': 'Comoros', + 'capital': 'Moroni', + 'latitude': -11.717216, + 'longitude': 43.247315 + }, + 'Congo (DRC)': { + 'name': 'Congo (DRC)', + 'capital': 'Kinshasa', + 'latitude': -4.441931, + 'longitude': 15.266293 + }, + 'Congo (Republic)': { + 'name': 'Congo (Republic)', + 'capital': 'Brazzaville', + 'latitude': -4.26336, + 'longitude': 15.242885 + }, + 'Cook Islands': { + 'name': 'Cook Islands', + 'capital': 'Avarua', + 'latitude': -21.212901, + 'longitude': -159.782306 + }, + 'Costa Rica': { + 'name': 'Costa Rica', + 'capital': 'San José', + 'latitude': 9.928069, + 'longitude': -84.090725 + }, + "Côte d'Ivoire": { + 'name': "Côte d'Ivoire", + 'capital': 'Yamoussoukro', + 'latitude': 6.827623, + 'longitude': -5.289343 + }, + 'Croatia': { + 'name': 'Croatia', + 'capital': 'Zagreb ', + 'latitude': 45.815011, + 'longitude': 15.981919 + }, + 'Cuba': { + 'name': 'Cuba', + 'capital': 'Havana', + 'latitude': 23.05407, + 'longitude': -82.345189 + }, + 'Curaçao': { + 'name': 'Curaçao', + 'capital': 'Willemstad', + 'latitude': 12.122422, + 'longitude': -68.882423 + }, + 'Cyprus': { + 'name': 'Cyprus', + 'capital': 'Nicosia', + 'latitude': 35.185566, + 'longitude': 33.382276 + }, + 'Czech Republic': { + 'name': 'Czech Republic', + 'capital': 'Prague', + 'latitude': 50.075538, + 'longitude': 14.4378 + }, + 'Denmark': { + 'name': 'Denmark', + 'capital': 'Copenhagen', + 'latitude': 55.676097, + 'longitude': 12.568337 + }, + 'Djibouti': { + 'name': 'Djibouti', + 'capital': 'Djibouti', + 'latitude': 11.572077, + 'longitude': 43.145647 + }, + 'Dominica': { + 'name': 'Dominica', + 'capital': 'Roseau', + 'latitude': 15.309168, + 'longitude': -61.379355 + }, + 'Dominican Republic': { + 'name': 'Dominican Republic', + 'capital': 'Santo Domingo', + 'latitude': 18.486058, + 'longitude': -69.931212 + }, + 'Ecuador': { + 'name': 'Ecuador', + 'capital': 'Quito', + 'latitude': -0.180653, + 'longitude': -78.467838 + }, + 'Egypt': { + 'name': 'Egypt', + 'capital': 'Cairo', + 'latitude': 30.04442, + 'longitude': 31.235712 + }, + 'El Salvador': { + 'name': 'El Salvador', + 'capital': 'San Salvador', + 'latitude': 13.69294, + 'longitude': -89.218191 + }, + 'Equatorial Guinea': { + 'name': 'Equatorial Guinea', + 'capital': 'Malabo', + 'latitude': 3.750412, + 'longitude': 8.737104 + }, + 'Eritrea': { + 'name': 'Eritrea', + 'capital': 'Asmara', + 'latitude': 15.322877, + 'longitude': 38.925052 + }, + 'Estonia': { + 'name': 'Estonia', + 'capital': 'Tallinn', + 'latitude': 59.436961, + 'longitude': 24.753575 + }, + 'Ethiopia': { + 'name': 'Ethiopia', + 'capital': 'Addis Ababa', + 'latitude': 8.980603, + 'longitude': 38.757761 + }, + 'Falkland Islands (Islas Malvinas)': { + 'name': 'Falkland Islands (Islas Malvinas)', + 'capital': 'Stanley', + 'latitude': -51.697713, + 'longitude': -57.851663 + }, + 'Faroe Islands': { + 'name': 'Faroe Islands', + 'capital': 'Tórshavn', + 'latitude': 62.007864, + 'longitude': -6.790982 + }, + 'Fiji': { + 'name': 'Fiji', + 'capital': 'Suva', + 'latitude': -18.124809, + 'longitude': 178.450079 + }, + 'Finland': { + 'name': 'Finland', + 'capital': 'Helsinki', + 'latitude': 60.173324, + 'longitude': 24.941025 + }, + 'France': { + 'name': 'France', + 'capital': 'Paris', + 'latitude': 48.856614, + 'longitude': 2.352222 + }, + 'French Guiana': { + 'name': 'French Guiana', + 'capital': 'Cayenne', + 'latitude': 4.92242, + 'longitude': -52.313453 + }, + 'French Polynesia': { + 'name': 'French Polynesia', + 'capital': 'Papeete', + 'latitude': -17.551625, + 'longitude': -149.558476 + }, + 'French Southern Territories': { + 'name': 'French Southern Territories', + 'capital': 'Saint-Pierre ', + 'latitude': -21.3419, + 'longitude': 55.4778 + }, + 'Gabon': { + 'name': 'Gabon', + 'capital': 'Libreville', + 'latitude': 0.416198, + 'longitude': 9.467268 + }, + 'Gambia': { + 'name': 'Gambia', + 'capital': 'Banjul', + 'latitude': 13.454876, + 'longitude': -16.579032 + }, + 'Georgia': { + 'name': 'Georgia', + 'capital': 'Tbilisi', + 'latitude': 41.715138, + 'longitude': 44.827096 + }, + 'Germany': { + 'name': 'Germany', + 'capital': 'Berlin', + 'latitude': 52.520007, + 'longitude': 13.404954 + }, + 'Ghana': { + 'name': 'Ghana', + 'capital': 'Accra', + 'latitude': 5.603717, + 'longitude': -0.186964 + }, + 'Gibraltar': { + 'name': 'Gibraltar', + 'capital': 'Gibraltar', + 'latitude': 36.140773, + 'longitude': -5.353599 + }, + 'Greece': { + 'name': 'Greece', + 'capital': 'Athens', + 'latitude': 37.983917, + 'longitude': 23.72936 + }, + 'Greenland': { + 'name': 'Greenland', + 'capital': 'Nuuk', + 'latitude': 64.18141, + 'longitude': -51.694138 + }, + 'Grenada': { + 'name': 'Grenada', + 'capital': "St. George's", + 'latitude': 12.056098, + 'longitude': -61.7488 + }, + 'Guadeloupe': { + 'name': 'Guadeloupe', + 'capital': 'Basse-Terre', + 'latitude': 16.014453, + 'longitude': -61.706411 + }, + 'Guam': { + 'name': 'Guam', + 'capital': 'Hagåtña', + 'latitude': 13.470891, + 'longitude': 144.751278 + }, + 'Guatemala': { + 'name': 'Guatemala', + 'capital': 'Guatemala City', + 'latitude': 14.634915, + 'longitude': -90.506882 + }, + 'Guernsey': { + 'name': 'Guernsey', + 'capital': 'St. Peter Port', + 'latitude': 49.455443, + 'longitude': -2.536871 + }, + 'Guinea': { + 'name': 'Guinea', + 'capital': 'Conakry', + 'latitude': 9.641185, + 'longitude': -13.578401 + }, + 'Guinea-Bissau': { + 'name': 'Guinea-Bissau', + 'capital': 'Bissau', + 'latitude': 11.881655, + 'longitude': -15.617794 + }, + 'Guyana': { + 'name': 'Guyana', + 'capital': 'Georgetown', + 'latitude': 6.801279, + 'longitude': -58.155125 + }, + 'Haiti': { + 'name': 'Haiti', + 'capital': 'Port-au-Prince', + 'latitude': 18.594395, + 'longitude': -72.307433 + }, + 'Honduras': { + 'name': 'Honduras', + 'capital': 'Tegucigalpa', + 'latitude': 14.072275, + 'longitude': -87.192136 + }, + 'Hong Kong': { + 'name': 'Hong Kong', + 'capital': 'Hong Kong', + 'latitude': 22.396428, + 'longitude': 114.109497 + }, + 'Hungary': { + 'name': 'Hungary', + 'capital': 'Budapest', + 'latitude': 47.497912, + 'longitude': 19.040235 + }, + 'Iceland': { + 'name': 'Iceland', + 'capital': 'Reykjavík', + 'latitude': 64.126521, + 'longitude': -21.817439 + }, + 'India': { + 'name': 'India', + 'capital': 'New Delhi', + 'latitude': 28.613939, + 'longitude': 77.209021 + }, + 'Indonesia': { + 'name': 'Indonesia', + 'capital': 'Jakarta', + 'latitude': -6.208763, + 'longitude': 106.845599 + }, + 'Iran': { + 'name': 'Iran', + 'capital': 'Tehran', + 'latitude': 35.689198, + 'longitude': 51.388974 + }, + 'Iraq': { + 'name': 'Iraq', + 'capital': 'Baghdad', + 'latitude': 33.312806, + 'longitude': 44.361488 + }, + 'Ireland': { + 'name': 'Ireland', + 'capital': 'Dublin', + 'latitude': 53.349805, + 'longitude': -6.26031 + }, + 'Isle of Man': { + 'name': 'Isle of Man', + 'capital': 'Douglas', + 'latitude': 54.152337, + 'longitude': -4.486123 + }, + 'Israel': { + 'name': 'Israel', + 'capital': 'Tel Aviv', + 'latitude': 32.0853, + 'longitude': 34.781768 + }, + 'Italy': { + 'name': 'Italy', + 'capital': 'Rome', + 'latitude': 41.902784, + 'longitude': 12.496366 + }, + 'Jamaica': { + 'name': 'Jamaica', + 'capital': 'Kingston', + 'latitude': 18.042327, + 'longitude': -76.802893 + }, + 'Japan': { + 'name': 'Japan', + 'capital': 'Tokyo', + 'latitude': 35.709026, + 'longitude': 139.731992 + }, + 'Jersey': { + 'name': 'Jersey', + 'capital': 'St. Helier', + 'latitude': 49.186823, + 'longitude': -2.106568 + }, + 'Jordan': { + 'name': 'Jordan', + 'capital': 'Amman', + 'latitude': 31.956578, + 'longitude': 35.945695 + }, + 'Kazakhstan': { + 'name': 'Kazakhstan', + 'capital': 'Astana', + 'latitude': 51.160523, + 'longitude': 71.470356 + }, + 'Kenya': { + 'name': 'Kenya', + 'capital': 'Nairobi', + 'latitude': -1.292066, + 'longitude': 36.821946 + }, + 'Kiribati': { + 'name': 'Kiribati', + 'capital': 'Tarawa Atoll', + 'latitude': 1.451817, + 'longitude': 172.971662 + }, + 'Kosovo': { + 'name': 'Kosovo', + 'capital': 'Pristina', + 'latitude': 42.662914, + 'longitude': 21.165503 + }, + 'Kuwait': { + 'name': 'Kuwait', + 'capital': 'Kuwait City', + 'latitude': 29.375859, + 'longitude': 47.977405 + }, + 'Kyrgyzstan': { + 'name': 'Kyrgyzstan', + 'capital': 'Bishkek', + 'latitude': 42.874621, + 'longitude': 74.569762 + }, + 'Laos': { + 'name': 'Laos', + 'capital': 'Vientiane', + 'latitude': 17.975706, + 'longitude': 102.633104 + }, + 'Latvia': { + 'name': 'Latvia', + 'capital': 'Riga', + 'latitude': 56.949649, + 'longitude': 24.105186 + }, + 'Lebanon': { + 'name': 'Lebanon', + 'capital': 'Beirut', + 'latitude': 33.888629, + 'longitude': 35.495479 + }, + 'Lesotho': { + 'name': 'Lesotho', + 'capital': 'Maseru', + 'latitude': -29.363219, + 'longitude': 27.51436 + }, + 'Liberia': { + 'name': 'Liberia', + 'capital': 'Monrovia', + 'latitude': 6.290743, + 'longitude': -10.760524 + }, + 'Libya': { + 'name': 'Libya', + 'capital': 'Tripoli', + 'latitude': 32.887209, + 'longitude': 13.191338 + }, + 'Liechtenstein': { + 'name': 'Liechtenstein', + 'capital': 'Vaduz', + 'latitude': 47.14103, + 'longitude': 9.520928 + }, + 'Lithuania': { + 'name': 'Lithuania', + 'capital': 'Vilnius', + 'latitude': 54.687156, + 'longitude': 25.279651 + }, + 'Luxembourg': { + 'name': 'Luxembourg', + 'capital': 'Luxembourg', + 'latitude': 49.611621, + 'longitude': 6.131935 + }, + 'Macau': { + 'name': 'Macau', + 'capital': 'Macau', + 'latitude': 22.166667, + 'longitude': 113.55 + }, + 'Macedonia': { + 'name': 'Macedonia', + 'capital': 'Skopje', + 'latitude': 41.997346, + 'longitude': 21.427996 + }, + 'Madagascar': { + 'name': 'Madagascar', + 'capital': 'Antananarivo', + 'latitude': -18.87919, + 'longitude': 47.507905 + }, + 'Malawi': { + 'name': 'Malawi', + 'capital': 'Lilongwe', + 'latitude': -13.962612, + 'longitude': 33.774119 + }, + 'Malaysia': { + 'name': 'Malaysia', + 'capital': 'Kuala Lumpur', + 'latitude': 3.139003, + 'longitude': 101.686855 + }, + 'Maldives': { + 'name': 'Maldives', + 'capital': 'Malé', + 'latitude': 4.175496, + 'longitude': 73.509347 + }, + 'Mali': { + 'name': 'Mali', + 'capital': 'Bamako', + 'latitude': 12.639232, + 'longitude': -8.002889 + }, + 'Malta': { + 'name': 'Malta', + 'capital': 'Valletta', + 'latitude': 35.898909, + 'longitude': 14.514553 + }, + 'Marshall Islands': { + 'name': 'Marshall Islands', + 'capital': 'Majuro', + 'latitude': 7.116421, + 'longitude': 171.185774 + }, + 'Martinique': { + 'name': 'Martinique', + 'capital': 'Fort-de-France', + 'latitude': 14.616065, + 'longitude': -61.05878 + }, + 'Mauritania': { + 'name': 'Mauritania', + 'capital': 'Nouakchott', + 'latitude': 18.07353, + 'longitude': -15.958237 + }, + 'Mauritius': { + 'name': 'Mauritius', + 'capital': 'Port Louis', + 'latitude': -20.166896, + 'longitude': 57.502332 + }, + 'Mayotte': { + 'name': 'Mayotte', + 'capital': 'Mamoudzou', + 'latitude': -12.780949, + 'longitude': 45.227872 + }, + 'Mexico': { + 'name': 'Mexico', + 'capital': 'Mexico City', + 'latitude': 19.432608, + 'longitude': -99.133208 + }, + 'Micronesia': { + 'name': 'Micronesia', + 'capital': 'Palikir', + 'latitude': 6.914712, + 'longitude': 158.161027 + }, + 'Moldova': { + 'name': 'Moldova', + 'capital': 'Chisinau', + 'latitude': 47.010453, + 'longitude': 28.86381 + }, + 'Monaco': { + 'name': 'Monaco', + 'capital': 'Monaco', + 'latitude': 43.737411, + 'longitude': 7.420816 + }, + 'Mongolia': { + 'name': 'Mongolia', + 'capital': 'Ulaanbaatar', + 'latitude': 47.886399, + 'longitude': 106.905744 + }, + 'Montenegro': { + 'name': 'Montenegro', + 'capital': 'Podgorica', + 'latitude': 42.43042, + 'longitude': 19.259364 + }, + 'Montserrat': { + 'name': 'Montserrat', + 'capital': 'Plymouth', + 'latitude': 16.706523, + 'longitude': -62.215738 + }, + 'Morocco': { + 'name': 'Morocco', + 'capital': 'Rabat', + 'latitude': 33.97159, + 'longitude': -6.849813 + }, + 'Mozambique': { + 'name': 'Mozambique', + 'capital': 'Maputo', + 'latitude': -25.891968, + 'longitude': 32.605135 + }, + 'Myanmar': { + 'name': 'Myanmar', + 'capital': 'Naypyidaw', + 'latitude': 19.763306, + 'longitude': 96.07851 + }, + 'Nagorno-Karabakh Republic': { + 'name': 'Nagorno-Karabakh Republic', + 'capital': 'Stepanakert', + 'latitude': 39.826385, + 'longitude': 46.763595 + }, + 'Namibia': { + 'name': 'Namibia', + 'capital': 'Windhoek', + 'latitude': -22.560881, + 'longitude': 17.065755 + }, + 'Nauru': { + 'name': 'Nauru', + 'capital': 'Yaren', + 'latitude': -0.546686, + 'longitude': 166.921091 + }, + 'Nepal': { + 'name': 'Nepal', + 'capital': 'Kathmandu', + 'latitude': 27.717245, + 'longitude': 85.323961 + }, + 'Netherlands': { + 'name': 'Netherlands', + 'capital': 'Amsterdam', + 'latitude': 52.370216, + 'longitude': 4.895168 + }, + 'Netherlands Antilles': { + 'name': 'Netherlands Antilles', + 'capital': 'Willemstad ', + 'latitude': 12.1091242, + 'longitude': -68.9316546 + }, + 'New Caledonia': { + 'name': 'New Caledonia', + 'capital': 'Nouméa', + 'latitude': -22.255823, + 'longitude': 166.450524 + }, + 'New Zealand': { + 'name': 'New Zealand', + 'capital': 'Wellington', + 'latitude': -41.28646, + 'longitude': 174.776236 + }, + 'Nicaragua': { + 'name': 'Nicaragua', + 'capital': 'Managua', + 'latitude': 12.114993, + 'longitude': -86.236174 + }, + 'Niger': { + 'name': 'Niger', + 'capital': 'Niamey', + 'latitude': 13.511596, + 'longitude': 2.125385 + }, + 'Nigeria': { + 'name': 'Nigeria', + 'capital': 'Abuja', + 'latitude': 9.076479, + 'longitude': 7.398574 + }, + 'Niue': { + 'name': 'Niue', + 'capital': 'Alofi', + 'latitude': -19.055371, + 'longitude': -169.917871 + }, + 'Norfolk Island': { + 'name': 'Norfolk Island', + 'capital': 'Kingston', + 'latitude': -29.056394, + 'longitude': 167.959588 + }, + 'North Korea': { + 'name': 'North Korea', + 'capital': 'Pyongyang', + 'latitude': 39.039219, + 'longitude': 125.762524 + }, + 'Northern Cyprus': { + 'name': 'Northern Cyprus', + 'capital': 'Nicosia', + 'latitude': 35.185566, + 'longitude': 33.382276 + }, + 'Northern Mariana Islands': { + 'name': 'Northern Mariana Islands', + 'capital': 'Saipan', + 'latitude': 15.177801, + 'longitude': 145.750967 + }, + 'Norway': { + 'name': 'Norway', + 'capital': 'Oslo', + 'latitude': 59.913869, + 'longitude': 10.752245 + }, + 'Oman': { + 'name': 'Oman', + 'capital': 'Muscat', + 'latitude': 23.58589, + 'longitude': 58.405923 + }, + 'Pakistan': { + 'name': 'Pakistan', + 'capital': 'Islamabad', + 'latitude': 33.729388, + 'longitude': 73.093146 + }, + 'Palau': { + 'name': 'Palau', + 'capital': 'Ngerulmud', + 'latitude': 7.500384, + 'longitude': 134.624289 + }, + 'Palestine': { + 'name': 'Palestine', + 'capital': 'Ramallah', + 'latitude': 31.9073509, + 'longitude': 35.5354719 + }, + 'Panama': { + 'name': 'Panama', + 'capital': 'Panama City', + 'latitude': 9.101179, + 'longitude': -79.402864 + }, + 'Papua New Guinea': { + 'name': 'Papua New Guinea', + 'capital': 'Port Moresby', + 'latitude': -9.4438, + 'longitude': 147.180267 + }, + 'Paraguay': { + 'name': 'Paraguay', + 'capital': 'Asuncion', + 'latitude': -25.26374, + 'longitude': -57.575926 + }, + 'Peru': { + 'name': 'Peru', + 'capital': 'Lima', + 'latitude': -12.046374, + 'longitude': -77.042793 + }, + 'Philippines': { + 'name': 'Philippines', + 'capital': 'Manila', + 'latitude': 14.599512, + 'longitude': 120.98422 + }, + 'Pitcairn Islands': { + 'name': 'Pitcairn Islands', + 'capital': 'Adamstown', + 'latitude': -25.06629, + 'longitude': -130.100464 + }, + 'Poland': { + 'name': 'Poland', + 'capital': 'Warsaw', + 'latitude': 52.229676, + 'longitude': 21.012229 + }, + 'Portugal': { + 'name': 'Portugal', + 'capital': 'Lisbon', + 'latitude': 38.722252, + 'longitude': -9.139337 + }, + 'Puerto Rico': { + 'name': 'Puerto Rico', + 'capital': 'San Juan', + 'latitude': 18.466334, + 'longitude': -66.105722 + }, + 'Qatar': { + 'name': 'Qatar', + 'capital': 'Doha', + 'latitude': 25.285447, + 'longitude': 51.53104 + }, + 'Réunion': { + 'name': 'Réunion', + 'capital': 'Saint-Denis', + 'latitude': -20.882057, + 'longitude': 55.450675 + }, + 'Romania': { + 'name': 'Romania', + 'capital': 'Bucharest', + 'latitude': 44.426767, + 'longitude': 26.102538 + }, + 'Russia': { + 'name': 'Russia', + 'capital': 'Moscow', + 'latitude': 55.755826, + 'longitude': 37.6173 + }, + 'Rwanda': { + 'name': 'Rwanda', + 'capital': 'Kigali', + 'latitude': -1.957875, + 'longitude': 30.112735 + }, + 'Saint Pierre and Miquelon': { + 'name': 'Saint Pierre and Miquelon', + 'capital': 'St. Pierre', + 'latitude': 46.775846, + 'longitude': -56.180636 + }, + 'Saint Vincent and the Grenadines': { + 'name': 'Saint Vincent and the Grenadines', + 'capital': 'Kingstown', + 'latitude': 13.160025, + 'longitude': -61.224816 + }, + 'Samoa': { + 'name': 'Samoa', + 'capital': 'Apia', + 'latitude': -13.850696, + 'longitude': -171.751355 + }, + 'San Marino': { + 'name': 'San Marino', + 'capital': 'San Marino', + 'latitude': 43.935591, + 'longitude': 12.447281 + }, + 'São Tomé and Príncipe': { + 'name': 'São Tomé and Príncipe', + 'capital': 'São Tomé', + 'latitude': 0.330192, + 'longitude': 6.733343 + }, + 'Saudi Arabia': { + 'name': 'Saudi Arabia', + 'capital': 'Riyadh', + 'latitude': 24.749403, + 'longitude': 46.902838 + }, + 'Senegal': { + 'name': 'Senegal', + 'capital': 'Dakar', + 'latitude': 14.764504, + 'longitude': -17.366029 + }, + 'Serbia': { + 'name': 'Serbia', + 'capital': 'Belgrade', + 'latitude': 44.786568, + 'longitude': 20.448922 + }, + 'Seychelles': { + 'name': 'Seychelles', + 'capital': 'Victoria', + 'latitude': -4.619143, + 'longitude': 55.451315 + }, + 'Sierra Leone': { + 'name': 'Sierra Leone', + 'capital': 'Freetown', + 'latitude': 8.465677, + 'longitude': -13.231722 + }, + 'Singapore': { + 'name': 'Singapore', + 'capital': 'Singapore', + 'latitude': 1.280095, + 'longitude': 103.850949 + }, + 'Slovakia': { + 'name': 'Slovakia', + 'capital': 'Bratislava', + 'latitude': 48.145892, + 'longitude': 17.107137 + }, + 'Slovenia': { + 'name': 'Slovenia', + 'capital': 'Ljubljana', + 'latitude': 46.056947, + 'longitude': 14.505751 + }, + 'Solomon Islands': { + 'name': 'Solomon Islands', + 'capital': 'Honiara', + 'latitude': -9.445638, + 'longitude': 159.9729 + }, + 'Somalia': { + 'name': 'Somalia', + 'capital': 'Mogadishu', + 'latitude': 2.046934, + 'longitude': 45.318162 + }, + 'South Africa': { + 'name': 'South Africa', + 'capital': 'Pretoria', + 'latitude': -25.747868, + 'longitude': 28.229271 + }, + 'South Georgia and the South Sandwich Islands': { + 'name': 'South Georgia and the South Sandwich Islands', + 'capital': 'King Edward Point', + 'latitude': -54.28325, + 'longitude': -36.493735 + }, + 'South Korea': { + 'name': 'South Korea', + 'capital': 'Seoul', + 'latitude': 37.566535, + 'longitude': 126.977969 + }, + 'South Ossetia': { + 'name': 'South Ossetia', + 'capital': 'Tskhinvali', + 'latitude': 42.22146, + 'longitude': 43.964405 + }, + 'South Sudan': { + 'name': 'South Sudan', + 'capital': 'Juba', + 'latitude': 4.859363, + 'longitude': 31.57125 + }, + 'Spain': { + 'name': 'Spain', + 'capital': 'Madrid', + 'latitude': 40.416775, + 'longitude': -3.70379 + }, + 'Sri Lanka': { + 'name': 'Sri Lanka', + 'capital': 'Sri Jayawardenepura Kotte', + 'latitude': 6.89407, + 'longitude': 79.902478 + }, + 'St. Barthélemy': { + 'name': 'St. Barthélemy', + 'capital': 'Gustavia', + 'latitude': 17.896435, + 'longitude': -62.852201 + }, + 'St. Kitts and Nevis': { + 'name': 'St. Kitts and Nevis', + 'capital': 'Basseterre', + 'latitude': 17.302606, + 'longitude': -62.717692 + }, + 'St. Lucia': { + 'name': 'St. Lucia', + 'capital': 'Castries', + 'latitude': 14.010109, + 'longitude': -60.987469 + }, + 'St. Martin': { + 'name': 'St. Martin', + 'capital': 'Marigot', + 'latitude': 18.067519, + 'longitude': -63.082466 + }, + 'Sudan': { + 'name': 'Sudan', + 'capital': 'Khartoum', + 'latitude': 15.500654, + 'longitude': 32.559899 + }, + 'Suriname': { + 'name': 'Suriname', + 'capital': 'Paramaribo', + 'latitude': 5.852036, + 'longitude': -55.203828 + }, + 'Svalbard and Jan Mayen': { + 'name': 'Svalbard and Jan Mayen', + 'capital': 'Longyearbyen ', + 'latitude': 78.062, + 'longitude': 22.055 + }, + 'Swaziland': { + 'name': 'Swaziland', + 'capital': 'Mbabane', + 'latitude': -26.305448, + 'longitude': 31.136672 + }, + 'Sweden': { + 'name': 'Sweden', + 'capital': 'Stockholm', + 'latitude': 59.329323, + 'longitude': 18.068581 + }, + 'Switzerland': { + 'name': 'Switzerland', + 'capital': 'Bern', + 'latitude': 46.947974, + 'longitude': 7.447447 + }, + 'Syria': { + 'name': 'Syria', + 'capital': 'Damascus', + 'latitude': 33.513807, + 'longitude': 36.276528 + }, + 'Taiwan': { + 'name': 'Taiwan', + 'capital': 'Taipei', + 'latitude': 25.032969, + 'longitude': 121.565418 + }, + 'Tajikistan': { + 'name': 'Tajikistan', + 'capital': 'Dushanbe', + 'latitude': 38.559772, + 'longitude': 68.787038 + }, + 'Tanzania': { + 'name': 'Tanzania', + 'capital': 'Dodoma', + 'latitude': -6.162959, + 'longitude': 35.751607 + }, + 'Thailand': { + 'name': 'Thailand', + 'capital': 'Bangkok', + 'latitude': 13.756331, + 'longitude': 100.501765 + }, + 'Timor-Leste': { + 'name': 'Timor-Leste', + 'capital': 'Dili', + 'latitude': -8.556856, + 'longitude': 125.560314 + }, + 'Togo': { + 'name': 'Togo', + 'capital': 'Lomé', + 'latitude': 6.172497, + 'longitude': 1.231362 + }, + 'Tokelau': { + 'name': 'Tokelau', + 'capital': 'Nukunonu', + 'latitude': -9.2005, + 'longitude': -171.848 + }, + 'Tonga': { + 'name': 'Tonga', + 'capital': 'Nukuʻalofa', + 'latitude': -21.139342, + 'longitude': -175.204947 + }, + 'Transnistria': { + 'name': 'Transnistria', + 'capital': 'Tiraspol', + 'latitude': 46.848185, + 'longitude': 29.596805 + }, + 'Trinidad and Tobago': { + 'name': 'Trinidad and Tobago', + 'capital': 'Port of Spain', + 'latitude': 10.654901, + 'longitude': -61.501926 + }, + 'Tristan da Cunha': { + 'name': 'Tristan da Cunha', + 'capital': 'Edinburgh of the Seven Seas', + 'latitude': -37.068042, + 'longitude': -12.311315 + }, + 'Tunisia': { + 'name': 'Tunisia', + 'capital': 'Tunis', + 'latitude': 36.806495, + 'longitude': 10.181532 + }, + 'Turkey': { + 'name': 'Turkey', + 'capital': 'Ankara', + 'latitude': 39.933364, + 'longitude': 32.859742 + }, + 'Turkmenistan': { + 'name': 'Turkmenistan', + 'capital': 'Ashgabat', + 'latitude': 37.960077, + 'longitude': 58.326063 + }, + 'Turks and Caicos Islands': { + 'name': 'Turks and Caicos Islands', + 'capital': 'Cockburn Town', + 'latitude': 21.467458, + 'longitude': -71.13891 + }, + 'Tuvalu': { + 'name': 'Tuvalu', + 'capital': 'Funafuti', + 'latitude': -8.520066, + 'longitude': 179.198128 + }, + 'U.S. Virgin Islands': { + 'name': 'U.S. Virgin Islands', + 'capital': 'Charlotte Amalie', + 'latitude': 18.3419, + 'longitude': -64.930701 + }, + 'Uganda': { + 'name': 'Uganda', + 'capital': 'Kampala', + 'latitude': 0.347596, + 'longitude': 32.58252 + }, + 'Ukraine': { + 'name': 'Ukraine', + 'capital': 'Kiev', + 'latitude': 50.4501, + 'longitude': 30.5234 + }, + 'United Arab Emirates': { + 'name': 'United Arab Emirates', + 'capital': 'Abu Dhabi', + 'latitude': 24.299174, + 'longitude': 54.697277 + }, + 'United Kingdom': { + 'name': 'United Kingdom', + 'capital': 'London', + 'latitude': 51.507351, + 'longitude': -0.127758 + }, + 'United States': { + 'name': 'United States', + 'capital': 'Washington', + 'latitude': 38.907192, + 'longitude': -77.036871 + }, + 'Uruguay': { + 'name': 'Uruguay', + 'capital': 'Montevideo', + 'latitude': -34.901113, + 'longitude': -56.164531 + }, + 'Uzbekistan': { + 'name': 'Uzbekistan', + 'capital': 'Tashkent', + 'latitude': 41.299496, + 'longitude': 69.240073 + }, + 'Vanuatu': { + 'name': 'Vanuatu', + 'capital': 'Port Vila', + 'latitude': -17.733251, + 'longitude': 168.327325 + }, + 'Vatican City': { + 'name': 'Vatican City', + 'capital': 'Vatican City', + 'latitude': 41.902179, + 'longitude': 12.453601 + }, + 'Venezuela': { + 'name': 'Venezuela', + 'capital': 'Caracas', + 'latitude': 10.480594, + 'longitude': -66.903606 + }, + 'Vietnam': { + 'name': 'Vietnam', + 'capital': 'Hanoi', + 'latitude': 21.027764, + 'longitude': 105.83416 + }, + 'Wallis and Futuna': { + 'name': 'Wallis and Futuna', + 'capital': 'Mata-Utu', + 'latitude': -13.282509, + 'longitude': -176.176447 + }, + 'Western Sahara': { + 'name': 'Western Sahara', + 'capital': 'El Aaiún', + 'latitude': 27.125287, + 'longitude': -13.1625 + }, + 'Yemen': { + 'name': 'Yemen', + 'capital': "Sana'a", + 'latitude': 15.369445, + 'longitude': 44.191007 + }, + 'Zambia': { + 'name': 'Zambia', + 'capital': 'Lusaka', + 'latitude': -15.387526, + 'longitude': 28.322817 + }, + 'Zimbabwe': { + 'name': 'Zimbabwe', + 'capital': 'Harare', + 'latitude': -17.825166, + 'longitude': 31.03351 + } +} + +def convert_lat_long(latitude, longitude, map_width, map_height): + + false_easting = 180 + radius = map_width / (2 * pi) + latitude = radians(latitude) + longitude = radians(longitude + false_easting) + + x_coord = longitude * radius + + y_dist_from_equator = radius * log(tan(pi / 4 + latitude / 2)) + y_coord = map_height / 2 - y_dist_from_equator + + coords = {'x': x_coord, 'y': y_coord} + + return coords + + +def get_available_regions(): + return regions.keys() + + +def get_region_coords(region, map_width=991, map_height=768): + coords = None + + try: + lookup = regions[region] + coords = convert_lat_long(lookup['latitude'], lookup['longitude'], map_width, map_height) + return coords + except KeyError: + print('Region not recognised: ', region) diff --git a/lib/tasks/project_components/mapping_data_urban_rural_populations/species.csv b/lib/tasks/project_components/mapping_data_urban_rural_populations/species.csv new file mode 100644 index 00000000..a6ec45d8 --- /dev/null +++ b/lib/tasks/project_components/mapping_data_urban_rural_populations/species.csv @@ -0,0 +1,238 @@ +Afghanistan,42 +Albania,130 +Algeria,135 +American Samoa,92 +Andorra,13 +Angola,146 +Anguilla,52 +Antarctica,6 +Antigua and Barbuda,55 +Argentina,256 +Armenia,114 +Aruba,32 +Australia,948 +Austria,118 +Azerbaijan,97 +Bahamas,86 +Bahrain,36 +Bangladesh,151 +Barbados,56 +Belarus,25 +Belgium,37 +Belize,117 +Benin,88 +Bermuda,72 +Bhutan,71 +Bolivia,231 +Bosnia and Herzegovina,91 +Botswana,28 +Bouvet Island,3 +Brazil,990 +British Indian Ocean Territory,85 +British Virgin Islands,67 +Brunei,193 +Bulgaria,104 +Burkina Faso,31 +Burundi,61 +Cape Verde,65 +Cambodia,255 +Cameroon,775 +Canada,122 +Cayman Islands,74 +Central African Republic,60 +Chad,43 +Chile,197 +China,1080 +Hong Kong,64 +Macau,11 +Christmas Island,39 +Cocos (Keeling) Islands,33 +Colombia,835 +Comoros,114 +Congo (Republic),134 +Cook Islands,75 +Costa Rica,340 +Côte d'Ivoire,249 +Croatia,176 +Cuba,339 +Curaçao,51 +Cyprus,72 +Czech Republic,53 +North Korea,78 +Congo (DRC),349 +Denmark,47 +Djibouti,98 +Dominica,66 +Dominican Republic,184 +Ecuador,2358 +Egypt,156 +El Salvador,86 +Equatorial Guinea,177 +Eritrea,122 +Estonia,23 +Swaziland,34 +Ethiopia,148 +Falkland Islands (Islas Malvinas),23 +Faroe Islands,21 +Fiji,291 +Finland,36 +France,278 +French Guiana,73 +French Polynesia,175 +French Southern Territories,25 +Gabon,270 +Gambia,67 +Georgia,120 +Germany,116 +Ghana,238 +Gibraltar,31 +Greece,374 +Greenland,23 +Grenada,54 +Guadeloupe,73 +Guam,99 +Guatemala,290 +Guernsey,5 +Guinea,185 +Guinea-Bissau,77 +Guyana,94 +Haiti,205 +Vatican City,1 +Honduras,301 +Hungary,66 +Iceland,27 +India,1052 +Indonesia,1281 +Iran,134 +Iraq,72 +Ireland,50 +Isle of Man,3 +Israel,174 +Italy,359 +Jamaica,311 +Japan,404 +Jersey,6 +Jordan,113 +Kazakhstan,82 +Kenya,480 +Kiribati,104 +Kuwait,49 +Kyrgyzstan,44 +Laos,209 +Latvia,30 +Lebanon,87 +Lesotho,18 +Liberia,172 +Libya,63 +Liechtenstein,6 +Lithuania,26 +Luxembourg,11 +Madagascar,1324 +Malawi,176 +Malaysia,1272 +Maldives,75 +Mali,42 +Malta,39 +Marshall Islands,101 +Martinique,48 +Mauritania,86 +Mauritius,257 +Mayotte,88 +Mexico,1162 +Micronesia,167 +Monaco,21 +Mongolia,41 +Montenegro,98 +Montserrat,55 +Morocco,207 +Mozambique,309 +Myanmar,321 +Namibia,115 +Nauru,82 +Nepal,104 +Netherlands,40 +New Caledonia,526 +New Zealand,199 +Nicaragua,144 +Niger,34 +Nigeria,361 +Niue,52 +Norfolk Island,44 +Northern Mariana Islands,102 +Norway,64 +Oman,99 +Pakistan,140 +Palau,182 +Panama,383 +Papua New Guinea,493 +Paraguay,59 +Peru,685 +Philippines,783 +Poland,58 +Portugal,281 +Puerto Rico,126 +Qatar,39 +South Korea,111 +Moldova,35 +Réunion,130 +Romania,104 +Russia,235 +Rwanda,62 +St. Barthélemy,31 +St. Kitts and Nevis,52 +St. Lucia,62 +Saint Pierre and Miquelon,12 +Saint Vincent and the Grenadines,58 +Samoa,93 +San Marino,1 +São Tomé and Príncipe,94 +Saudi Arabia,131 +Senegal,123 +Serbia,71 +Seychelles,439 +Sierra Leone,177 +Singapore,293 +Slovakia,54 +Slovenia,143 +Solomon Islands,245 +Somalia,175 +South Africa,581 +South Georgia and the South Sandwich Islands,9 +South Sudan,49 +Spain,617 +Sri Lanka,587 +Palestine,31 +Sudan,133 +Suriname,83 +Sweden,54 +Switzerland,74 +Syria,132 +Tajikistan,45 +Thailand,611 +Timor-Leste,24 +Togo,80 +Tokelau,49 +Tonga,79 +Trinidad and Tobago,69 +Tunisia,96 +Turkey,388 +Turkmenistan,54 +Turks and Caicos Islands,60 +Tuvalu,96 +Uganda,196 +Ukraine,102 +United Arab Emirates,56 +United Kingdom,102 +Tanzania,1082 +United States,1513 +U.S. Virgin Islands,58 +Uruguay,106 +Uzbekistan,59 +Vanuatu,137 +Venezuela,328 +Vietnam,616 +Wallis and Futuna,89 +Western Sahara,49 +Yemen,298 +Zambia,88 +Zimbabwe,89 diff --git a/lib/tasks/project_components/persuasive_data_presentation_bechdel_starter/bechdel.csv b/lib/tasks/project_components/persuasive_data_presentation_bechdel_starter/bechdel.csv new file mode 100644 index 00000000..8a7c09a8 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_bechdel_starter/bechdel.csv @@ -0,0 +1,670 @@ +8633,5164214,3,8280,2018,Ocean's 8 +8634,6772950,3,8347,2018,Truth or Dare +8635,3892172,3,8421,2018,Leave No Trace +8636,2557478,3,8134,2018,Pacific Rim: Uprising +8637,2873282,3,8145,2018,Red Sparrow +8638,7784604,3,8305,2018,Hereditary +8639,4500922,3,8056,2018,Maze Runner: The Death Cure +8640,1825683,3,8058,2018,Black Panther +8641,7853242,3,8073,2018,Love per square foot +8642,4701724,1,8144,2018,Early Man +8643,2798920,3,8077,2018,Annihilation +8644,2704998,3,8080,2018,Game Night +8645,2548396,3,8082,2018,The Cloverfield Paradox +8646,5164432,1,8142,2018,Love Simon +8647,7158430,3,8091,2018,Hearts Beat Loud +8648,6878820,3,8199,2018,Z-O-M-B-I-E-S +8649,5104604,3,8137,2018,Isle of Dogs +8650,5783956,2,8112,2018,When We First Met +8651,1365519,3,8121,2018,Tomb Raider +8652,1677720,3,8125,2018,Ready Player One +8653,7869818,3,8126,2018,My Little Pony Equestria Girls: Forgotten Friendship +8654,7875464,3,8128,2018,The Heiresses +8655,4986098,2,8151,2018,The Titan +8656,5619332,3,8277,2018,Life of the Party +8657,6644200,1,8157,2018,A Quiet Place +8658,7555774,1,8276,2018,En guerre +8659,4154756,3,8178,2018,Avengers: Infinity War +8660,1289403,3,8179,2018,Guernsey Literary and Potato Peel Pie Society +8661,5688932,1,8324,2018,Sorry to Bother You +8662,3799232,3,8214,2018,The Kissing Booth +8663,7768846,0,8263,2018,Pass Over +8664,5463162,2,8229,2018,Deadpool 2 +8665,7156222,0,8319,2018,Au poste! +8666,5095030,3,8318,2018,Ant-Man and the Wasp +8667,5610554,3,8239,2018,Tully +8668,6212478,1,8317,2018,American Animals +8669,3778644,2,8246,2018,Solo: A Star Wars Story +8671,2854926,3,8313,2018,Tag +8672,3606756,3,8290,2018,Incredibles 2 +8673,6929642,3,8310,2018,Kaala +8674,5688996,2,8298,2018,Alex Strangelove +8675,5304992,3,8308,2018,Set It Up +8676,4881806,3,8302,2018,Jurassic World: Fallen Kingdom +8677,6911608,3,8337,2018,Mamma Mia! Here We Go Again +8678,4912910,1,8342,2018,Mission Impossible: Fallout +8679,6133466,3,8343,2018,The First Purge +8680,7424200,3,8345,2018,Teen Titans Go! To the Movies +8681,7279188,3,8349,2018,Woman at War +8682,7242142,1,8351,2018,Blindspotting +8683,7014006,3,8359,2018,Eighth Grade +8684,6663582,3,8362,2018,The Spy Who Dumped Me +8685,4575576,2,8364,2018,Christopher Robin +8686,6791096,3,8365,2018,I Feel Pretty +8687,7349662,3,8368,2018,BlacKkKlansman +8688,4779682,3,8369,2018,The Meg +8689,3104988,3,8378,2018,Crazy Rich Asians +8690,4073790,3,8380,2018,The Darkest Mind +8691,2231461,3,8381,2018,Rampage +8692,6892462,2,8382,2018,Le monde est a toi +8693,3458254,1,8383,2018,Patient Zero +8694,3846674,3,8385,2018,To All the Boys I've Loved Before +8695,4244998,0,8386,2018,Alpha +8696,7485508,3,8395,2018,Carmen y Lola +8697,6142496,3,8396,2018,6 Balloons +8698,7282468,0,8397,2018,Burning +8699,8459250,3,8399,2018,Sheherazade +8700,6628102,2,8400,2018,The Wild Pear Tree +8701,5690360,3,8407,2018,Slender Man +8702,3829266,1,8414,2018,Predator +8703,7040874,3,8420,2018,A Simple Favor +8704,7745068,3,8422,2018,My hero academia: Two heroes +8705,365545,3,8423,2018,Nappily Ever Aftet +8706,6921996,1,8424,2018,Johnny English Strikes Again +8707,2119543,1,8425,2018,House with a Clock in Its Walls +8708,6182908,3,8427,2018,Smallfoot +8709,1517451,3,8430,2018,A Star Is Born +8710,1270797,1,8431,2018,Venom +8711,7615302,3,9187,2018,Red Joan +8712,2531344,3,8433,2018,Blockers +8713,3120280,3,8434,2018,Sierra Burgess Is a Loser +8714,8020896,0,8443,2018,An Elephant Sitting Still (Da xiang xi di er zuo) +8715,6217306,3,8444,2018,Apostle +8716,1213641,3,8445,2018,First Man +8717,1502407,3,8452,2018,Halloween +8718,5177088,3,8457,2018,The Girl in the Spider's Web +8719,1620680,3,8459,2018,A Wrinkle in Time +8720,6998518,2,8461,2018,Mandy +8721,1727824,2,8462,2018,Bohemian Rhapsody +8722,1034415,3,8465,2018,Suspiria +8723,7668870,1,8472,2018,Searching +8724,7534068,2,8474,2018,En liberte! +8725,6857166,3,8475,2018,Book Club +8726,7527538,2,8481,2018,Jefe +8727,4633694,1,8523,2018,Spider-Man : Into the Spider-Verse +8728,4123430,2,8484,2018,Fantastic Beasts: The Crimes of Grindelwald +8729,4595882,3,8485,2018,Can You Ever Forgive Me? +8730,4652650,3,8489,2018,Please Stand By +8731,5083738,3,8490,2018,The Favourite +8732,4218572,3,8491,2018,Widows +8733,5848272,3,8492,2018,Ralph Breaks the Internet +8734,5057140,1,8495,2018,Hold the Dark +8735,1477834,3,8522,2018,Aquaman +8737,5580266,3,8498,2018,The Hate U Give +8738,5613484,1,8499,2018,Mid90s +8739,7365604,3,8521,2018,Dog Days +8740,6966692,1,8512,2018,Green Book +8741,4878482,3,8514,2018,Dumplin +8742,5861756,3,8517,2018,Bella Ciao! +8743,6343314,3,8518,2018,Creed II +8744,5085924,3,8520,2018,Wildling +8745,5437928,3,8567,2018,Colette +8746,6155172,3,8571,2018,Roma +8747,1571234,3,8572,2018,Mortal Engines +8748,2328900,3,8573,2018,Mary Queen of Scots +8749,2737304,3,8574,2018,Bird Box +8750,5028340,3,8575,2018,Mary Poppins Returns +8751,6266538,2,8577,2018,Vice +8753,7545566,3,8579,2018,Skate Kitchen +8754,7775622,1,8580,2018,Free Solo +8755,1563742,3,8582,2018,Overboard +8756,4701182,3,8585,2018,Bumblebee +8757,4669788,3,8587,2018,On the Basis of Sex +8758,7125860,3,8588,2018,If Beale Street Could Talk +8759,6543652,3,8590,2018,Cold War +8760,7545524,3,8591,2018,Ben Is Back +8761,8286894,3,8596,2018,Rafiki +8764,3458510,3,8608,2018,Dude +8765,8075192,3,8611,2018,Shoplifters +8766,6776106,3,8612,2018,Andid edlilega (And Breathe Normally) +8768,3385524,3,8618,2018,Stan & Ollie +8769,7959026,2,8626,2018,The Mule +8770,6061074,3,8630,2018,First Match +8771,8361028,3,8631,2018,Cam +8772,3525168,1,8635,2018,Dead in a Week: Or Your Money Back +8774,2368254,1,8651,2018,A private war +8775,5427194,3,8654,2018,The Miracle Season +8776,6205872,3,8656,2018,Assassination Nation +8777,2639336,3,8658,2018,Greta +8779,7401588,3,8661,2018,Instant Family +8780,5960374,3,8662,2018,Vox Lux +8781,6485304,3,8667,2018,Quien te cantara +8782,4532826,1,8671,2018,Robin Hood +8784,6140148,3,8678,2018,Bullitt County +8785,6987770,0,8683,2018,Destination Wedding +8787,7137380,3,8690,2018,Destroyer +8788,8327492,1,8708,2018,Tito e os Passaros +8789,8717590,3,8711,2018,My Little Pony Equestria Girls: Rollercoaster of Friendship +8790,7074886,2,8713,2018,The Front Runner +8791,5117428,3,8714,2018,Wild Rose +8792,7905466,0,8715,2018,They Shall Not Grow Old +8793,7250378,3,8718,2018,Say My Name +8794,5639446,1,8724,2018,Jonathan +8795,8108198,2,8730,2018,Andhadhun +8796,1259528,2,8733,2018,Den of thieves +8797,7689958,3,8734,2018,Jane Fonda in Five Acts +8798,7335184,3,8743,2018,You +8799,7098658,3,8754,2018,Raazi +8800,8900098,3,8757,2018,Deslembro +8802,7237666,3,8780,2018,The Honor List +8803,8287690,0,8785,2018,Genese +8804,6975598,3,8788,2018,Deep Murder +8805,7134690,3,8792,2018,I Like Me +8806,4867110,2,8797,2018,Swiped +8807,7636672,3,8802,2018,Float Like A Butterfly +8808,3208026,1,8803,2018,Black 47 +8809,6859352,3,8809,2018,Support the Girls +8810,5314190,0,8822,2018,Sgt. Stubby: An American Hero +8811,7008872,1,8832,2018,Boy Erased +8812,6510332,0,8833,2018,McQueen +8813,6628394,2,8839,2018,Bad Times at the El Royale +8814,2126357,1,8851,2018,Second Act +8815,4477536,1,8858,2018,fifty shade freed +8816,4669296,0,8878,2018,Lords of Chaos +8817,3289724,2,8885,2018,Welcome to Marwen +8818,6781982,3,8890,2018,NIght School +8819,2690226,3,8921,2018,The Chaperone +8820,7464188,3,8931,2018,In Fabric +8821,8633950,3,8938,2018,Les invisibles +8822,7212726,1,8961,2018,Simmba +8823,1308728,3,8977,2018,The Happytime Murders +8824,6678876,3,9011,2018,Meio Irmao +8825,7317324,3,9012,2018,Egg +8826,8331988,3,9019,2018,La camarista +8827,6404896,2,9020,2018,Constantine: City of Demons +8828,3294746,3,9032,2018,The Public +8829,8479120,3,9061,2018,Agapornis +8830,5936578,3,9066,2018,Saints Rest +8833,5001754,3,9111,2018,Braven +8834,5952138,3,9116,2018,We Have Always Lived in the Castle +8835,5322168,3,9117,2018,Snapshots +8836,6204018,0,9125,2018,Ted - For karlekens skull +8837,4357394,3,9127,2018,Tau +8838,6164698,3,9129,2018,Hjartat +8839,7791048,0,9131,2018,Innan vintern kommer +8840,6889032,3,9132,2018,The Cake General +8841,7893992,3,9133,2018,Amatorer +8842,6258766,0,9134,2018,Toppen av ingenting +8843,6708044,3,9137,2018,La tribu +8844,5690810,3,9140,2018,Ophelia +8845,2709692,3,9150,2018,The Grinch +8846,6857988,3,9153,2018,I am Not an Easy Man / Je ne suis pas un homme facile +8847,6927152,1,9163,2018,Rampant +8848,8359848,3,9167,2018,Climax +8849,5980638,3,9235,2018,The Transcendents +8850,7755856,3,9245,2018,Banana Split +8851,6522668,3,9260,2018,Diamantino +8852,8267604,3,9287,2018,Capernaum +8853,7785128,3,9303,2018,Gekijo-ban Non Non Biyori: Vacation +8854,6081670,0,9307,2018,Possum +8855,4003440,1,9308,2018,The House that Jack Built +8856,8954732,3,9357,2018,The Princess Switch +8857,4006302,3,9412,2018,Level 16 +8859,7543930,1,9450,2018,In Safe Hands +8860,7241926,3,9447,2018,Tell It to the Bees +8861,5291792,3,9445,2018,Furlough +8862,2069797,1,9478,2018,Delirium +8863,7838252,1,9961,2018,K.G.F: Chapter 1 +8864,6466058,3,9503,2018,Ask for Jane +8865,6499752,2,9520,2018,Upgrade +8866,7086706,1,9542,2018,Deep Blue Sea 2 +8867,7262882,3,9568,2018,Master Z: The Ip Man Legacy +8868,5397194,0,9630,2018,Anon +8869,6728096,3,9798,2018,The Breaker Upperus +8870,7745956,3,9807,2018,She-Ra and the Princesses of Power +8872,6435258,1,10049,2018,Bethany Hamilton: Unstoppable +8873,7225144,3,9968,2018,Bearkittens +8874,6342316,3,9969,2018,Undertow +8875,7468616,0,9976,2018,The Boat +8876,7073710,3,10032,2018,What Keeps You Alive +8877,6010628,3,10089,2018,Zoe +8878,8179388,0,8749,2019,Rim of the World +8879,2386490,2,8607,2019,How to Train Your Dragon: The Hidden World +8880,9358120,2,8609,2019,We Are Little Zombies +8881,6811018,1,8615,2019,The Kid Who Would be King +8882,4139588,2,8616,2019,Polar +8883,5316540,3,8617,2019,Close +8884,6476140,1,8620,2019,Serenity +8885,6078866,3,8623,2019,Soni +8886,6857112,3,8681,2019,Us +8887,5719748,1,8639,2019,Cold Pursuit +8888,7605074,3,8640,2019,Wandering Earth (Liu Lang Di Qiu) +8889,437086,3,8642,2019,Alita: Battle Angel +8890,3513498,3,8645,2019,Lego Movie 2: The Second Part +8891,9109492,3,8647,2019,American Woman +8892,7458762,0,8655,2019,Le chant du loup +8894,4154664,3,8668,2019,Captain Marvel +8895,6513120,3,8679,2019,Fighting with My Family +8896,8155288,3,8684,2019,Happy Death Day 2U +8897,1488606,1,8687,2019,Triple Frontier +8898,448115,3,8693,2019,Shazam! +8899,2395469,1,8699,2019,Gully Boy +8900,8734872,3,8709,2019,My Little Pony: Equestria Girls: Spring Breakdown +8901,8075260,3,8717,2019,Someone Great +8902,9670282,3,8796,2019,Zoombies 2 +8903,4154796,3,8720,2019,Avengers: Endgame +8904,4913966,3,8722,2019,Curse of La Llorona +8905,8858104,2,8725,2019,Guava Island +8906,7315484,3,8727,2019,Silence +8907,5941692,3,8728,2019,Miss Bala +8908,5884052,3,8740,2019,Pokemon Detective Pikachu +8909,1298644,3,8741,2019,Hustle +8910,9024106,3,8742,2019,Unplanned +8911,8169446,3,8744,2019,Wine Country +8912,1489887,3,8747,2019,Booksmart +8913,6139732,3,8750,2019,Aladdin +8914,8323104,3,8753,2019,Nancy Drew and the Hidden Staircase +8915,6146586,1,8755,2019,John Wick: Chapter 3 - Parabellum +8916,7958736,3,8758,2019,Ma +8917,7374948,3,8760,2019,Always Be My Maybe +8918,6565702,3,8761,2019,Dark Phoenix +8919,8201170,2,8763,2019,Perfect Date +8920,6107548,3,8764,2019,Late Night +8921,7752126,2,8765,2019,Brightburn +8922,3741700,3,8766,2019,Godzilla: King of the Monsters +8923,6292852,3,8767,2019,I Am Mother +8924,6751668,3,8768,2019,Gisaengchung +8925,1979376,3,8772,2019,Toy Story 4 +8926,8350360,3,8775,2019,Annabelle Comes Home +8927,9075008,3,8777,2019,Effigy – Poison and the City +8928,10324144,1,8778,2019,Article 15 +8929,6590856,2,9186,2019,Pause +8930,6320628,1,8781,2019,Spider-Man: Far from Home +8931,8772262,3,8784,2019,Midsommar +8932,7456310,3,8786,2019,Anna +8933,6105098,3,8790,2019,Lion King +8934,8364368,3,8791,2019,Crawl +8935,7131622,3,8804,2019,Once Upon a Time ... In Hollywood +8936,8484012,3,8805,2019,Sword of Trust +8937,8637428,3,8807,2019,Farewell +8938,6806448,2,8808,2019,Fast & Furious Presents: Hobbs & Shaw +8939,4426738,3,8810,2019,Animals +8940,6472976,3,8813,2019,Five Feet Apart +8941,7979492,3,8814,2019,Kim Possible +8942,1478839,2,8815,2019,Art of Racing in the Rain +8943,8022928,3,8816,2019,Descendants 3 +8944,837563,3,8824,2019,Pet Sematary +8945,3361792,2,8825,2019,Tolkien +8946,8743064,3,8834,2019,See You Yesterday +8947,8169552,2,8835,2019,Turma da Monica: Lacos +8949,6450804,3,8838,2019,Terminator: Dark Fate +8950,7671064,3,8840,2019,Brittany Runs A Marathon +8951,7547410,3,8841,2019,Dora and the Lost City of Gold +8952,8499102,0,8845,2019,Jawline +8953,10515852,3,8850,2019,Steven Universe: The Movie +8954,7711764,1,8852,2019,Pentagram +8955,9252508,3,8853,2019,Tall Girl +8956,2935510,1,8855,2019,Ad Astra +8957,2762506,1,8857,2019,Bacurau +8958,7798634,3,8861,2019,Ready or Not +8959,4682804,3,8862,2019,Lucy in the Sky +8960,7286456,3,8863,2019,Joker +8961,9239816,3,8864,2019,Canceled +8962,6398184,3,8866,2019,Downton Abbey +8963,3387520,3,8867,2019,Scary Stories to Tell in the Dark +8964,1025100,1,8868,2019,Gemini Man +8965,1950186,0,8869,2019,Ford v Ferrari +8966,5503686,3,8870,2019,Hustlers +8967,4777008,3,8876,2019,Maleficent: Mistress of Evil +8968,5865326,3,8877,2019,Laundromat +8969,7984766,1,8881,2019,King +8970,8613070,3,8882,2019,Portrait of a Lady on Fire +8971,8367814,3,8982,2019,Gentlemen +8972,7634968,1,8884,2019,What Men Want +8973,4126476,3,8886,2019,After +8974,6324278,3,8889,2019,Abominable +8975,4648786,3,8892,2019,Harriet +8976,7653254,2,8893,2019,Marriage Story +8977,7984734,0,8894,2019,Lighthouse +8978,7349950,3,8895,2019,It Chapter 2 +8979,8623904,3,8899,2019,Last Christmas +8980,7616148,3,8900,2019,Luce +8981,4729430,1,8901,2019,Klaus +8982,10060094,3,8902,2019,Knight Before Christmas +8983,2584384,3,8903,2019,Jojo Rabbit +8984,6924650,1,8904,2019,Midway +8985,5033998,3,8905,2019,Charlie's Angels +8986,8946378,3,8907,2019,Knives Out +8987,385887,3,8910,2019,Motherless Brooklyn +8988,3224458,2,8911,2019,A Beautiful Day in the Neighborhood +8989,7311036,3,8912,2019,Clementine +8991,5606664,3,8914,2019,Doctor Sleep +8992,1302006,1,8915,2019,Irishman +8993,4520988,3,8916,2019,Frozen 2 +8994,7909970,3,8917,2019,Unbelievable +8995,10199590,0,8918,2019,Les Miserables +8996,1560220,3,8927,2019,Zombieland: Double Tap +8997,10767426,1,8932,2019,Tekst +8998,8510350,3,8934,2019,Satanic Panic +8999,2527338,3,8936,2019,Star Wars: Episode IX - The Rise of Skywalker +9000,8079248,1,8937,2019,Yesterday +9001,7942742,3,8940,2019,Her Smell +9002,5697572,3,8941,2019,Cats +9003,1206885,2,8942,2019,Rambo: Last Blood +9004,7343762,3,8943,2019,Good Boys +9006,6062774,3,8948,2019,Monos +9007,3281548,3,8949,2019,Little Women +9008,6141246,3,8950,2019,Aeronauts +9009,5727208,2,8951,2019,Uncut Gems +9010,8359816,3,8980,2019,Sorry We Missed You +9011,3864056,1,8953,2019,Goldfinch +9012,8404614,1,8956,2019,Two Popes +9013,8579674,0,8962,2019,1917 +9014,4916630,2,8979,2019,Just Mercy +9015,9204204,3,8967,2019,Little Joe +9016,7488288,3,8968,2019,Anya +9017,9617456,3,8969,2019,For Sama +9018,2404465,3,8970,2019,Troop Zero +9019,4477292,0,8972,2019,Cosmos +9020,8669356,3,8974,2019,Jeanne +9021,6918220,0,8975,2019,Shiny Shrimps +9022,9632590,3,8976,2019,Une fille facile +9023,4687108,1,8978,2019,In the Tall Grass +9024,9243946,1,8984,2019,El Camino: A Breaking Bad Movie +9025,9426210,3,8988,2019,Weathering with You +9026,7975244,1,8993,2019,Jumanji: The Next Level +9027,10244726,0,8995,2019,O Filme do Bruno Aleixo +9028,8041276,0,9015,2019,Paddleton +9029,1780967,3,9018,2019,Seberg +9030,8855960,3,9023,2019,Straight Up +9031,8707922,3,9027,2019,Can You Keep A Secret? +9032,9806192,0,9035,2019,I lost my body +9033,8228288,1,9047,2019,Platform +9034,3038708,3,9067,2019,Iron Sky: The Coming Race +9035,8655470,1,9068,2019,Specials +9036,5073642,2,9069,2019,Color Out of Space +9037,4180560,3,9080,2019,Otherhood +9038,6436726,1,9175,2019,7500 +9039,9419834,1,9086,2019,Secret Obsession +9040,10308528,1,9089,2019,HELEN +9041,5814534,3,9090,2019,Spies in Disguise +9042,8108206,3,9097,2019,Saand Ki Aankh +9043,6348138,1,9099,2019,Missing Link +9044,1618434,1,9103,2019,Murder Mystery +9045,8425034,3,9109,2019,Bit +9046,8659948,3,9112,2019,Love Live! Sunshine!! The School Idol Movie: Over The Rainbow +9047,6065988,3,9115,2019,Bombshells and Dollies +9049,8236336,0,9143,2019,Report +9050,9412268,3,9371,2019,Furie +9051,2066051,3,9146,2019,Rocketman +9052,5691670,0,9149,2019,Under The Silver Lake +9053,6803046,3,9159,2019,Vast of Night +9054,2139881,3,9168,2019,Long Shot +9055,6902676,1,9189,2019,Guns Akimbo +9056,783640,1,9198,2019,Last Full Measure +9057,8206668,3,9204,2019,Bad Education +9058,8368406,3,9212,2019,Vivarium +9059,8856090,3,9214,2019,Before You Know It +9060,7902124,3,9218,2019,Ground Beneath My Feet +9061,6511932,1,9219,2019,Beach Bum +9062,9217514,3,9222,2019,Une Paire de Jumelles +9063,8230872,3,9232,2019,Body Remembers When The World Broke Open +9064,9016016,3,9244,2019,Saint Frances +9065,8019694,3,9249,2019,Frankie +9066,8932338,3,9250,2019,La Peor de Mis Bodas 2 +9067,7555072,3,9258,2019,Top End Wedding +9068,9486226,3,9263,2019,hockey girls +9069,2076298,3,9264,2019,Ip Man 4: The Finale +9070,8399664,3,9273,2019,Babyteeth +9071,8758086,3,9278,2019,Mercy Black +9072,1620981,3,9279,2019,Addams Family +9073,10867768,1,9302,2019,"A Dark, Dark Man" +9074,10521814,3,9306,2019,K-12 +9075,8816194,1,9309,2019,Come to Daddy +9076,10734928,0,9316,2019,Legend of Hei (Luo Xiao Hei zhan ji) +9077,8949056,3,9325,2019,"Yes, God, Yes" +9078,5822564,3,9337,2019,Kitchen +9079,6428676,3,9344,2019,Wonder Park +9080,8712750,3,9348,2019,A.M.I. +9081,9201720,1,9361,2019,A New Christmas +9082,3513548,3,9399,2019,Richard Jewell +9083,11107074,3,9409,2019,My Hero Academia: Heroes Rising +9084,7594584,3,9414,2019,Maria +9085,7329656,3,9427,2019,47 Meters Down: Uncaged +9086,5363618,1,9448,2019,Sound of Metal +9087,9000224,3,9460,2019,Assistant +9088,4364194,1,9464,2019,Peanut Butter Falcon +9089,6439020,3,9477,2019,Personal History of David Copperfield +9090,9602378,3,9479,2019,Good Kisser +9091,4693588,1,9494,2019,Fahim +9092,11334312,3,9507,2019,Final Level: Escaping Rancala +9093,8110640,1,9497,2019,In the Shadow of the Moon +9094,7985692,3,9502,2019,After the Wedding +9095,11621206,3,9512,2019,Quebramar +9096,9507276,3,9573,2019,Saga of Tanya the Evil - The Movie +9097,2283336,3,9592,2019,Men in Black: International +9098,2386490,3,9624,2019,How to Train Your Dragon: The Hidden World +9099,6259380,1,9637,2019,Code 8 +9100,9522080,3,9660,2019,Papicha +9101,10011336,3,9677,2019,Lucky Grandma +9102,8856470,3,9711,2019,Pokemon: Mewtwo Strikes Back - Evolution +9103,7698468,3,9765,2019,A Call to Spy +9104,6294226,3,9788,2019,Stray +9105,1860242,1,9862,2019,Highwaymen +9106,6920356,3,9875,2019,Souvenir +9107,8892756,3,9970,2019,Performaniax +9108,7715070,3,9988,2019,Horrible Histories: The Movie - Rotten Romans +9109,6189022,1,10000,2019,Angel Has Fallen +9110,11748354,3,10003,2019,Les Parfums +9111,7280218,3,10007,2019,Carmilla +9112,6197070,3,10016,2019,Blood Machines +9113,15324860,3,10025,2019,Katharine Hepburn +9114,8022928,3,10029,2019,Decedants 3 +9115,11028798,3,10061,2019,"The Good Place" The Funeral to End All Funerals +9116,11052808,3,10073,2019,Kim Ji-young: Born 198 +9117,9288776,3,10080,2019,White Snake +9118,5360232,1,10096,2019,Cat and the Moon +9119,2948372,3,9508,2020,Soul +9120,8461042,3,8859,2020,Marijuana Conspiracy +9121,7545266,3,8964,2020,Like a Boss +9122,8151874,0,8965,2020,Honey Boy +9123,7134096,2,8994,2020,Rhythm Section +9124,7510346,3,9003,2020,Turning +9125,7713068,3,9008,2020,Birds of Prey +9126,9737798,3,9009,2020,Platzspitzbaby +9127,11388406,3,9013,2020,Horse Girl +9128,3794354,3,9014,2020,Sonic the Hedgehog +9129,10633456,3,9017,2020,Minari +9130,10752062,2,9021,2020,Living Aims +9131,11895476,3,9031,2020,Veil +9132,7146812,3,9034,2020,Onward +9133,3907584,3,9036,2020,All the Bright Places +9134,3111426,3,9037,2020,Lost Girls +9135,9766166,3,9039,2020,Zombies 2 +9136,1051906,3,9045,2020,Invisible Man +9137,9214832,3,9058,2020,Emma. +9138,1502397,2,9071,2020,Bad Boys For Life +9139,8299768,3,9079,2020,Blow the Man Down +9140,4858674,3,9085,2020,Stargirl +9141,6587640,3,9087,2020,Trolls World Tour +9142,8242084,3,9096,2020,My Spy +9143,8936646,3,9118,2020,Extraction +9144,9683478,3,9126,2020,Half of It +9145,12261880,3,9135,2020,Methodists +9146,10816484,3,9136,2020,18 Presents +9147,3152592,3,9138,2020,Scoob +9148,8430598,3,9164,2020,Shirley +9149,1552211,0,9165,2020,last days of american crime +9150,9308382,3,9172,2020,High Note +9151,8244784,3,9179,2020,Hunt +9152,7772582,3,9195,2020,Never Rarely Sometimes Always +9153,9484998,3,9197,2020,Palm Springs +9154,7556122,3,9199,2020,Old Guard +9155,6048922,0,9200,2020,Greyhound +9156,10426916,1,9201,2020,Tout simplement noir +9157,3089630,3,9208,2020,Artemis Fowl +9158,6834916,3,9224,2020,Legacy of Lies +9159,8503618,3,9225,2020,Hamilton +9160,5774060,3,9233,2020,Underwater +9161,10276470,3,9234,2020,Work It +9162,6723592,1,9252,2020,Tenet +9163,1086064,3,9255,2020,Bill and Ted Face the Music +9164,4566758,3,9265,2020,Mulan +9165,5198068,3,9367,2020,Wolfwalkers +9166,1817232,3,9271,2020,Phineas and Ferb the Movie: Candace Against the Universe +9167,11905962,0,9281,2020,Sputnik +9168,7846844,3,9283,2020,Enola Holmes +9169,4682266,3,9284,2020,New Mutants +9170,9686708,3,9285,2020,King of Staten Island +9171,10059518,3,9921,2020,Unhinged +9172,8580274,3,9295,2020,Eurovision Song Contest: The Story of Fire Saga +9173,10288566,1,9305,2020,Druk +9174,6841122,1,9310,2020,Summerland +9175,1070874,1,9313,2020,Trial of the Chicago 7 +9176,4798836,3,9317,2020,Bad Hair +9177,10126434,1,9318,2020,Scare Me +9178,7488208,3,9320,2020,Over the Moon +9179,12841698,1,9335,2020,Stunt Double +9180,10530176,3,9362,2020,Call +9181,10919380,3,9341,2020,Freaky +9182,9624766,1,9342,2020,Jiu Jitsu +9183,7212754,3,9345,2020,Ludo +9184,805647,2,9347,2020,Witches +9185,11769162,1,9353,2020,Santana +9186,11681250,3,9354,2020,Godmothered +9188,983946,3,9358,2020,Fantasy Island +9189,12749596,3,9360,2020,Host +9190,9072352,3,9391,2020,Relic +9191,10161886,3,9393,2020,Prom +9192,8522006,3,9395,2020,Happiest Season +9193,9086228,3,9397,2020,Gretel and Hansel +9194,2850386,3,9402,2020,Croods: A New Age +9195,10539608,3,9403,2020,Midnight Sky +9196,7126948,3,9405,2020,Wonder Woman 1984 +9197,13143964,3,9413,2020,Borat Subsequent Moviefilm +9198,7178640,3,9421,2020,Superintelligence +9199,9902160,3,9452,2020,Herself +9200,6878306,3,9449,2020,News of the World +9201,11456054,3,9444,2020,Run Hide Fight +9202,11161474,3,9438,2020,Pieces of a Woman +9203,10243992,3,9437,2020,I'm Your Woman +9204,10556022,3,9456,2020,Unpregnant +9205,11284280,3,9458,2020,Cadaver +9206,8850222,3,9461,2020,Train to Busan Presents: Peninsula +9207,10618286,1,9467,2020,Mank +9208,9820556,1,9470,2020,Breach +9209,8633478,3,9474,2020,Run +9211,9770150,3,9482,2020,Nomadland +9212,9620292,3,9483,2020,Promising Young Woman +9213,7983894,3,9490,2020,Ammonite +9214,9893250,3,9491,2020,I Care a Lot +9215,4257940,3,9492,2020,Lost Husband +9216,7703924,3,9493,2020,Infamous +9217,6475714,3,9496,2020,Monster Hunter +9218,6317656,3,9499,2020,Penguin Bloom +9219,11946300,1,9543,2020,Deep Blue Sea 3 +9220,8368512,3,9606,2020,Courier +9221,10213380,3,9608,2020,Malmkrog +9222,9741310,3,9640,2020,Slaxx +9223,10441958,3,9658,2020,How to Be a Good Wife +9224,2222042,2,9661,2020,Love and Monsters +9225,13079086,1,9669,2020,From Stress to Happiness +9226,9148706,3,9716,2020,Misbehaviour +9227,10457128,1,9717,2020,Summer of 85 +9228,12198524,0,9786,2020,Retreat +9229,11771622,0,9789,2020,Breath +9230,9691136,0,9835,2020,Shadow in the Cloud +9231,9866072,3,9839,2020,Holidate +9232,2222052,3,9893,2020,My Salinger Year +9233,6074542,3,10040,2020,Friend of the World +9234,9765226,2,10038,2020,one night in san diego +9235,10612922,2,9925,2020,One Night in Miami... +9236,9059760,3,9915,2020,Normal People +9237,8332922,3,9918,2020,A Quiet Place Part II +9238,9354842,3,9972,2020,To All the Boys: P.S. I Still Love You +9239,9224288,3,9987,2020,Mainstream +9240,11320192,3,10005,2020,Evil Next Door +9241,9900092,3,10010,2020,Motherland: Fort Salem +9242,9059704,1,10028,2020,An American Pickle +9243,13266132,3,10063,2020,You Will Never Be Back +9244,13152234,0,10064,2020,Iskioma +9245,11177804,2,10066,2020,Jiang Ziya: Legend of Deification +9246,7737786,3,10070,2020,Geenland +9247,4685762,3,10072,2020,Craft: Legacy +9248,9777666,2,9962,2021,Tomorrow War +9250,5144174,3,9498,2021,Dry +9251,9286908,2,9500,2021,High Ground +9252,5109280,3,9504,2021,Raya and the Last Dragon +9253,10919362,3,9505,2021,Sweetheart +9254,9784798,2,9513,2021,Judas and The Black Messiah +9255,6802400,3,9519,2021,Coming 2 America +9256,6432466,3,9526,2021,Moxie +9257,9130508,0,9571,2021,Cherry +9258,11734264,3,9574,2021,Sentinelle +9260,8521718,3,9599,2021,United States vs. Billie Holiday +9262,4761112,3,9612,2021,Mauritanian +9263,7888964,1,9633,2021,Nobody +9264,10121392,3,9635,2021,Thunder Force +9265,10483044,3,9647,2021,Cousins +9266,14091818,3,9667,2021,Ajeeb Daastaans +9267,9203694,3,9670,2021,Stowaway +9268,293429,2,9682,2021,Mortal Kombat +9269,3797512,3,9713,2021,Barb and Star Go to Vista Del Mar +9270,7979580,3,9799,2021,Mitchells vs the Machines +9271,14062858,0,9801,2021,Us Again +9272,10888594,0,9817,2021,Radhe +9273,6341832,3,9827,2021,Oxygen +9274,499097,1,9830,2021,Without Remorse +9275,3480822,3,9953,2021,Black Widow +9276,14544192,0,9954,2021,Inside +9277,3228774,3,9861,2021,Cruella +9278,12783454,3,10050,2021,Kissing Booth 3 +9279,3811906,3,10048,2021,Malignant +9280,9115530,3,10047,2021,Eyes of Tammy Faye +9281,10342730,3,9882,2021,Spiral: From the Book of Saw +9282,11742798,3,10046,2021,Afterlife of the Party +9283,9844522,3,10043,2021,Escape Room: Tournament of Champions +9284,1321510,3,9889,2021,In the Heights +9285,9376612,3,10037,2021,Shang-Chi and the legend of the ten rings +9286,10155932,3,10036,2021,Cinderella +9287,6733874,3,9924,2021,America: The Motion Picture +9288,4733624,3,9913,2021,Fatherhood +9289,7069210,1,9914,2021,Conjuring: The Devil Made Me Do It +9290,5433138,3,9917,2021,F9 - The Fast Saga +9291,6566576,3,9963,2021,Fear Street: Part One - 1994 +9292,12801262,1,9964,2021,Luca +9293,9701940,3,9965,2021,Fear Street: Part Two - 1978 +9294,13172796,3,9967,2021,Plan B +9295,10676012,3,9971,2021,To All the Boys: Always and Forever +9296,3554046,3,9973,2021,Space Jam: A New Legacy +9297,10731768,3,10033,2021,Sweet Girl +9298,10954652,3,9983,2021,Old +9300,870154,3,9996,2021,Jungle Cruise +9301,8368408,3,9997,2021,Gunpowder Milkshake +9302,11003218,0,9998,2021,Pig +9303,10355058,1,9999,2021,Secret Agent Dingledorf and His Trusty Dog Splat +9304,3215824,1,10002,2021,Those Who Wish Me Dead +9305,6334354,3,10004,2021,The Suicide Squad +9306,9701942,3,10006,2021,Fear Street: Part Three - 1666 +9307,10944760,2,10008,2021,Titane +9308,6902332,2,10009,2021,The Marksman +9309,6264654,1,10012,2021,Free Guy +9310,14039582,3,10014,2021,Drive My Car +9311,9243804,1,10015,2021,The Green Knight +9312,8231668,3,10017,2021,Good on Paper +9313,3272066,2,10018,2021,Reminiscence +9314,10307724,3,10019,2021,Madame Claude +9315,10868922,3,10023,2021,The Influencer +9316,11525644,3,10026,2021,No Sudden Move +9317,10016180,3,10027,2021,The Little Things +9318,14156262,0,10051,2021,"La Luna, Tomasico y mi abuela" +9319,1160419,2,10052,2021,Dune +9320,14843560,0,10065,2021,Hasktag Nofilter +9321,10366460,3,10076,2021,CODA +9322,2382320,2,10075,2021,No Time To Die +9323,8110232,2,10074,2021,The Many Saints of Newark +9324,9421570,1,10079,2021,The Guilty +9325,11804152,0,10083,2021,Till Death +9326,4244994,3,10085,2021,The Last Duel +9327,7097896,2,10092,2021,Venom Let there be Carnage +9328,2452150,3,10106,2021,Respect diff --git a/lib/tasks/project_components/persuasive_data_presentation_bechdel_starter/main.py b/lib/tasks/project_components/persuasive_data_presentation_bechdel_starter/main.py new file mode 100644 index 00000000..873b6edf --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_bechdel_starter/main.py @@ -0,0 +1,3 @@ +#!/bin/python3 + +# Data headings: 0 Number, 1 imdbid, 2 rating, 3 id, 4 year, 5 title diff --git a/lib/tasks/project_components/persuasive_data_presentation_bechdel_starter/project_config.yml b/lib/tasks/project_components/persuasive_data_presentation_bechdel_starter/project_config.yml new file mode 100644 index 00000000..a7b7c3b4 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_bechdel_starter/project_config.yml @@ -0,0 +1,13 @@ +NAME: "Persuasive Data Presentation: Bechdel Test Scores" +IDENTIFIER: "data-bechdel-starter" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "bechdel" + extension: "csv" + location: "bechdel.csv" + index: 1 + default: false diff --git a/lib/tasks/project_components/persuasive_data_presentation_blank_starter/main.py b/lib/tasks/project_components/persuasive_data_presentation_blank_starter/main.py new file mode 100644 index 00000000..75132f35 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_blank_starter/main.py @@ -0,0 +1,3 @@ +#!/bin/python3 + +# Add your own CSV file diff --git a/lib/tasks/project_components/persuasive_data_presentation_blank_starter/mercator.jpeg b/lib/tasks/project_components/persuasive_data_presentation_blank_starter/mercator.jpeg new file mode 100644 index 00000000..c964a51d Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_blank_starter/mercator.jpeg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_blank_starter/mercator_bw.png b/lib/tasks/project_components/persuasive_data_presentation_blank_starter/mercator_bw.png new file mode 100644 index 00000000..2123563e Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_blank_starter/mercator_bw.png differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_blank_starter/project_config.yml b/lib/tasks/project_components/persuasive_data_presentation_blank_starter/project_config.yml new file mode 100644 index 00000000..2c18fe5c --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_blank_starter/project_config.yml @@ -0,0 +1,17 @@ +NAME: "Persuasive Data Presentation" +IDENTIFIER: "data-blank-starter" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "xy" + extension: "py" + location: "xy.py" + index: 1 + default: false + +IMAGES: + - "mercator.jpeg" + - "mercator_bw.png" diff --git a/lib/tasks/project_components/persuasive_data_presentation_blank_starter/xy.py b/lib/tasks/project_components/persuasive_data_presentation_blank_starter/xy.py new file mode 100644 index 00000000..2947f63c --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_blank_starter/xy.py @@ -0,0 +1,26 @@ +#!/bin/python3 +from math import radians, pi, log, tan + +def convert_lat_long(latitude, longitude, map_width, map_height): + + false_easting = 180 + radius = map_width / (2 * pi) + latitude = radians(latitude) + longitude = radians(longitude + false_easting) + + x_coord = longitude * radius + + y_dist_from_equator = radius * log(tan(pi / 4 + latitude / 2)) + y_coord = map_height / 2 - y_dist_from_equator + + coords = {'x': x_coord, 'y': y_coord} + + return coords + + +def get_xy_coords(longitude, latitude, map_width=991, map_height=768): + + coords = None + + coords = convert_lat_long(latitude, longitude, map_width, map_height) + return coords diff --git a/lib/tasks/project_components/persuasive_data_presentation_caffeine_starter/caffeine.csv b/lib/tasks/project_components/persuasive_data_presentation_caffeine_starter/caffeine.csv new file mode 100644 index 00000000..daa74087 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_caffeine_starter/caffeine.csv @@ -0,0 +1,610 @@ +Costa Coffee,256.993715,0,277,Coffee +Coffee Friend Brewed Coffee,250.19181,0,145,Coffee +Hell Energy Coffee,250.19181,150,100,Coffee +Killer Coffee (AU),250.19181,0,430,Coffee +Nescafe Gold,250.19181,0,66,Coffee +Espresso Monster,248.4174,170,160,Coffee +Dunkin Donuts Shot In The Dark,239.54535,80,134,Coffee +Illy Issimo Cafe,201.0998,45,155,Coffee +Starbucks Doubleshot Espresso,192.22775,140,120,Coffee +TrueStart Performance Coffee,150.82485,0,95,Coffee +Bizzy Cold Brew,78.961245,0,125,Coffee +Zola Coconut Water Espresso,517.53625,0,125,Coffee +Barista Bros Iced Coffee,500.087885,204,140,Coffee +Dare Iced Coffee,500.087885,429,160,Coffee +V Iced Coffee,500.087885,345,155,Coffee +Bottled Iced Coffee Dunkin Donuts,405.15695,260,171,Coffee +Starbucks Bottled Frappuccino,405.15695,300,110,Coffee +Stok Cold Brew,405.15695,0,145,Coffee +Wide Awake Iced Coffee Drinks,405.15695,290,30,Coffee +Caribou Canned Cold Brew,340.09525,10,177,Coffee +McDonalds Iced Coffee,340.09525,180,133,Coffee +Premier Protein Cafe Latte,340.09525,160,120,Coffee +Stumptown Cold Brew Coffee,310.52175,3,279,Coffee +Espresso Shot,44.36025,0,77,Coffee +Peet's Coffee Espresso,44.36025,0,70,Coffee +Peet's Decaf Espresso,44.36025,0,10,Coffee +Gourmesso Coffee Pods,39.924225,0,65,Coffee +Nespresso Coffee Capsules,39.924225,0,60,Coffee +Stok Coffee Shots,12.716605,10,40,Coffee +Starbucks Bottled Iced Coffee,1419.528,240,640,Coffee +Baskin Robbins Cappuccino Blast,709.764,470,234,Coffee +Dunkin' Cold Brew,709.764,5,260,Coffee +Dunkin' Donuts Iced Coffee,709.764,20,297,Coffee +Dunkin' Donuts Iced Latte,709.764,100,166,Coffee +Dutch Bros Coffee (Classic),591.47,10,187,Coffee +Tim Hortons Large Brewed Coffee,591.47,5,270,Coffee +7 Eleven Brewed Coffee,473.176,5,280,Coffee +Arby's Jamocha Shake,473.176,830,12,Coffee +Biggby Brewed Coffee,473.176,0,200,Coffee +Biggby Creamy Lattes,473.176,387,100,Coffee +Biggby Iced Coffee,473.176,0,155,Coffee +Caribou Brewed Coffee,473.176,5,305,Coffee +Coffee Bean & Tea leaf Coffee,473.176,5,333,Coffee +Einstein Bros Coffee,473.176,0,206,Coffee +Latte,473.176,160,154,Coffee +McDonalds (McCafe) Latte,473.176,190,142,Coffee +McDonalds (McCafe) Mocha,473.176,380,167,Coffee +McDonalds Coffee,473.176,0,145,Coffee +Panera Bread Coffee,473.176,15,189,Coffee +Peet's Brewed Coffee,473.176,5,267,Coffee +Peet's Caffe Americano,473.176,10,140,Coffee +Peet's Caffe Latte,473.176,190,140,Coffee +Peet's Caffe Mocha,473.176,390,165,Coffee +Peet's Cappuccino,473.176,140,140,Coffee +Peet's Iced Coffee,473.176,0,150,Coffee +Peet's Iced Latte,473.176,120,140,Coffee +Peet's Iced Mocha,473.176,310,165,Coffee +Starbucks Caramel Macchiato,473.176,250,150,Coffee +Starbucks Cold Brew Coffee,473.176,5,205,Coffee +Starbucks Decaf Coffee,473.176,0,25,Coffee +Starbucks Grande Caffe Americano,473.176,15,225,Coffee +Starbucks Grande Caffe Latte,473.176,190,150,Coffee +Starbucks Grande Caffe Mocha,473.176,370,175,Coffee +Starbucks Grande Cappuccino,473.176,140,150,Coffee +Starbucks Grande Coffee,473.176,5,310,Coffee +Starbucks Iced Americano,473.176,15,225,Coffee +Starbucks Nitro Cold Brew Coffee,473.176,5,280,Coffee +Starbucks Pink Drink,473.176,140,45,Coffee +Starbucks Pumpkin Cream Cold Brew,473.176,250,185,Coffee +Starbucks Refreshers,473.176,70,45,Coffee +Wawa Coffee,473.176,4,290,Coffee +Private Selection Canned Espresso,443.6025,230,145,Coffee +Starbucks Doubleshot Energy,443.6025,220,135,Coffee +Wide Awak Energy Coffee,443.6025,190,180,Coffee +Chick-fil-A Frosted Coffee,414.029,240,130,Coffee +Chick-fil-A Iced Coffee,414.029,190,80,Coffee +Dunkin' Donuts Brewed Coffee,414.029,5,210,Coffee +Dunkin' Donuts Dunkaccino,414.029,350,83,Coffee +Dunkin' Donuts Extra Charged Coffee,414.029,10,252,Coffee +Dunkin' Donuts Latte,414.029,100,166,Coffee +Americano Coffee,354.882,5,154,Coffee +Big Train Java Chip Ice Coffee,354.882,410,49,Coffee +Biohazard Coffee,354.882,3,928,Coffee +Black Ink Coffee,354.882,0,144,Coffee +Black Insomnia Coffee,354.882,0,1105,Coffee +Black Label Brewed Coffee,354.882,0,1555,Coffee +Cafe Bustelo,354.882,0,150,Coffee +Caffe Mocha,354.882,239,152,Coffee +Caffe Nero Coffee,354.882,5,160,Coffee +Cannonball Coffee Maximum Charge (UK),354.882,0,1101,Coffee +Cappuccino,354.882,97,154,Coffee +Death Wish Coffee,354.882,0,728,Coffee +Devils Brew Extreme Caffeine Coffee,354.882,0,1325,Coffee +Flat White,354.882,170,130,Coffee +GymBrew Coffee,354.882,4,333,Coffee +High Voltage Coffee (AU),354.882,0,1150,Coffee +International Delight Iced Coffee,354.882,180,88,Coffee +Seattle's Best Brewed Coffee,354.882,10,260,Coffee +Starbucks Iced Espresso Classics,354.882,190,125,Coffee +Stipe Miocic Extra Strength Coffee,354.882,0,500,Coffee +Sudden Instant Coffee,354.882,0,95,Coffee +Taft Coffee (EU),354.882,0,1182,Coffee +Very Strong Coffee,354.882,0,1350,Coffee +Chameleon Cold Brew With Milk,325.3085,100,100,Coffee +Muscle Milk Coffee House,325.3085,130,120,Coffee +SlimFast Shake - Cappuccino,325.3085,180,100,Coffee +Starbucks Bottled Cold Brew,325.3085,50,180,Coffee +Starbucks Canned Nitro Cold Brew,325.3085,0,235,Coffee +Starbucks Cold & Crafted,325.3085,50,135,Coffee +Stumptown Nitro Cold Brew,325.3085,3,330,Coffee +Sunup Pure Green Coffee,325.3085,5,200,Coffee +Wide Awake Coffee Cold Brew,325.3085,5,120,Coffee +Chameleon Cold Brew RTD,295.735,10,230,Coffee +Chick-fil-A Brewed Coffee,295.735,0,136,Coffee +CoolBrew Coffee,295.735,0,60,Coffee +Tim Hortons Small French Vanilla Coffee,295.735,0,60,Coffee +La Colombe Cold Brew,266.1615,5,180,Coffee +La Colombe Draft Latte,266.1615,90,120,Coffee +Alpine Start Instant Coffee,236.588,0,120,Coffee +Bulletproof Coffee,236.588,0,145,Coffee +Califia Farms Cold Brew Coffee,236.588,10,180,Coffee +CBD Coffee,236.588,0,100,Coffee +Chameleon Cold Brew Coffee,236.588,15,200,Coffee +Coffee,236.588,0,163,Coffee +"Coffee (Decaf, Instant)",236.588,6,2,Coffee +Coffee (Instant),236.588,0,57,Coffee +Coffee Leaf Tea,236.588,0,20,Coffee +Crio Bru Brewed Cacao,236.588,20,10,Coffee +Death Wish Canned Cold Brew,236.588,15,300,Coffee +Death Wish Latte,236.588,170,300,Coffee +Decaf Coffee,236.588,2,6,Coffee +Driftaway Coffee,236.588,0,160,Coffee +Eight O'Clock Coffee,236.588,0,112,Coffee +Folgers Coffee,236.588,0,112,Coffee +Gold Peak Coffee,236.588,5,126,Coffee +Gothrider Gasoline Coffee,236.588,0,200,Coffee +High Brew Coffee,236.588,50,140,Coffee +Indulgio Cappuccino,236.588,79,20,Coffee +K Cup Decaf,236.588,0,4,Coffee +K-Cup Coffee,236.588,0,100,Coffee +Maxwell House Coffee,236.588,0,112,Coffee +Maxwell House Max Boost Coffee,236.588,0,196,Coffee +Nescafe Dolce Gusto,236.588,0,106,Coffee +Nescafe Ice Java,236.588,50,100,Coffee +Nescafe Ricoffy,236.588,10,6,Coffee +Nestle Milo,236.588,80,4,Coffee +Noocaf Smart Coffee,236.588,0,160,Coffee +Ocean Spray Brew,236.588,30,40,Coffee +Purity Coffee,236.588,0,163,Coffee +Revv Coffee Pods,236.588,0,127,Coffee +Robusta Coffee,236.588,0,265,Coffee +Starbucks 2X Coffee Pods,236.588,0,260,Coffee +Starbucks Cordusio Mocha,236.588,130,155,Coffee +Starbucks Verismo Coffee Pods,236.588,0,60,Coffee +Starbucks Via Ready Brew,236.588,0,135,Coffee +Steep 18 Cold Brew,236.588,0,90,Coffee +Taster's Choice Instant Coffee,236.588,0,98,Coffee +Voila Instant Coffee,236.588,0,100,Coffee +Waka Decaf Instant Coffee,236.588,0,4,Coffee +Waka Indian Instant Coffee,236.588,0,70,Coffee +Waka Instant Coffee,236.588,0,70,Coffee +Whipped (Dalgona) Coffee,236.588,48,105,Coffee +Mushroom Coffee,207.0145,5,40,Coffee +Cafe Con Leche,177.441,56,154,Coffee +Choffy (roasted cacao),177.441,0,23,Coffee +COGO Caffeinated Hot Chocolate,177.441,110,98,Coffee +Dripdash Kyoto Coffee,177.441,0,225,Coffee +Long Black,177.441,2,154,Coffee +Nescafe 3 in 1 Instant Coffee,177.441,74,50,Coffee +Gloria Jean's Coffee,59.975058,0,67,Coffee +Biggby Espresso,59.147,0,100,Coffee +Greek Coffee (Metrios),59.147,25,50,Coffee +Turkish Coffee,59.147,20,50,Coffee +28 Black Energy Drink,250.19181,125,80,Energy Drinks +4 Purpose Energy Drink,250.19181,70,70,Energy Drinks +BEEBAD Energy Drink,250.19181,110,80,Energy Drinks +Black Bruin Energy Drink,250.19181,122,38,Energy Drinks +Blu Frog Energy Drink,250.19181,90,80,Energy Drinks +Blue Bolt (UK),250.19181,112,80,Energy Drinks +Blue Charge (UK),250.19181,49,80,Energy Drinks +Blue Spark (UK),250.19181,56,75,Energy Drinks +Bomb Energy Drink,250.19181,0,80,Energy Drinks +Boost Energy (UK),250.19181,58,80,Energy Drinks +Euro Shopper Energy Drink (EU),250.19181,115,80,Energy Drinks +Hell Energy Drink (EU),250.19181,115,80,Energy Drinks +Hype Energy Drink (EU),250.19181,108,80,Energy Drinks +M-150 Energy Drink,250.19181,155,80,Energy Drinks +Pure Cofain 699 (EU),250.19181,148,175,Energy Drinks +Red Bull,250.19181,117,80,Energy Drinks +Red Bull Editions,250.19181,113,80,Energy Drinks +Red Bull Sugarfree,250.19181,10,80,Energy Drinks +Red Bull Zero,250.19181,0,80,Energy Drinks +Scheckters Energy Drink,250.19181,78,80,Energy Drinks +Slammers Energy Drink (EU),250.19181,122,80,Energy Drinks +Source 1899 (UK),250.19181,58,80,Energy Drinks +Taurus Energy Drink,250.19181,180,50,Energy Drinks +TENZING Natural Energy,250.19181,50,80,Energy Drinks +Tiger Energy Drink,250.19181,0,80,Energy Drinks +Tweaker Energy Drink,250.19181,110,80,Energy Drinks +Virtue Clean Energy Beverage,250.19181,8,80,Energy Drinks +Wildcat Energy Drink (UK),250.19181,115,80,Energy Drinks +X Ray Energy Drink,250.19181,125,79,Energy Drinks +OK Energy Drink,249.896075,113,80,Energy Drinks +Power Horse Energy Drink (EU),249.896075,125,80,Energy Drinks +V Energy Drink,249.896075,116,78,Energy Drinks +XL Energy Drink (EU),249.896075,118,80,Energy Drinks +Crave Energy Drink (UK),249.304605,10,80,Energy Drinks +Bomba (EU),248.4174,123,80,Energy Drinks +Cintron Energy Drink,248.4174,60,85,Energy Drinks +Dutch Bros Blue Rebel Energy Drink,248.4174,116,80,Energy Drinks +XS Energy Drink,248.4174,10,80,Energy Drinks +Wild Tiger Energy Drink,247.23446,125,75,Energy Drinks +Liquid Ice Energy Drink,245.46005,120,80,Energy Drinks +Rush! Energy Drink,245.46005,120,80,Energy Drinks +Monster Hydro,751.1669,150,188,Energy Drinks +Monster Import,550.0671,190,179,Energy Drinks +Moose Juice Energy Drink,500.97509,0,200,Energy Drinks +Club Mate (EU),500.087885,160,100,Energy Drinks +Demon Energy Drink,500.087885,253,160,Energy Drinks +LevlUp Gaming Booster,500.087885,8,250,Energy Drinks +Monster Ripper Energy Juice (UK),500.087885,185,160,Energy Drinks +Monster The Doctor VR46 (UK),500.087885,219,160,Energy Drinks +Mother Energy Drink,500.087885,228,160,Energy Drinks +Protein2O + Energy,500.087885,70,125,Energy Drinks +Strike Force Energy Drink Mix,500.087885,0,160,Energy Drinks +4C Energy Drink Mix,499.79215,15,170,Energy Drinks +Arizona Arnold Palmer Half and Half,499.79215,180,15,Energy Drinks +Gatorade Bolt 24 Energize,499.79215,40,75,Energy Drinks +Live+ Energy Drink,499.79215,227,150,Energy Drinks +Pure Kick Energy Drink Mix,499.79215,10,80,Energy Drinks +Monster Dragon Tea,458.38925,40,155,Energy Drinks +Monster Rehab,458.38925,25,170,Energy Drinks +Neuro Sonic,428.81575,35,100,Energy Drinks +Lucozade,380.019475,133,46,Energy Drinks +Fakeer Energy Drink (EU),370.26022,148,118,Energy Drinks +Arizona Energy Drink Rx,340.09525,130,127,Energy Drinks +Bai Boost,339.208045,10,110,Energy Drinks +NOCCO Energy Drink (EU),330.335995,0,180,Energy Drinks +Carabao Energy Drink (UK),330.04026,63,106,Energy Drinks +Irn Bru (UK),330.04026,65,30,Energy Drinks +Soylent Stacked,330.04026,180,100,Energy Drinks +Red Eye Energy Drink,328.26585,149,106,Energy Drinks +Mega Monster Energy Drink,709.764,320,240,Energy Drinks +Amino Force Energy Drink,650.617,0,200,Energy Drinks +Bodyarmour Edge,591.47,180,100,Energy Drinks +SoBe Energy Citrus,591.47,250,81,Energy Drinks +ABB Turbo Tea Zero,532.323,0,120,Energy Drinks +Bai Antioxidant Infusion,532.323,10,55,Energy Drinks +Viso Energy Drink,502.7495,140,300,Energy Drinks +3D Energy Drink,473.176,15,200,Energy Drinks +Adrenaline Shoc,473.176,10,300,Energy Drinks +Alsa Energy Drink Mix,473.176,30,100,Energy Drinks +Bang Energy,473.176,0,300,Energy Drinks +Bang Keto Coffee,473.176,130,300,Energy Drinks +Bang Natural,473.176,0,250,Energy Drinks +Bang Sweet Tea,473.176,0,300,Energy Drinks +Beaver Buzz Energy Drink,473.176,240,178,Energy Drinks +Berzerk Energy Drink Mix,473.176,5,200,Energy Drinks +C4 Energy Drink,473.176,0,200,Energy Drinks +C4 Smart Energy Drink,473.176,0,200,Energy Drinks +C4 Ultimate Energy Drink,473.176,0,300,Energy Drinks +Celsius Heat Energy Drink,473.176,15,300,Energy Drinks +Crunk Energy Drink,473.176,200,192,Energy Drinks +Crystal Light Energy Mix,473.176,10,60,Energy Drinks +Electric Monkey Wild Energy Drink,473.176,220,160,Energy Drinks +Full Throttle Energy Drink,473.176,220,160,Energy Drinks +GFuel Cans,473.176,0,300,Energy Drinks +GFuel Energy Drink Mix,473.176,15,140,Energy Drinks +Go Fast Energy Drink,473.176,200,160,Energy Drinks +Go Fast High Octane Energy Drink,473.176,0,300,Energy Drinks +Great Value Energy Drink Mix,473.176,10,120,Energy Drinks +Gridlock Energy Drink,473.176,200,140,Energy Drinks +Hi Ball Energy Drink,473.176,0,160,Energy Drinks +Joker Mad Energy,473.176,260,160,Energy Drinks +Liquid Help Energy Drink,473.176,0,300,Energy Drinks +Loud Energy Drink,473.176,10,320,Energy Drinks +Monster Assault,473.176,210,160,Energy Drinks +Monster Energy,473.176,210,160,Energy Drinks +Monster Juice,473.176,160,160,Energy Drinks +Monster Lo-Carb,473.176,30,140,Energy Drinks +Monster Mango Loco,473.176,240,152,Energy Drinks +Monster Mule,473.176,210,160,Energy Drinks +Monster Pipeline Punch,473.176,190,160,Energy Drinks +Monster Ultra,473.176,10,150,Energy Drinks +Monster Zero Sugar,473.176,10,140,Energy Drinks +Mountain Dew Amp,473.176,220,142,Energy Drinks +Mountain Dew Game Fuel,473.176,90,90,Energy Drinks +Mountain Dew Rise,473.176,25,180,Energy Drinks +NOS Energy Drink,473.176,200,160,Energy Drinks +Nuun Sport,473.176,15,40,Energy Drinks +Propel Zero Powder,473.176,0,0,Energy Drinks +Pure Boost Energy Drink Mix,473.176,25,100,Energy Drinks +Quake Energy Berry Blast Slurpee,473.176,5,92,Energy Drinks +Quake Energy Drink,473.176,0,250,Energy Drinks +Raze Energy Drink,473.176,0,300,Energy Drinks +Reign Total Body Fuel,473.176,0,300,Energy Drinks +Rip It Energy Drink,473.176,260,160,Energy Drinks +Rockstar Boom,473.176,280,160,Energy Drinks +Rockstar Energy Drink (Original),473.176,250,160,Energy Drinks +Rockstar Halo Infinite,473.176,250,240,Energy Drinks +Rockstar Juiced,473.176,30,170,Energy Drinks +Rockstar Punched,473.176,260,240,Energy Drinks +Rockstar Pure Zero,473.176,20,240,Energy Drinks +Rockstar Recovery,473.176,25,160,Energy Drinks +Rockstar Sugar Free,473.176,25,160,Energy Drinks +Rockstar Thermo,473.176,0,300,Energy Drinks +Rockstar XDurance,473.176,10,300,Energy Drinks +Rockstar Zero Carb,473.176,25,240,Energy Drinks +Rogue Energy Drink Mix,473.176,5,175,Energy Drinks +Rowdy Energy Drink,473.176,5,160,Energy Drinks +Sneak Energy Drink Mix,473.176,12,150,Energy Drinks +Solimo Energy Drink,473.176,10,152,Energy Drinks +Speed Energy Fuel,473.176,240,186,Energy Drinks +Spider Energy Drink,473.176,120,240,Energy Drinks +Spike Hardcore Energy,473.176,0,350,Energy Drinks +Triton Energy Drink,473.176,15,200,Energy Drinks +True Lemon Energy Mix,473.176,0,120,Energy Drinks +Ugly Energy Water,473.176,0,160,Energy Drinks +Venom Death Adder,473.176,160,160,Energy Drinks +Wired X 3000 Energy Drink,473.176,220,185,Energy Drinks +Wired X Berry Rush,473.176,220,95,Energy Drinks +Wired X344 Energy Drink,473.176,220,344,Energy Drinks +Xyience Energy Drink,473.176,15,160,Energy Drinks +ZipFizz Energy Drink Mix,473.176,20,100,Energy Drinks +Zoa Energy Drink,473.176,100,160,Energy Drinks +Java Monster,443.6025,220,200,Energy Drinks +Java Monster 300,443.6025,200,300,Energy Drinks +Muscle Monster,443.6025,180,157,Energy Drinks +Rockstar Organic Energy Drink,443.6025,180,160,Energy Drinks +Starbucks Triple Shot Energy,443.6025,210,225,Energy Drinks +Alani Nu Energy Drink,354.882,10,200,Energy Drinks +ALL IN Energy Drink,354.882,25,75,Energy Drinks +AXIO Energy Drink Mix,354.882,0,100,Energy Drinks +Bing Energy Drink,354.882,40,120,Energy Drinks +BreinFuel,354.882,110,360,Energy Drinks +Burn Energy Drink,354.882,163,112,Energy Drinks +C4 On The Go,354.882,0,200,Energy Drinks +Celsius Energy Drink,354.882,10,200,Energy Drinks +Celsius Stevia,354.882,15,200,Energy Drinks +Coca-Cola Cherry Vanilla,354.882,140,34,Energy Drinks +Coca-Cola Energy,354.882,140,114,Energy Drinks +Cocaine Energy Drink,354.882,90,280,Energy Drinks +Dark Dog Organic Energy,354.882,110,114,Energy Drinks +Duff Energy Drink,354.882,170,120,Energy Drinks +EBOOST Super Fuel,354.882,20,110,Energy Drinks +EnerBee Energy Drink,354.882,80,100,Energy Drinks +Go Girl Energy Drink,354.882,25,100,Energy Drinks +GURU Energy Drink,354.882,115,140,Energy Drinks +Hyde Xtreme,354.882,0,400,Energy Drinks +Java Kick Coffee Cola,354.882,130,100,Energy Drinks +Kill Cliff Energy X Recover,354.882,20,25,Energy Drinks +Kill Cliff Ignite,354.882,25,150,Energy Drinks +Kona Gold Energy Drink,354.882,150,115,Energy Drinks +Marquis Energy Drink,354.882,0,100,Energy Drinks +MATI Energy Drink,354.882,90,110,Energy Drinks +Meltdown Ketone Drink,354.882,18,225,Energy Drinks +Monster Maxx,354.882,160,200,Energy Drinks +Nerd Focus,354.882,170,128,Energy Drinks +Octane Energy Drink Mix,354.882,25,225,Energy Drinks +Red Power Elixir,354.882,160,160,Energy Drinks +Red Thunder Energy Drink,354.882,156,120,Energy Drinks +RootJack Caffeinated Pirate Root Beer,354.882,200,120,Energy Drinks +Runa,354.882,0,150,Energy Drinks +Sambazon Amazon Energy Drink,354.882,120,120,Energy Drinks +Spike Shooter,354.882,10,300,Energy Drinks +Steaz Energy,354.882,140,100,Energy Drinks +T-Virus Antidote,354.882,160,100,Energy Drinks +Tru Energy Wakeup,354.882,10,100,Energy Drinks +UPTIME Energy Drink,354.882,150,142,Energy Drinks +USANA Rev3 Energy Drink,354.882,105,120,Energy Drinks +Xtreme Shock Energy Drink,354.882,20,200,Energy Drinks +Zest Sparkling Tea,354.882,60,135,Energy Drinks +Zevia Energy Drink,354.882,0,120,Energy Drinks +Cran Energy Juice,295.735,40,70,Energy Drinks +Mamma Chia Energy,295.735,110,90,Energy Drinks +Oikos Pro Fuel,295.735,130,100,Energy Drinks +Advocare Slim,236.588,0,120,Energy Drinks +Arbonne Energy Fizz Stck,236.588,15,55,Energy Drinks +Berocca,236.588,5,90,Energy Drinks +Best Choice Strawberry Energy Drink Mix,236.588,5,120,Energy Drinks +EBOOST Energy Drink Mix,236.588,5,110,Energy Drinks +EBOOST Workout Crusher Mix,236.588,40,175,Energy Drinks +Great Value Energy Drink Enhancers,236.588,0,50,Energy Drinks +Kin Spritz,236.588,25,50,Energy Drinks +LYFT Energy Mix,236.588,4,125,Energy Drinks +PerformElite Pre-Workout,236.588,0,225,Energy Drinks +Perk Energy Beverage,236.588,90,100,Energy Drinks +Redline Princess,236.588,0,300,Energy Drinks +Redline Xtreme Energy Drink,236.588,0,316,Energy Drinks +Roaring Lion Energy Drink,236.588,100,77,Energy Drinks +Spark Energy Drink Mix,236.588,15,120,Energy Drinks +V8 +Energy Drink,236.588,140,80,Energy Drinks +Spike Energy Double Shot,125.98311,0,350,Energy Shots +Zombie Blood Energy Potion,100.5499,25,80,Energy Shots +Proper Wild Energy Shot,73.93375,25,180,Energy Shots +Redline Max 300,73.93375,0,300,Energy Shots +5 Hour Energy,57.076855,4,200,Energy Shots +5 Hour Energy Extra Strength,57.076855,0,230,Energy Shots +E6 Energy Shot,57.076855,0,235,Energy Shots +Eternal Energy Extra Strength,57.076855,0,280,Energy Shots +Eternal Energy Shot,57.076855,0,230,Energy Shots +Woke Up Energy Shot,57.076855,0,225,Energy Shots +Equip Pure Energy Shot,53.2323,35,100,Energy Shots +Mana Energy Potion,49.979215,25,75,Energy Shots +Clif Shot Energy Gel,35.4882,100,100,Energy Shots +Screamin Energy Max Hit,18.039835,40,185,Energy Shots +Vital 4U Liquid Energy,14.78675,34,155,Energy Shots +Kaffn8 Liquified Caffeine,7.393375,0,75,Energy Shots +Bang Shot,88.7205,0,300,Energy Shots +Redline Xtreme Shot,88.7205,5,300,Energy Shots +7-Eleven Energy Shot,59.147,0,260,Energy Shots +Advocare Slam Energy Shot,59.147,10,120,Energy Shots +Balance Active Shot,59.147,80,100,Energy Shots +Balance Energy Shot,59.147,77,150,Energy Shots +Forto Organic Coffee Shot,59.147,35,225,Energy Shots +Kirkland Energy Shot,59.147,5,180,Energy Shots +Neu Nootropic Shot,59.147,0,350,Energy Shots +Nutramint Smart Serum,59.147,45,200,Energy Shots +Performance Caffeine,59.147,0,180,Energy Shots +Phoenix Energy Shot,59.147,0,280,Energy Shots +Red Thunder Energy Shot,59.147,0,138,Energy Shots +Red Thunder Extra Strength,59.147,0,230,Energy Shots +Reed's Ginger Energize Shot,59.147,24,100,Energy Shots +Rip It Energy Shot,59.147,0,120,Energy Shots +Stacker Extreme Energy Shot,59.147,0,205,Energy Shots +Tweaker Shot,59.147,0,275,Energy Shots +TruBrain Extra,29.5735,25,100,Energy Shots +X-Mode Energy Shot,29.5735,0,150,Energy Shots +Red Bull Simply Cola,250.19181,0,32,Soft Drinks +Afri Cola,330.04026,139,83,Soft Drinks +Fritz Kola (EU),330.04026,135,83,Soft Drinks +Pepsi Max (UK),330.04026,0,43,Soft Drinks +Premium Cola (EU),330.04026,132,83,Soft Drinks +Tropicana Twister Soda,591.47,320,0,Soft Drinks +Bawls,473.176,190,102,Soft Drinks +Mountain Dew Kickstart,473.176,80,90,Soft Drinks +Sprecher Cherry Cola,473.176,240,0,Soft Drinks +7-Up,354.882,140,0,Soft Drinks +A&W Cream Soda,354.882,170,0,Soft Drinks +A&W Root Beer,354.882,170,0,Soft Drinks +A&W Zero Sugar Cream Soda,354.882,0,0,Soft Drinks +Ale 8 1,354.882,120,37,Soft Drinks +Barqs Red Creme Soda,354.882,170,0,Soft Drinks +Barqs Root Beer,354.882,160,22,Soft Drinks +Big Red Soda,354.882,150,34,Soft Drinks +Canada Dry Green Tea Ginger Ale,354.882,140,9,Soft Drinks +Cheerwine,354.882,150,47,Soft Drinks +Coca-Cola Caffeine Free,354.882,140,0,Soft Drinks +Coca-Cola Cherry,354.882,150,34,Soft Drinks +Coca-Cola Cherry Zero Sugar,354.882,0,34,Soft Drinks +Coca-Cola Classic,354.882,140,34,Soft Drinks +Coca-Cola Orange Vanilla,354.882,140,34,Soft Drinks +Coca-Cola Vanilla,354.882,150,34,Soft Drinks +Coca-Cola Vanilla Zero Sugar,354.882,0,34,Soft Drinks +Coca-Cola With Coffee,354.882,70,69,Soft Drinks +Coca-Cola Zero Sugar,354.882,0,34,Soft Drinks +Diet Barqs Root Beer,354.882,0,0,Soft Drinks +Diet Cheerwine,354.882,0,47,Soft Drinks +Diet Coke,354.882,0,46,Soft Drinks +Diet Coke with Splenda,354.882,0,46,Soft Drinks +Diet Dr Pepper,354.882,0,41,Soft Drinks +Diet Mountain Dew,354.882,0,54,Soft Drinks +Diet Pepsi,354.882,0,35,Soft Drinks +Diet RC Cola,354.882,0,48,Soft Drinks +Diet Wild Cherry Pepsi,354.882,0,38,Soft Drinks +doc Soda,354.882,150,60,Soft Drinks +Double Cola,354.882,160,36,Soft Drinks +Dr Pepper,354.882,150,42,Soft Drinks +Dr Pepper 10,354.882,10,51,Soft Drinks +Dr Shasta Soda,354.882,0,29,Soft Drinks +Fanta,354.882,160,0,Soft Drinks +Faygo Cola,354.882,165,43,Soft Drinks +Faygo Moon Mist,354.882,150,20,Soft Drinks +Fresca,354.882,0,0,Soft Drinks +Ginger Ale,354.882,140,0,Soft Drinks +Green Cola,354.882,0,37,Soft Drinks +IBC Root Beer,354.882,160,0,Soft Drinks +Inca Kola,354.882,140,38,Soft Drinks +Kickapoo Soda: Joy Juice & Fruit Shine,354.882,190,40,Soft Drinks +Mello Yello,354.882,170,51,Soft Drinks +Mountain Dew,354.882,170,54,Soft Drinks +Mountain Dew Baja Blast,354.882,170,54,Soft Drinks +Mountain Dew Code Red,354.882,170,54,Soft Drinks +Mountain Dew Live Wire,354.882,180,54,Soft Drinks +Mountain Dew Major Melon,354.882,160,55,Soft Drinks +Mountain Dew Voltage,354.882,170,55,Soft Drinks +Mountain Dew Zero Sugar,354.882,0,68,Soft Drinks +Moxie Soda,354.882,140,24,Soft Drinks +Mug Root Beer,354.882,160,0,Soft Drinks +Orange Crush,354.882,160,0,Soft Drinks +PC Cola,354.882,150,12,Soft Drinks +PC Cola Diet,354.882,0,13,Soft Drinks +Pepsi,354.882,150,38,Soft Drinks +Pepsi Caffeine Free,354.882,150,0,Soft Drinks +Pepsi Made With Sugar,354.882,150,38,Soft Drinks +Pepsi Zero Sugar,354.882,0,69,Soft Drinks +Pibb Xtra,354.882,140,40,Soft Drinks +RC (Royal Crown) Cola,354.882,160,43,Soft Drinks +Ritz Cola,354.882,144,10,Soft Drinks +Ruby Red Squirt,354.882,170,39,Soft Drinks +Sarsaparilla,354.882,170,0,Soft Drinks +Shasta Cola,354.882,170,43,Soft Drinks +Shasta Diet Cola,354.882,0,47,Soft Drinks +Shasta Mountain Rush,354.882,150,54,Soft Drinks +Ski Soda,354.882,180,69,Soft Drinks +Slurpee,354.882,90,30,Soft Drinks +Sprite,354.882,140,0,Soft Drinks +Squirt Soda,354.882,140,0,Soft Drinks +Starbucks Refreshers Canned,354.882,90,50,Soft Drinks +Sun Drop Soda,354.882,170,64,Soft Drinks +Sunkist Orange Soda,354.882,160,19,Soft Drinks +Vernors Ginger Ale,354.882,140,0,Soft Drinks +Wave Soda,354.882,25,42,Soft Drinks +Wild Cherry Pepsi,354.882,160,38,Soft Drinks +Zevia Cola,354.882,0,45,Soft Drinks +Boost Nutritional Drink,236.588,240,5,Soft Drinks +Mucho Mango Energy Drink,236.588,100,0,Soft Drinks +Soda Stream,236.588,40,31,Soft Drinks +PG Tips Black Tea,200.50833,0,50,Tea +Sencha Green Tea Shot,189.2704,0,40,Tea +Xingtea Iced Green Tea,694.97725,50,110,Tea +Gold Peak Tea,547.10975,0,48,Tea +Pure Leaf Iced Tea,547.10975,160,69,Tea +Honest Iced Tea,499.79215,70,63,Tea +Nestea Iced Tea,499.79215,160,23,Tea +Oi Ocha Green Tea,499.79215,5,60,Tea +Teas' Tea Oolong,499.79215,0,70,Tea +Guayaki Canned Yerba Mate,458.38925,120,150,Tea +Inko's White Tea Energy,458.38925,100,165,Tea +Master Brew Kombucha,449.5172,60,76,Tea +McDonalds Sweet Tea,946.352,160,100,Tea +Dunkin' Donuts Iced Tea,709.764,230,63,Tea +Fuze Iced Tea,709.764,160,24,Tea +Peace Tea,680.1905,150,23,Tea +Lipton Iced Tea,591.47,110,25,Tea +SoBe Green Tea,591.47,200,7,Tea +Arizona Iced Tea,473.176,190,30,Tea +Biggby Iced Tea,473.176,0,38,Tea +Chick-fil-A Iced Tea,473.176,120,62,Tea +Guayaki Yerba Mate Bottled Tea,473.176,80,140,Tea +Snapple Tea,473.176,150,37,Tea +Southern Sweet Tea,473.176,128,41,Tea +Taiwanese Milk Tea,473.176,299,151,Tea +Wendy's Iced Tea,473.176,5,32,Tea +Xing Craft Brew,473.176,5,120,Tea +Brew Dr Kombucha Uplift,414.029,80,130,Tea +Brisk Iced Tea,354.882,70,11,Tea +KOE Kombucha,354.882,35,15,Tea +Tejava Iced Tea,354.882,0,50,Tea +Turkey Hill Iced Tea,354.882,120,64,Tea +Big Train Spiced Chai,236.588,210,65,Tea +Bigelow Tea,236.588,0,45,Tea +Brown Rice Tea,236.588,0,4,Tea +Chai Tea,236.588,0,50,Tea +Cold Brew Tea,236.588,0,70,Tea +Crystal Light Iced Tea,236.588,5,10,Tea +Fast Lane Black Tea,236.588,0,110,Tea +Guayusa Tea,236.588,0,41,Tea +HICAF Tea,236.588,0,110,Tea +K Cup Tea,236.588,0,41,Tea +Kombucha Tea,236.588,30,24,Tea +Lipton Natural Energy Tea,236.588,0,75,Tea +Lipton Tea,236.588,0,55,Tea +Matcha Tea,236.588,0,64,Tea +Morning Thunder Tea,236.588,0,45,Tea +Tazo Chai,236.588,0,47,Tea +Tea (Black),236.588,0,42,Tea +Tea (Decaf),236.588,0,4,Tea +Tea (Green),236.588,0,18,Tea +Tea (Herbal),236.588,0,0,Tea +Tea (Iced),236.588,0,47,Tea +Tea (Instant),236.588,0,40,Tea +Tea (Jasmine),236.588,0,25,Tea +Tea (Oolong),236.588,0,37,Tea +Tea (White),236.588,0,28,Tea +Teavana Tea,236.588,0,41,Tea +Twig Tea (Kukicha),236.588,0,25,Tea +Waka Instant Tea,236.588,0,30,Tea +Yellow Tea,236.588,0,63,Tea +Yerba Mate Tea,236.588,0,40,Tea +YMateina Yerba Mate,236.588,0,80,Tea +Zest Highly Caffeinated Tea,236.588,0,150,Tea +Oregon Chai Tea,177.441,130,45,Tea +Pacific Chai,177.441,90,29,Tea +Perrier Energize,250.19181,35,99,Water +3 Water,499.79215,0,50,Water +Heroec Energy Water,499.79215,0,60,Water +Caribou BOUsted Sparkling Water,340.09525,0,75,Water +Phocus Sparkling Water,340.09525,0,75,Water +Poland Spring Sparkling Energy Water,340.09525,35,75,Water +Perrier Sparkling Water,329.744525,0,0,Water +VitaminWater Energy,591.47,100,50,Water +VitaRain Zero Enhanced Water,591.47,0,42,Water +Water Joe,591.47,0,70,Water +Polar Frost Plus Energy,502.7495,10,67,Water +Hint Caffeine Kick Water,473.176,0,60,Water +Sparkling Ice +Caffeine,473.176,5,70,Water +AHA Sparkling Water,354.882,0,30,Water +Arti Sparkling Water,354.882,0,120,Water +Bubbl'r Sparkling Water,354.882,5,69,Water +Bubly Bounce Sparkling Water,354.882,0,35,Water +Bubly Sparkling Water,354.882,0,0,Water +GURU Sparkling Energy Water,354.882,0,100,Water +La Croix Sparkling Water,354.882,0,0,Water +Limitless Sparkling Water,354.882,0,35,Water +Pep Talk Sparkling Water,354.882,0,55,Water +Polar Seltzer Water,354.882,0,0,Water +Yerbae Sparkling Water,354.882,0,100,Water +Tonic Water,295.735,110,0,Water +MiO Energy Water Enhancer,236.588,0,60,Water diff --git a/lib/tasks/project_components/persuasive_data_presentation_caffeine_starter/main.py b/lib/tasks/project_components/persuasive_data_presentation_caffeine_starter/main.py new file mode 100644 index 00000000..350436d8 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_caffeine_starter/main.py @@ -0,0 +1,3 @@ +#!/bin/python3 + +# Data headings: 0 Drink, 1 Volume (ml), 2 Calories, 3 Caffeine (mg), 4 Type diff --git a/lib/tasks/project_components/persuasive_data_presentation_caffeine_starter/mercator.jpeg b/lib/tasks/project_components/persuasive_data_presentation_caffeine_starter/mercator.jpeg new file mode 100644 index 00000000..c964a51d Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_caffeine_starter/mercator.jpeg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_caffeine_starter/mercator_bw.png b/lib/tasks/project_components/persuasive_data_presentation_caffeine_starter/mercator_bw.png new file mode 100644 index 00000000..2123563e Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_caffeine_starter/mercator_bw.png differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_caffeine_starter/project_config.yml b/lib/tasks/project_components/persuasive_data_presentation_caffeine_starter/project_config.yml new file mode 100644 index 00000000..5d34f9a6 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_caffeine_starter/project_config.yml @@ -0,0 +1,22 @@ +NAME: "Persuasive Data Presentation: Caffeinated Drinks" +IDENTIFIER: "data-caffeine-starter" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "xy" + extension: "py" + location: "xy.py" + index: 1 + default: false + - name: "caffeine" + extension: "csv" + location: "caffeine.csv" + index: 2 + default: false + +IMAGES: + - "mercator.jpeg" + - "mercator_bw.png" diff --git a/lib/tasks/project_components/persuasive_data_presentation_caffeine_starter/xy.py b/lib/tasks/project_components/persuasive_data_presentation_caffeine_starter/xy.py new file mode 100644 index 00000000..2947f63c --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_caffeine_starter/xy.py @@ -0,0 +1,26 @@ +#!/bin/python3 +from math import radians, pi, log, tan + +def convert_lat_long(latitude, longitude, map_width, map_height): + + false_easting = 180 + radius = map_width / (2 * pi) + latitude = radians(latitude) + longitude = radians(longitude + false_easting) + + x_coord = longitude * radius + + y_dist_from_equator = radius * log(tan(pi / 4 + latitude / 2)) + y_coord = map_height / 2 - y_dist_from_equator + + coords = {'x': x_coord, 'y': y_coord} + + return coords + + +def get_xy_coords(longitude, latitude, map_width=991, map_height=768): + + coords = None + + coords = convert_lat_long(latitude, longitude, map_width, map_height) + return coords diff --git a/lib/tasks/project_components/persuasive_data_presentation_cards_starter/main.py b/lib/tasks/project_components/persuasive_data_presentation_cards_starter/main.py new file mode 100644 index 00000000..f8a69c94 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_cards_starter/main.py @@ -0,0 +1,8 @@ +#!/bin/python3 + +# Data headings: 0 Number, 1 Name, 2 Type 1, 3 Type 2, 4 HP, 5 Att, 6 Def, 7 Spa, 8 Spd, 9 Spe, 10 BST, 11 Mean, 12 Standard Deviation +# Data headings continued: 13 Generation, 14 Experience type, 15 Experience to level 100, 16 Final Evolution, 17 Catch Rate, 18 Legendary, 19 Mega Evolution +# Data headings continued: 10 Alolan Form, 21 Galarian Form, 22 Against Normal, 23 Against Fire, 24 Against Water, 25 Against Electric +# Data headings continued: 26 Against Grass, 27 Against Ice, 28 Against Fighting, 29 Against Poison, 30 Against Ground, 31 Against Flying, +# Data headings continued: 32 Against Psychic, 33 Against Bug, 34 Against Rock, 35 Against Ghost, 36 Against Dragon, 37 Against Dark, 38 Against Steel +# Data headings continued: 39 Against Fairy, 40 Height, 41 Weight, 42 BMI diff --git a/lib/tasks/project_components/persuasive_data_presentation_cards_starter/pokemon.csv b/lib/tasks/project_components/persuasive_data_presentation_cards_starter/pokemon.csv new file mode 100644 index 00000000..203de926 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_cards_starter/pokemon.csv @@ -0,0 +1,1032 @@ +1,Bulbasaur,Grass,Poison,45,49,49,65,65,45,318,53,8.640987598,1,Medium Slow,1059860,0,45,0,0,0,0,1,2,0.5,0.5,0.25,2,0.5,1,1,2,2,1,1,1,1,1,1,0.5,0.7,6.9,14.1 +2,Ivysaur,Grass,Poison,60,62,63,80,80,60,405,67.5,8.902246907,1,Medium Slow,1059860,0,45,0,0,0,0,1,2,0.5,0.5,0.25,2,0.5,1,1,2,2,1,1,1,1,1,1,0.5,1,13,13 +3,Venusaur,Grass,Poison,80,82,83,100,100,80,525,87.5,8.902246907,1,Medium Slow,1059860,1,45,0,0,0,0,1,2,0.5,0.5,0.25,2,0.5,1,1,2,2,1,1,1,1,1,1,0.5,2,100,25 +3,Mega Venusaur,Grass,Poison,80,100,123,122,120,80,625,104.1666667,18.74759244,6,Medium Slow,1059860,1,45,0,1,0,0,1,2,0.5,0.5,0.25,2,0.5,1,1,2,2,1,1,1,1,1,1,0.5,2.4,155.5,27 +4,Charmander,Fire,,39,52,43,60,50,65,309,51.5,8.995369179,1,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,0.6,8.5,23.6 +5,Charmeleon,Fire,,58,64,58,80,65,80,405,67.5,9.233092656,1,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,1.1,19,15.7 +6,Charizard,Fire,Flying,78,84,78,109,85,100,534,89,11.5758369,1,Medium Slow,1059860,1,45,0,0,0,0,1,0.5,2,2,0.25,1,0.5,1,0,1,1,0.25,4,1,1,1,0.5,0.5,1.7,90.5,31.3 +6,Mega Charizard Y,Fire,Flying,78,104,78,159,115,100,634,105.6666667,27.37801226,6,Medium Slow,1059860,1,45,0,1,0,0,1,0.5,2,2,0.25,1,0.5,1,0,1,1,0.25,4,1,1,1,0.5,0.5,1.7,100.5,34.8 +6,Mega Charizard X,Fire,Dragon,78,130,111,130,85,100,634,105.6666667,20.15495528,6,Medium Slow,1059860,1,45,0,1,0,0,1,0.25,1,0.5,0.25,1,1,1,2,1,1,0.5,2,1,2,1,0.5,1,1.7,110.5,38.2 +7,Squirtle,Water,,44,48,65,50,64,43,314,52.33333333,8.919392107,1,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.5,9,36 +8,Wartortle,Water,,59,63,80,65,80,58,405,67.5,9.142392101,1,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1,22.5,22.5 +9,Blastoise,Water,,79,83,100,85,105,78,530,88.33333333,10.38695763,1,Medium Slow,1059860,1,45,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1.6,85.5,33.4 +9,Mega Blastoise,Water,,79,103,120,135,115,78,630,105,20.95232684,6,Medium Slow,1059860,1,45,0,1,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1.6,101.1,39.5 +10,Caterpie,Bug,,45,30,35,20,20,45,195,32.5,10.30776406,1,Medium Fast,1000000,0,255,0,0,0,0,1,2,1,1,0.5,1,0.5,1,0.5,2,1,1,2,1,1,1,1,1,0.3,2.9,32.2 +11,Metapod,Bug,,50,20,55,25,25,30,205,34.16666667,13.35934962,1,Medium Fast,1000000,0,120,0,0,0,0,1,2,1,1,0.5,1,0.5,1,0.5,2,1,1,2,1,1,1,1,1,0.7,9.9,20.2 +12,Butterfree,Bug,Flying,60,45,50,90,80,70,395,65.83333333,15.92081098,1,Medium Fast,1000000,1,45,0,0,0,0,1,2,1,2,0.25,2,0.25,1,0,2,1,0.5,4,1,1,1,1,1,1.1,32,26.4 +13,Weedle,Bug,Poison,40,35,30,20,20,50,195,32.5,10.70436048,1,Medium Fast,1000000,0,255,0,0,0,0,1,2,1,1,0.25,1,0.25,0.5,1,2,2,0.5,2,1,1,1,1,0.5,0.3,3.2,35.6 +14,Kakuna,Bug,Poison,45,25,50,25,25,35,205,34.16666667,10.17212968,1,Medium Fast,1000000,0,120,0,0,0,0,1,2,1,1,0.25,1,0.25,0.5,1,2,2,0.5,2,1,1,1,1,0.5,0.6,10,27.8 +15,Beedrill,Bug,Poison,65,90,40,45,80,75,395,65.83333333,18.12380264,1,Medium Fast,1000000,1,45,0,0,0,0,1,2,1,1,0.25,1,0.25,0.5,1,2,2,0.5,2,1,1,1,1,0.5,1,29.5,29.5 +15,Mega Beedrill,Bug,Poison,65,150,40,15,80,145,495,82.5,50.22864389,6,Medium Fast,1000000,1,45,0,1,0,0,1,2,1,1,0.25,1,0.25,0.5,1,2,2,0.5,2,1,1,1,1,0.5,1.4,40.5,20.7 +16,Pidgey,Normal,Flying,40,45,40,35,35,56,251,41.83333333,7.197607627,1,Medium Slow,1059860,0,255,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,0.3,1.8,20 +17,Pidgeotto,Normal,Flying,63,60,55,50,50,71,349,58.16666667,7.47031161,1,Medium Slow,1059860,0,120,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,1.1,30,24.8 +18,Pidgeot,Normal,Flying,83,80,75,70,70,101,479,79.83333333,10.60529218,1,Medium Slow,1059860,1,45,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,1.5,39.5,17.6 +18,Mega Pidgeot,Normal,Flying,83,80,80,135,80,121,579,96.5,22.66237705,6,Medium Slow,1059860,1,45,0,1,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,2.2,50.5,10.4 +19,Rattata,Normal,,30,56,35,25,35,72,253,42.16666667,16.46629554,1,Medium Fast,1000000,0,255,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.3,3.5,38.9 +19,Alolan Rattata,Dark,Normal,30,56,35,25,35,72,253,42.16666667,16.46629554,7,Medium Fast,1000000,0,255,0,0,1,0,1,1,1,1,1,1,4,1,1,1,0,2,1,0,1,0.5,1,2,0.3,3.8,42.2 +20,Raticate,Normal,,55,81,60,50,70,97,413,68.83333333,16.15979235,1,Medium Fast,1000000,1,127,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.7,18.5,37.8 +20,Alolan Raticate,Dark,Normal,75,71,70,40,80,77,413,68.83333333,13.33437496,7,Medium Fast,1000000,1,127,0,0,1,0,1,1,1,1,1,1,4,1,1,1,0,2,1,0,1,0.5,1,2,0.7,25.5,52 +21,Spearow,Normal,Flying,40,60,30,31,31,70,262,43.66666667,15.71269833,1,Medium Fast,1000000,0,255,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,0.3,2,22.2 +22,Fearow,Normal,Flying,65,90,65,61,61,100,442,73.66666667,15.44524378,1,Medium Fast,1000000,1,90,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,1.2,38,26.4 +23,Ekans,Poison,,35,60,44,40,54,55,288,48,8.925618559,1,Medium Fast,1000000,0,255,0,0,0,0,1,1,1,1,0.5,1,0.5,0.5,2,1,2,0.5,1,1,1,1,1,0.5,2,6.9,1.7 +24,Arbok,Poison,,60,95,69,65,79,80,448,74.66666667,11.55662388,1,Medium Fast,1000000,1,90,0,0,0,0,1,1,1,1,0.5,1,0.5,0.5,2,1,2,0.5,1,1,1,1,1,0.5,3.5,65,5.3 +25,Pikachu,Electric,,35,55,40,50,50,90,320,53.33333333,17.71690969,1,Medium Fast,1000000,0,190,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,0.4,6,37.5 +26,Raichu,Electric,,60,90,55,90,80,110,485,80.83333333,18.80085695,1,Medium Fast,1000000,1,75,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,0.8,30,46.9 +26,Alolan Raichu,Electric,Psychic,60,85,50,95,85,110,485,80.83333333,20.29299277,7,Medium Fast,1000000,1,75,0,0,1,0,1,1,1,0.5,1,1,0.5,1,2,0.5,0.5,2,1,2,1,2,0.5,1,0.7,21,42.9 +27,Sandshrew,Ground,,50,75,85,20,30,40,300,50,23.27373341,1,Medium Fast,1000000,0,255,0,0,0,0,1,1,2,0,2,2,1,0.5,1,1,1,1,0.5,1,1,1,1,1,0.6,12,33.3 +27,Alolan Sandshrew,Ice,Steel,50,75,90,10,35,40,300,50,26.2995564,7,Medium Fast,1000000,0,255,0,0,1,0,0.5,4,1,1,0.5,0.25,4,0,2,0.5,0.5,0.5,1,1,0.5,1,1,0.5,0.7,40,81.6 +28,Sandslash,Ground,,75,100,110,45,55,65,450,75,23.27373341,1,Medium Fast,1000000,1,90,0,0,0,0,1,1,2,0,2,2,1,0.5,1,1,1,1,0.5,1,1,1,1,1,1,29.5,29.5 +28,Alolan Sandslash,Ice,Steel,75,100,120,25,65,65,450,75,29.86078811,7,Medium Fast,1000000,1,90,0,0,1,0,0.5,4,1,1,0.5,0.25,4,0,2,0.5,0.5,0.5,1,1,0.5,1,1,0.5,1.2,55,38.2 +29,Nidoran♀,Poison,,55,47,52,40,40,41,275,45.83333333,5.983774357,1,Medium Slow,1059860,0,235,0,0,0,0,1,1,1,1,0.5,1,0.5,0.5,2,1,2,0.5,1,1,1,1,1,0.5,0.4,7,43.8 +30,Nidorina,Poison,,70,62,67,55,55,56,365,60.83333333,5.983774357,1,Medium Slow,1059860,0,120,0,0,0,0,1,1,1,1,0.5,1,0.5,0.5,2,1,2,0.5,1,1,1,1,1,0.5,0.8,20,31.3 +31,Nidoqueen,Poison,Ground,90,92,87,75,85,76,505,84.16666667,6.517071599,1,Medium Slow,1059860,1,45,0,0,0,0,1,1,2,0,1,2,0.5,0.25,2,1,2,0.5,0.5,1,1,1,1,0.5,1.3,60,35.5 +32,Nidoran♂,Poison,,46,57,40,40,40,50,273,45.5,6.370504951,1,Medium Slow,1059860,0,235,0,0,0,0,1,1,1,1,0.5,1,0.5,0.5,2,1,2,0.5,1,1,1,1,1,0.5,0.5,9,36 +33,Nidorino,Poison,,61,72,57,55,55,65,365,60.83333333,6.121455891,1,Medium Slow,1059860,0,120,0,0,0,0,1,1,1,1,0.5,1,0.5,0.5,2,1,2,0.5,1,1,1,1,1,0.5,0.9,19.5,24.1 +34,Nidoking,Poison,Ground,81,102,77,85,75,85,505,84.16666667,8.801830618,1,Medium Slow,1059860,1,45,0,0,0,0,1,1,2,0,1,2,0.5,0.25,2,1,2,0.5,0.5,1,1,1,1,0.5,1.4,62,31.6 +35,Clefairy,Fairy,,70,45,48,60,65,35,323,53.83333333,12.18491782,1,Fast,800000,0,150,0,0,0,0,1,1,1,1,1,1,0.5,2,1,1,1,0.5,1,1,0,0.5,2,1,0.6,7.5,20.8 +36,Clefable,Fairy,,95,70,73,95,90,60,483,80.5,13.52466882,1,Fast,800000,1,25,0,0,0,0,1,1,1,1,1,1,0.5,2,1,1,1,0.5,1,1,0,0.5,2,1,1.3,40,23.7 +37,Vulpix,Fire,,38,41,40,50,65,65,299,49.83333333,11.36392929,1,Medium Fast,1000000,0,190,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,0.6,9.9,27.5 +37,Alolan Vulpix,Ice,,38,41,40,50,65,65,299,49.83333333,11.36392929,7,Medium Fast,1000000,0,190,0,0,1,0,1,2,1,1,1,0.5,2,1,1,1,1,1,2,1,1,1,2,1,0.6,9.9,27.5 +38,Ninetales,Fire,,73,76,75,81,100,100,505,84.16666667,11.45158892,1,Medium Fast,1000000,1,75,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,1.1,19.9,16.4 +38,Alolan Ninetales,Ice,Fairy,73,67,75,81,100,109,505,84.16666667,15.17032923,7,Medium Fast,1000000,1,75,0,0,1,0,1,2,1,1,1,0.5,1,2,1,1,1,0.5,2,1,0,0.5,4,1,1.1,19.9,16.4 +39,Jigglypuff,Normal,Fairy,115,45,20,45,25,20,270,45,33.04037934,1,Fast,800000,0,170,0,0,0,0,1,1,1,1,1,1,1,2,1,1,1,0.5,1,0,0,0.5,2,1,0.5,5.5,22 +40,Wigglytuff,Normal,Fairy,140,70,45,85,50,45,435,72.5,33.50994877,1,Fast,800000,1,50,0,0,0,0,1,1,1,1,1,1,1,2,1,1,1,0.5,1,0,0,0.5,2,1,1,12,12 +41,Zubat,Poison,Flying,40,45,35,30,40,55,245,40.83333333,7.861650943,1,Medium Fast,1000000,0,255,0,0,0,0,1,1,1,2,0.25,2,0.25,0.5,0,1,2,0.25,2,1,1,1,1,0.5,0.8,7.5,11.7 +42,Golbat,Poison,Flying,75,80,70,65,75,90,455,75.83333333,7.861650943,1,Medium Fast,1000000,0,90,0,0,0,0,1,1,1,2,0.25,2,0.25,0.5,0,1,2,0.25,2,1,1,1,1,0.5,1.6,55,21.5 +43,Oddish,Grass,Poison,45,50,55,75,65,30,320,53.33333333,14.33720878,1,Medium Slow,1059860,0,255,0,0,0,0,1,2,0.5,0.5,0.25,2,0.5,1,1,2,2,1,1,1,1,1,1,0.5,0.5,5.4,21.6 +44,Gloom,Grass,Poison,60,65,70,85,75,40,395,65.83333333,13.96921218,1,Medium Slow,1059860,0,120,0,0,0,0,1,2,0.5,0.5,0.25,2,0.5,1,1,2,2,1,1,1,1,1,1,0.5,0.8,8.6,13.4 +45,Vileplume,Grass,Poison,75,80,85,110,90,50,490,81.66666667,17.95054936,1,Medium Slow,1059860,1,45,0,0,0,0,1,2,0.5,0.5,0.25,2,0.5,1,1,2,2,1,1,1,1,1,1,0.5,1.2,18.6,12.9 +46,Paras,Bug,Grass,35,70,55,45,55,25,285,47.5,14.64866319,1,Medium Fast,1000000,0,190,0,0,0,0,1,4,0.5,0.5,0.25,2,0.5,2,0.25,4,1,2,2,1,1,1,1,1,0.3,5.4,60 +47,Parasect,Bug,Grass,60,95,80,60,80,30,405,67.5,20.76655966,1,Medium Fast,1000000,1,75,0,0,0,0,1,4,0.5,0.5,0.25,2,0.5,2,0.25,4,1,2,2,1,1,1,1,1,1,29.5,29.5 +48,Venonat,Bug,Poison,60,55,50,40,55,45,305,50.83333333,6.718548124,1,Medium Fast,1000000,0,190,0,0,0,0,1,2,1,1,0.25,1,0.25,0.5,1,2,2,0.5,2,1,1,1,1,0.5,1,30,30 +49,Venomoth,Bug,Poison,70,65,60,90,75,90,450,75,11.54700538,1,Medium Fast,1000000,1,75,0,0,0,0,1,2,1,1,0.25,1,0.25,0.5,1,2,2,0.5,2,1,1,1,1,0.5,1.5,12.5,5.6 +50,Diglett,Ground,,10,55,25,35,45,95,265,44.16666667,26.83540365,1,Medium Fast,1000000,0,255,0,0,0,0,1,1,2,0,2,2,1,0.5,1,1,1,1,0.5,1,1,1,1,1,0.2,0.8,20 +50,Alolan Diglett,Ground,Steel,10,55,30,35,45,90,265,44.16666667,24.73470347,7,Medium Fast,1000000,0,255,0,0,1,0,0.5,2,2,0,1,1,2,0,2,0.5,0.5,0.5,0.25,1,0.5,1,0.5,0.5,0.2,1,25 +51,Dugtrio,Ground,,35,100,50,50,70,120,425,70.83333333,30.05781466,1,Medium Fast,1000000,1,50,0,0,0,0,1,1,2,0,2,2,1,0.5,1,1,1,1,0.5,1,1,1,1,1,0.7,33.3,68 +51,Alolan Dugtrio,Ground,Steel,35,100,60,50,70,110,425,70.83333333,26.52305077,7,Medium Fast,1000000,1,50,0,0,1,0,0.5,2,2,0,1,1,2,0,2,0.5,0.5,0.5,0.25,1,0.5,1,0.5,0.5,0.7,66.6,135.9 +52,Meowth,Normal,,40,45,35,40,40,90,290,48.33333333,18.85618083,1,Medium Fast,1000000,0,255,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.4,4.2,26.3 +52,Alolan Meowth,Dark,,40,35,35,50,40,90,290,48.33333333,19.2930615,7,Medium Fast,1000000,0,255,0,0,1,0,1,1,1,1,1,1,2,1,1,1,0,2,1,0.5,1,0.5,1,2,0.4,4.2,26.3 +52,Galarian Meowth,Steel,,50,65,55,40,40,40,290,48.33333333,9.428090416,8,Medium Fast,1000000,0,255,0,0,0,1,0.5,2,1,1,0.5,0.5,2,0,2,0.5,0.5,0.5,0.5,1,0.5,1,0.5,0.5,0.4,7.5,46.9 +53,Persian,Normal,,65,70,60,65,65,115,440,73.33333333,18.85618083,1,Medium Fast,1000000,1,90,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1,32,32 +53,Alolan Persian,Dark,,65,60,60,75,65,115,440,73.33333333,19.2930615,7,Medium Fast,1000000,1,90,0,0,1,0,1,1,1,1,1,1,2,1,1,1,0,2,1,0.5,1,0.5,1,2,1.1,33,27.3 +54,Psyduck,Water,,50,52,48,65,50,55,320,53.33333333,5.647024782,1,Medium Fast,1000000,0,190,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.8,19.6,30.6 +55,Golduck,Water,,80,82,78,95,80,85,500,83.33333333,5.647024782,1,Medium Fast,1000000,1,75,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1.7,76.6,26.5 +56,Mankey,Fighting,,40,80,35,35,45,70,305,50.83333333,17.65801675,1,Medium Fast,1000000,0,190,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,0.5,28,112 +57,Primeape,Fighting,,65,105,60,60,70,95,455,75.83333333,17.65801675,1,Medium Fast,1000000,1,75,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,1,32,32 +58,Growlithe,Fire,,55,70,45,70,50,60,350,58.33333333,9.428090416,1,Slow,1250000,0,190,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,0.7,19,38.8 +59,Arcanine,Fire,,90,110,80,100,80,95,555,92.5,10.70436048,1,Slow,1250000,1,75,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,1.9,155,42.9 +60,Poliwag,Water,,40,50,40,40,40,90,300,50,18.25741858,1,Medium Slow,1059860,0,255,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.6,12.4,34.4 +61,Poliwhirl,Water,,65,65,65,50,50,90,385,64.16666667,13.35934962,1,Medium Slow,1059860,0,120,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1,20,20 +62,Poliwrath,Water,Fighting,90,95,95,70,90,70,510,85,10.8012345,1,Medium Slow,1059860,1,45,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,2,2,0.5,0.5,1,1,0.5,0.5,2,1.3,54,32 +63,Abra,Psychic,,25,20,15,105,55,90,310,51.66666667,35.0792753,1,Medium Slow,1059860,0,200,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.9,19.5,24.1 +64,Kadabra,Psychic,,40,35,30,120,70,105,400,66.66666667,35.0792753,1,Medium Slow,1059860,0,100,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,1.3,56.5,33.4 +65,Alakazam,Psychic,,55,50,45,135,95,120,500,83.33333333,35.43381938,1,Medium Slow,1059860,1,50,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,1.5,48,21.3 +65,Mega Alakazam,Psychic,,55,50,65,175,95,150,590,98.33333333,48.10289897,6,Medium Slow,1059860,1,50,0,1,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,1.2,48,33.3 +66,Machop,Fighting,,70,80,50,35,35,35,305,50.83333333,18.12380264,1,Medium Slow,1059860,0,180,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,0.8,19.5,30.5 +67,Machoke,Fighting,,80,100,70,50,60,45,405,67.5,18.6525244,1,Medium Slow,1059860,0,90,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,1.5,70.5,31.3 +68,Machamp,Fighting,,90,130,80,65,85,55,505,84.16666667,23.70243776,1,Medium Slow,1059860,1,45,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,1.6,130,50.8 +69,Bellsprout,Grass,Poison,50,75,35,70,30,40,300,50,17.07825128,1,Medium Slow,1059860,0,255,0,0,0,0,1,2,0.5,0.5,0.25,2,0.5,1,1,2,2,1,1,1,1,1,1,0.5,0.7,4,8.2 +70,Weepinbell,Grass,Poison,65,90,50,85,45,55,390,65,17.07825128,1,Medium Slow,1059860,0,120,0,0,0,0,1,2,0.5,0.5,0.25,2,0.5,1,1,2,2,1,1,1,1,1,1,0.5,1,6.4,6.4 +71,Victreebel,Grass,Poison,80,105,65,100,70,70,490,81.66666667,15.45603083,1,Medium Slow,1059860,1,45,0,0,0,0,1,2,0.5,0.5,0.25,2,0.5,1,1,2,2,1,1,1,1,1,1,0.5,1.7,15.5,5.4 +72,Tentacool,Water,Poison,40,40,35,50,100,70,335,55.83333333,22.80655364,1,Slow,1250000,0,190,0,0,0,0,1,0.5,0.5,2,1,0.5,0.5,0.5,2,1,2,0.5,1,1,1,1,0.5,0.5,0.9,45.5,56.2 +73,Tentacruel,Water,Poison,80,70,65,80,120,100,515,85.83333333,18.80085695,1,Slow,1250000,1,60,0,0,0,0,1,0.5,0.5,2,1,0.5,0.5,0.5,2,1,2,0.5,1,1,1,1,0.5,0.5,1.6,55,21.5 +74,Geodude,Rock,Ground,40,80,100,30,30,20,300,50,29.43920289,1,Medium Slow,1059860,0,255,0,0,0,0,0.5,0.5,4,0,4,2,2,0.25,2,0.5,1,1,0.5,1,1,1,2,1,0.4,20,125 +74,Alolan Geodude,Rock,Electric,40,80,100,30,30,20,300,50,29.43920289,7,Medium Slow,1059860,0,255,0,0,1,0,0.5,0.5,2,0.5,2,1,2,0.5,4,0.25,1,1,1,1,1,1,1,1,0.4,20.3,126.9 +75,Graveler,Rock,Ground,55,95,115,45,45,35,390,65,29.43920289,1,Medium Slow,1059860,0,120,0,0,0,0,0.5,0.5,4,0,4,2,2,0.25,2,0.5,1,1,0.5,1,1,1,2,1,1,105,105 +75,Alolan Graveler,Rock,Electric,55,95,115,45,45,35,390,65,29.43920289,7,Medium Slow,1059860,0,120,0,0,1,0,0.5,0.5,2,0.5,2,1,2,0.5,4,0.25,1,1,1,1,1,1,1,1,1,110,110 +76,Golem,Rock,Ground,80,120,130,55,65,45,495,82.5,31.98306844,1,Medium Slow,1059860,1,45,0,0,0,0,0.5,0.5,4,0,4,2,2,0.25,2,0.5,1,1,0.5,1,1,1,2,1,1.4,300,153.1 +76,Alolan Golem,Rock,Electric,80,120,130,55,65,45,495,82.5,31.98306844,7,Medium Slow,1059860,1,45,0,0,1,0,0.5,0.5,2,0.5,2,1,2,0.5,4,0.25,1,1,1,1,1,1,1,1,1.7,316,109.3 +77,Ponyta,Fire,,50,85,55,65,65,90,410,68.33333333,14.62494065,1,Medium Fast,1000000,0,190,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,1,30,30 +77,Galarian Ponyta,Psychic,,50,85,55,65,65,90,410,68.33333333,14.62494065,8,Medium Fast,1000000,0,190,0,0,0,1,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.8,24,37.5 +78,Rapidash,Fire,,65,100,70,80,80,105,500,83.33333333,14.62494065,1,Medium Fast,1000000,1,60,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,1.7,95,32.9 +78,Galarian Rapidash,Psychic,Fairy,65,100,70,80,80,105,500,83.33333333,14.62494065,8,Medium Fast,1000000,1,60,0,0,0,1,1,1,1,1,1,1,0.25,2,1,1,0.5,1,1,2,0,1,2,1,1.7,80,27.7 +79,Slowpoke,Water,Psychic,90,65,65,40,40,15,315,52.5,23.93567769,1,Medium Fast,1000000,0,190,0,0,0,0,1,0.5,0.5,2,2,0.5,0.5,1,1,1,0.5,2,1,2,1,2,0.5,1,1.2,36,25 +79,Galarian Slowpoke,Psychic,,90,65,65,40,40,15,315,52.5,23.93567769,8,Medium Fast,1000000,0,190,0,0,0,1,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,1.2,36,25 +80,Slowbro,Water,Psychic,95,75,110,100,80,30,490,81.66666667,25.92724864,1,Medium Fast,1000000,1,75,0,0,0,0,1,0.5,0.5,2,2,0.5,0.5,1,1,1,0.5,2,1,2,1,2,0.5,1,1.6,78.5,30.7 +80,Mega Slowbro,Water,Psychic,95,75,180,130,80,30,590,98.33333333,46.96334268,6,Medium Fast,1000000,1,75,0,1,0,0,1,0.5,0.5,2,2,0.5,0.5,1,1,1,0.5,2,1,2,1,2,0.5,1,2,120,30 +80,Galarian Slowbro,Poison,Psychic,95,100,95,100,70,30,490,81.66666667,25.27625148,8,Medium Fast,1000000,1,75,0,0,0,1,1,1,1,1,0.5,1,0.25,0.5,2,1,1,1,1,2,1,2,1,0.5,1.6,70.5,27.5 +81,Magnemite,Electric,Steel,25,35,70,95,55,45,325,54.16666667,23.16906462,1,Medium Fast,1000000,0,190,0,0,0,0,0.5,2,1,0.5,0.5,0.5,2,0,4,0.25,0.5,0.5,0.5,1,0.5,1,0.25,0.5,0.3,6,66.7 +82,Magneton,Electric,Steel,50,60,95,120,70,70,465,77.5,23.40761984,1,Medium Fast,1000000,0,60,0,0,0,0,0.5,2,1,0.5,0.5,0.5,2,0,4,0.25,0.5,0.5,0.5,1,0.5,1,0.25,0.5,1,60,60 +83,Farfetch'd,Normal,Flying,52,90,55,58,62,60,377,62.83333333,12.57532858,1,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,0.8,15,23.4 +83,Galarian Farfetch'd,Fighting,,52,95,55,58,62,55,377,62.83333333,14.71299501,8,Medium Fast,1000000,0,45,0,0,0,1,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,0.8,42,65.6 +84,Doduo,Normal,Flying,35,85,45,35,35,75,310,51.66666667,20.54804668,1,Medium Fast,1000000,0,190,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,1.4,39.2,20 +85,Dodrio,Normal,Flying,60,110,70,60,60,110,470,78.33333333,22.66911751,1,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,1.8,85.2,26.3 +86,Seel,Water,,65,45,55,45,70,45,325,54.16666667,10.17212968,1,Medium Fast,1000000,0,190,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1.1,90,74.4 +87,Dewgong,Water,Ice,90,70,80,70,95,70,475,79.16666667,10.17212968,1,Medium Fast,1000000,1,75,0,0,0,0,1,1,0.5,2,2,0.25,2,1,1,1,1,1,2,1,1,1,1,1,1.7,120,41.5 +88,Grimer,Poison,,80,80,50,40,50,25,325,54.16666667,20.08661799,1,Medium Fast,1000000,0,190,0,0,0,0,1,1,1,1,0.5,1,0.5,0.5,2,1,2,0.5,1,1,1,1,1,0.5,0.9,30,37 +88,Alolan Grimer,Poison,Dark,80,80,50,40,50,25,325,54.16666667,20.08661799,7,Medium Fast,1000000,0,190,0,0,1,0,1,1,1,1,0.5,1,1,0.5,2,1,0,1,1,0.5,1,0.5,1,1,0.7,42,85.7 +89,Muk,Poison,,105,105,75,65,100,50,500,83.33333333,21.34374746,1,Medium Fast,1000000,1,75,0,0,0,0,1,1,1,1,0.5,1,0.5,0.5,2,1,2,0.5,1,1,1,1,1,0.5,1.2,30,20.8 +89,Alolan Muk,Poison,Dark,105,105,75,65,100,50,500,83.33333333,21.34374746,7,Medium Fast,1000000,1,75,0,0,1,0,1,1,1,1,0.5,1,1,0.5,2,1,0,1,1,0.5,1,0.5,1,1,1,52,52 +90,Shellder,Water,,30,65,100,45,25,40,305,50.83333333,25.39958442,1,Slow,1250000,0,190,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.3,4,44.4 +91,Cloyster,Water,Ice,50,95,180,85,45,70,525,87.5,44.9768459,1,Slow,1250000,1,60,0,0,0,0,1,1,0.5,2,2,0.25,2,1,1,1,1,1,2,1,1,1,1,1,1.5,132.5,58.9 +92,Gastly,Ghost,Poison,30,35,30,100,35,80,310,51.66666667,27.78888667,1,Medium Slow,1059860,0,190,0,0,0,0,0,1,1,1,0.5,1,0,0.25,2,1,2,0.25,1,2,1,2,1,0.5,1.3,0.1,0.1 +93,Haunter,Ghost,Poison,45,50,45,115,55,95,405,67.5,27.34806514,1,Medium Slow,1059860,0,90,0,0,0,0,0,1,1,1,0.5,1,0,0.25,2,1,2,0.25,1,2,1,2,1,0.5,1.6,0.1,0 +94,Gengar,Ghost,Poison,60,65,60,130,75,110,500,83.33333333,27.02879123,1,Medium Slow,1059860,1,45,0,0,0,0,0,1,1,1,0.5,1,0,0.25,2,1,2,0.25,1,2,1,2,1,0.5,1.5,40.5,18 +94,Mega Gengar,Ghost,Poison,60,65,80,170,95,130,600,100,38.83726733,6,Medium Slow,1059860,1,45,0,1,0,0,0,1,1,1,0.5,1,0,0.25,2,1,2,0.25,1,2,1,2,1,0.5,1.4,40.5,20.7 +95,Onix,Rock,Ground,35,45,160,30,45,70,385,64.16666667,44.66697761,1,Medium Fast,1000000,0,45,0,0,0,0,0.5,0.5,4,0,4,2,2,0.25,2,0.5,1,1,0.5,1,1,1,2,1,8.8,210,2.7 +96,Drowzee,Psychic,,60,48,45,43,90,42,328,54.66666667,16.88852339,1,Medium Fast,1000000,0,190,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,1,32.4,32.4 +97,Hypno,Psychic,,85,73,70,73,115,67,483,80.5,16.40883908,1,Medium Fast,1000000,1,75,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,1.6,75.6,29.5 +98,Krabby,Water,,30,105,90,25,25,50,325,54.16666667,32.06980234,1,Medium Fast,1000000,0,225,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.4,6.5,40.6 +99,Kingler,Water,,55,130,115,50,50,75,475,79.16666667,32.06980234,1,Medium Fast,1000000,1,60,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1.3,60,35.5 +100,Voltorb,Electric,,40,30,50,55,55,100,330,55,21.98484326,1,Medium Fast,1000000,0,190,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,0.5,10.4,41.6 +101,Electrode,Electric,,60,50,70,80,80,150,490,81.66666667,32.36081306,1,Medium Fast,1000000,1,60,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,1.2,66.6,46.3 +102,Exeggcute,Grass,Psychic,60,40,80,60,45,40,325,54.16666667,14.26436897,1,Slow,1250000,0,90,0,0,0,0,1,2,0.5,0.5,0.5,2,0.5,2,0.5,2,0.5,4,1,2,1,2,1,1,0.4,2.5,15.6 +103,Exeggutor,Grass,Psychic,95,95,85,125,75,55,530,88.33333333,21.34374746,1,Slow,1250000,1,45,0,0,0,0,1,2,0.5,0.5,0.5,2,0.5,2,0.5,2,0.5,4,1,2,1,2,1,1,2,120,30 +103,Alolan Exeggutor,Grass,Dragon,95,105,85,125,75,45,530,88.33333333,24.94438258,7,Slow,1250000,1,45,0,0,1,0,1,1,0.25,0.25,0.25,4,1,2,0.5,2,1,2,1,1,2,1,1,2,10.9,415.6,3.5 +104,Cubone,Ground,,50,50,95,40,50,35,320,53.33333333,19.50783318,1,Medium Fast,1000000,0,190,0,0,0,0,1,1,2,0,2,2,1,0.5,1,1,1,1,0.5,1,1,1,1,1,0.4,6.5,40.6 +105,Marowak,Ground,,60,80,110,50,80,45,425,70.83333333,22.06367049,1,Medium Fast,1000000,1,75,0,0,0,0,1,1,2,0,2,2,1,0.5,1,1,1,1,0.5,1,1,1,1,1,1,45,45 +105,Alolan Marowak,Fire,Ghost,60,80,110,50,80,45,425,70.83333333,22.06367049,7,Medium Fast,1000000,1,75,0,0,1,0,0,0.5,2,1,0.5,0.5,0,0.5,2,1,1,0.25,2,2,1,2,0.5,0.5,1,34,34 +106,Hitmonlee,Fighting,,50,120,53,35,110,87,455,75.83333333,31.8821615,1,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,1.5,49.8,22.1 +107,Hitmonchan,Fighting,,50,105,79,35,110,76,455,75.83333333,26.96551295,1,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,1.4,50.2,25.6 +108,Lickitung,Normal,,90,55,75,60,75,30,385,64.16666667,19.02118702,1,Medium Fast,1000000,0,45,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.2,65.5,45.5 +109,Koffing,Poison,,40,65,95,60,45,35,340,56.66666667,20.13840996,1,Medium Fast,1000000,0,190,0,0,0,0,1,1,1,1,0.5,1,0.5,0.5,2,1,2,0.5,1,1,1,1,1,0.5,0.6,1,2.8 +110,Weezing,Poison,,65,90,120,85,70,60,490,81.66666667,20.13840996,1,Medium Fast,1000000,1,60,0,0,0,0,1,1,1,1,0.5,1,0.5,0.5,2,1,2,0.5,1,1,1,1,1,0.5,1.2,9.5,6.6 +110,Galarian Weezing,Poison,Fairy,65,90,120,85,70,60,490,81.66666667,20.13840996,8,Medium Fast,1000000,1,60,0,0,0,1,1,1,1,1,0.5,1,0.25,1,2,1,2,0.25,1,1,0,0.5,2,0.5,3,16,1.8 +111,Rhyhorn,Ground,Rock,80,85,95,30,30,25,345,57.5,29.54516317,1,Slow,1250000,0,120,0,0,0,0,0.5,0.5,4,0,4,2,2,0.25,2,0.5,1,1,0.5,1,1,1,2,1,1,115,115 +112,Rhydon,Ground,Rock,105,130,120,45,45,40,485,80.83333333,38.23356582,1,Slow,1250000,0,60,0,0,0,0,0.5,0.5,4,0,4,2,2,0.25,2,0.5,1,1,0.5,1,1,1,2,1,1.9,120,33.2 +113,Chansey,Normal,,250,5,5,35,105,50,450,75,85.19585279,1,Fast,800000,0,30,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.1,34.6,28.6 +114,Tangela,Grass,,65,55,115,100,40,60,435,72.5,26.25991876,1,Medium Fast,1000000,0,45,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,1,35,35 +115,Kangaskhan,Normal,,105,95,80,40,80,90,490,81.66666667,20.54804668,1,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,2.2,80,16.5 +115,Mega Kangaskhan,Normal,,105,125,100,60,100,100,590,98.33333333,19.2930615,6,Medium Fast,1000000,1,45,0,1,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,2.2,100,20.7 +116,Horsea,Water,,30,40,70,70,25,60,295,49.16666667,18.35226295,1,Medium Fast,1000000,0,225,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.4,8,50 +117,Seadra,Water,,55,65,95,95,45,85,440,73.33333333,19.50783318,1,Medium Fast,1000000,0,75,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1.2,25,17.4 +118,Goldeen,Water,,45,67,60,35,50,63,320,53.33333333,11.11555467,1,Medium Fast,1000000,0,225,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.6,15,41.7 +119,Seaking,Water,,80,92,65,65,80,68,450,75,9.899494937,1,Medium Fast,1000000,1,60,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1.3,39,23.1 +120,Staryu,Water,,30,45,55,70,55,85,340,56.66666667,17.48014747,1,Slow,1250000,0,225,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.8,34.5,53.9 +121,Starmie,Water,Psychic,60,75,85,100,85,115,520,86.66666667,17.48014747,1,Slow,1250000,1,60,0,0,0,0,1,0.5,0.5,2,2,0.5,0.5,1,1,1,0.5,2,1,2,1,2,0.5,1,1.1,80,66.1 +122,Mr. Mime,Psychic,Fairy,40,45,65,100,120,90,460,76.66666667,29.10708199,1,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,1,1,1,0.25,2,1,1,0.5,1,1,2,0,1,2,1,1.3,54.5,32.2 +122,Galarian Mr. Mime,Ice,Psychic,50,65,65,90,90,100,460,76.66666667,17.71690969,8,Medium Fast,1000000,0,45,0,0,0,1,1,2,1,1,1,0.5,1,1,1,1,0.5,2,2,2,1,2,2,1,1.4,56.8,29 +123,Scyther,Bug,Flying,70,110,80,55,80,105,500,83.33333333,19.0758719,1,Medium Fast,1000000,0,45,0,0,0,0,1,2,1,2,0.25,2,0.25,1,0,2,1,0.5,4,1,1,1,1,1,1.5,56,24.9 +124,Jynx,Ice,Psychic,65,50,35,115,95,95,455,75.83333333,28.05005447,1,Medium Fast,1000000,1,45,0,0,0,0,1,2,1,1,1,0.5,1,1,1,1,0.5,2,2,2,1,2,2,1,1.4,40.6,20.7 +125,Electabuzz,Electric,,65,83,57,95,85,105,490,81.66666667,16.43843734,1,Medium Fast,1000000,0,45,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,1.1,30,24.8 +126,Magmar,Fire,,65,95,57,100,85,93,495,82.5,15.99739562,1,Medium Fast,1000000,0,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,1.3,44.5,26.3 +127,Pinsir,Bug,,65,125,100,55,70,85,500,83.33333333,23.57022604,1,Slow,1250000,1,45,0,0,0,0,1,2,1,1,0.5,1,0.5,1,0.5,2,1,1,2,1,1,1,1,1,1.5,55,24.4 +127,Mega Pinsir,Bug,Flying,65,155,120,65,90,105,600,100,31.6227766,6,Slow,1250000,1,45,0,1,0,0,1,2,1,2,0.25,2,0.25,1,0,2,1,0.5,4,1,1,1,1,1,1.7,59,20.4 +128,Tauros,Normal,,75,100,95,40,70,110,490,81.66666667,23.21398046,1,Slow,1250000,1,45,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.4,88.4,45.1 +129,Magikarp,Water,,20,10,55,15,20,80,200,33.33333333,25.44056254,1,Slow,1250000,0,255,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.9,10,12.3 +130,Gyarados,Water,Flying,95,125,79,60,100,81,540,90,20.2155056,1,Slow,1250000,1,45,0,0,0,0,1,0.5,0.5,4,1,1,0.5,1,0,1,1,0.5,2,1,1,1,0.5,1,6.5,235,5.6 +130,Mega Gyarados,Water,Dark,95,155,109,70,130,81,640,106.6666667,28.94055209,6,Slow,1250000,1,45,0,1,0,0,1,0.5,0.5,2,2,0.5,2,1,1,1,0,2,1,0.5,1,0.5,0.5,2,6.5,305,7.2 +131,Lapras,Water,Ice,130,85,80,85,95,60,535,89.16666667,21.09831484,1,Slow,1250000,1,45,0,0,0,0,1,1,0.5,2,2,0.25,2,1,1,1,1,1,2,1,1,1,1,1,2.5,220,35.2 +132,Ditto,Normal,,48,48,48,48,48,48,288,48,0,1,Medium Fast,1000000,1,35,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.3,4,44.4 +133,Eevee,Normal,,55,55,50,45,65,55,325,54.16666667,6.066758241,1,Medium Fast,1000000,0,45,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.3,6.5,72.2 +134,Vaporeon,Water,,130,65,60,110,95,65,525,87.5,26.25991876,1,Medium Fast,1000000,1,45,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1,29,29 +135,Jolteon,Electric,,65,65,60,110,95,130,525,87.5,26.25991876,1,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,0.8,24.5,38.3 +136,Flareon,Fire,,65,130,60,95,110,65,525,87.5,26.25991876,1,Medium Fast,1000000,1,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,0.9,25,30.9 +137,Porygon,Normal,,65,60,70,85,75,40,395,65.83333333,13.96921218,1,Medium Fast,1000000,0,45,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.8,36.5,57 +138,Omanyte,Rock,Water,35,40,100,90,55,35,355,59.16666667,26.3654867,1,Medium Fast,1000000,0,45,0,0,0,0,0.5,0.25,1,2,4,0.5,2,0.5,2,0.5,1,1,1,1,1,1,1,1,0.4,7.5,46.9 +139,Omastar,Rock,Water,70,60,125,115,70,55,495,82.5,27.19528145,1,Medium Fast,1000000,1,45,0,0,0,0,0.5,0.25,1,2,4,0.5,2,0.5,2,0.5,1,1,1,1,1,1,1,1,1,35,35 +140,Kabuto,Rock,Water,30,80,90,55,45,55,355,59.16666667,20.29299277,1,Medium Fast,1000000,0,45,0,0,0,0,0.5,0.25,1,2,4,0.5,2,0.5,2,0.5,1,1,1,1,1,1,1,1,0.5,11.5,46 +141,Kabutops,Rock,Water,60,115,105,65,70,80,495,82.5,20.5649378,1,Medium Fast,1000000,1,45,0,0,0,0,0.5,0.25,1,2,4,0.5,2,0.5,2,0.5,1,1,1,1,1,1,1,1,1.3,40.5,24 +142,Aerodactyl,Rock,Flying,80,105,65,60,75,130,515,85.83333333,24.39546861,1,Slow,1250000,1,45,0,0,0,0,0.5,0.5,2,2,1,2,1,0.5,0,0.5,1,0.5,2,1,1,1,2,1,1.8,59,18.2 +142,Mega Aerodactyl,Rock,Flying,80,135,85,70,95,150,615,102.5,29.54516317,6,Slow,1250000,1,45,0,1,0,0,0.5,0.5,2,2,1,2,1,0.5,0,0.5,1,0.5,2,1,1,1,2,1,2.1,79,17.9 +143,Snorlax,Normal,,160,110,65,65,110,30,540,90,41.93248542,1,Slow,1250000,1,25,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,2.1,460,104.3 +144,Articuno,Ice,Flying,90,85,100,95,125,85,580,96.66666667,13.74368542,1,Slow,1250000,1,3,1,0,0,0,1,2,1,2,0.5,1,1,1,0,1,1,0.5,4,1,1,1,2,1,1.7,55.4,19.2 +144,Galarian Articuno,Psychic,Flying,90,85,85,125,100,95,580,96.66666667,13.74368542,8,Slow,1250000,1,3,1,0,0,1,1,1,1,2,0.5,2,0.25,1,0,1,0.5,1,2,2,1,2,1,1,1.7,50.9,17.6 +145,Zapdos,Electric,Flying,90,90,85,125,90,100,580,96.66666667,13.43709625,1,Slow,1250000,1,3,1,0,0,0,1,1,1,1,0.5,2,0.5,1,0,0.5,1,0.5,2,1,1,1,0.5,1,1.6,52.6,20.5 +145,Galarian Zapdos,Fighting,Flying,90,125,90,85,90,100,580,96.66666667,13.43709625,8,Slow,1250000,1,3,1,0,0,1,1,1,1,2,0.5,2,0.5,1,0,2,2,0.25,1,1,1,0.5,1,2,1.6,58.2,22.7 +146,Moltres,Fire,Flying,90,100,90,125,85,90,580,96.66666667,13.43709625,1,Slow,1250000,1,3,1,0,0,0,1,0.5,2,2,0.25,1,0.5,1,0,1,1,0.25,4,1,1,1,0.5,0.5,2,60,15 +146,Galarian Moltres,Dark,Flying,90,85,90,100,125,90,580,96.66666667,13.43709625,8,Slow,1250000,1,3,1,0,0,1,1,1,1,2,0.5,2,1,1,0,1,0,1,2,0.5,1,0.5,1,2,2,66,16.5 +147,Dratini,Dragon,,41,64,45,50,50,50,300,50,7.094598885,1,Slow,1250000,0,45,0,0,0,0,1,0.5,0.5,0.5,0.5,2,1,1,1,1,1,1,1,1,2,1,1,2,1.8,3.3,1 +148,Dragonair,Dragon,,61,84,65,70,70,70,420,70,7.094598885,1,Slow,1250000,0,45,0,0,0,0,1,0.5,0.5,0.5,0.5,2,1,1,1,1,1,1,1,1,2,1,1,2,4,16.5,1 +149,Dragonite,Dragon,Flying,91,134,95,100,100,80,600,100,16.64331698,1,Slow,1250000,1,45,0,0,0,0,1,0.5,0.5,1,0.25,4,0.5,1,0,1,1,0.5,2,1,2,1,1,2,2.2,210,43.4 +150,Mewtwo,Psychic,,106,110,90,154,90,130,680,113.3333333,22.67646847,1,Slow,1250000,1,3,1,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,2,122,30.5 +150,Mega Mewtwo Y,Psychic,,106,150,70,194,120,140,780,130,38.45343504,6,Slow,1250000,1,3,1,1,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,1.5,33,14.7 +150,Mega Mewtwo X,Psychic,Fighting,106,190,100,154,100,130,780,130,33.04542328,6,Slow,1250000,1,3,1,1,0,0,1,1,1,1,1,1,0.5,1,1,2,1,1,0.5,2,1,1,1,2,2.3,127,24 +151,Mew,Psychic,,100,100,100,100,100,100,600,100,0,1,Medium Slow,1059860,1,45,1,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.4,4,25 +152,Chikorita,Grass,,45,49,65,49,65,45,318,53,8.640987598,2,Medium Slow,1059860,0,45,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.9,6.4,7.9 +153,Bayleef,Grass,,60,62,80,63,80,60,405,67.5,8.902246907,2,Medium Slow,1059860,0,45,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,1.2,15.8,11 +154,Meganium,Grass,,80,82,100,83,100,80,525,87.5,8.902246907,2,Medium Slow,1059860,1,45,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,1.8,100.5,31 +155,Cyndaquil,Fire,,39,52,43,60,50,65,309,51.5,8.995369179,2,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,0.5,7.9,31.6 +156,Quilava,Fire,,58,64,58,80,65,80,405,67.5,9.233092656,2,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,0.9,19,23.5 +157,Typhlosion,Fire,,78,84,78,109,85,100,534,89,11.5758369,2,Medium Slow,1059860,1,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,1.7,79.5,27.5 +158,Totodile,Water,,50,65,64,44,48,43,314,52.33333333,8.919392107,2,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.6,9.5,26.4 +159,Croconaw,Water,,65,80,80,59,63,58,405,67.5,9.142392101,2,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1.1,25,20.7 +160,Feraligatr,Water,,85,105,100,79,83,78,530,88.33333333,10.38695763,2,Medium Slow,1059860,1,45,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,2.3,88.8,16.8 +161,Sentret,Normal,,35,46,34,35,45,20,215,35.83333333,8.591015979,2,Medium Fast,1000000,0,255,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.8,6,9.4 +162,Furret,Normal,,85,76,64,45,55,90,415,69.16666667,16.03555078,2,Medium Fast,1000000,1,90,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.8,32.5,10 +163,Hoothoot,Normal,Flying,60,30,30,36,56,50,262,43.66666667,12.18833687,2,Medium Fast,1000000,0,255,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,0.7,21.2,43.3 +164,Noctowl,Normal,Flying,100,50,50,86,96,70,452,75.33333333,20.25394337,2,Medium Fast,1000000,1,90,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,1.6,40.8,15.9 +165,Ledyba,Bug,Flying,40,20,30,40,80,55,265,44.16666667,19.23899397,2,Fast,800000,0,255,0,0,0,0,1,2,1,2,0.25,2,0.25,1,0,2,1,0.5,4,1,1,1,1,1,1,10.8,10.8 +166,Ledian,Bug,Flying,55,35,50,55,110,85,390,65,25,2,Fast,800000,1,90,0,0,0,0,1,2,1,2,0.25,2,0.25,1,0,2,1,0.5,4,1,1,1,1,1,1.4,35.6,18.2 +167,Spinarak,Bug,Poison,40,60,40,40,40,30,250,41.66666667,8.975274679,2,Fast,800000,0,255,0,0,0,0,1,2,1,1,0.25,1,0.25,0.5,1,2,2,0.5,2,1,1,1,1,0.5,0.5,8.5,34 +168,Ariados,Bug,Poison,70,90,70,60,70,40,400,66.66666667,14.90711985,2,Fast,800000,1,90,0,0,0,0,1,2,1,1,0.25,1,0.25,0.5,1,2,2,0.5,2,1,1,1,1,0.5,1.1,33.5,27.7 +169,Crobat,Poison,Flying,85,90,80,70,80,130,535,89.16666667,19.23899397,2,Medium Fast,1000000,1,90,0,0,0,0,1,1,1,2,0.25,2,0.25,0.5,0,1,2,0.25,2,1,1,1,1,0.5,1.8,75,23.1 +170,Chinchou,Water,Electric,75,38,38,56,56,67,330,55,13.68697678,2,Slow,1250000,0,190,0,0,0,0,1,0.5,0.5,1,2,0.5,1,1,2,0.5,1,1,1,1,1,1,0.25,1,0.5,12,48 +171,Lanturn,Water,Electric,125,58,58,76,76,67,460,76.66666667,22.83029177,2,Slow,1250000,1,75,0,0,0,0,1,0.5,0.5,1,2,0.5,1,1,2,0.5,1,1,1,1,1,1,0.25,1,1.2,22.5,15.6 +172,Pichu,Electric,,20,40,15,35,35,60,205,34.16666667,14.553541,2,Medium Fast,1000000,0,190,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,0.3,2,22.2 +173,Cleffa,Fairy,,50,25,28,45,55,15,218,36.33333333,14.51053257,2,Fast,800000,0,150,0,0,0,0,1,1,1,1,1,1,0.5,2,1,1,1,0.5,1,1,0,0.5,2,1,0.3,3,33.3 +174,Igglybuff,Normal,Fairy,90,30,15,40,20,15,210,35,26.14064524,2,Fast,800000,0,170,0,0,0,0,1,1,1,1,1,1,1,2,1,1,1,0.5,1,0,0,0.5,2,1,0.3,1,11.1 +175,Togepi,Fairy,,35,20,65,40,65,20,245,40.83333333,18.57791401,2,Fast,800000,0,190,0,0,0,0,1,1,1,1,1,1,0.5,2,1,1,1,0.5,1,1,0,0.5,2,1,0.3,1.5,16.7 +176,Togetic,Fairy,Flying,55,40,85,80,105,40,405,67.5,24.28133714,2,Fast,800000,0,75,0,0,0,0,1,1,1,2,0.5,2,0.25,2,0,1,1,0.25,2,1,0,0.5,2,1,0.6,3.2,8.9 +177,Natu,Psychic,Flying,40,50,45,70,45,70,320,53.33333333,12.13351648,2,Medium Fast,1000000,0,190,0,0,0,0,1,1,1,2,0.5,2,0.25,1,0,1,0.5,1,2,2,1,2,1,1,0.2,2,50 +178,Xatu,Psychic,Flying,65,75,70,95,70,95,470,78.33333333,12.13351648,2,Medium Fast,1000000,1,75,0,0,0,0,1,1,1,2,0.5,2,0.25,1,0,1,0.5,1,2,2,1,2,1,1,1.5,15,6.7 +179,Mareep,Electric,,55,40,40,65,45,35,280,46.66666667,10.27402334,2,Medium Slow,1059860,0,235,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,0.6,7.8,21.7 +180,Flaaffy,Electric,,70,55,55,80,60,45,365,60.83333333,11.33455876,2,Medium Slow,1059860,0,120,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,0.8,13.3,20.8 +181,Ampharos,Electric,,90,75,85,115,90,55,510,85,18.02775638,2,Medium Slow,1059860,1,45,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,1.4,61.5,31.4 +181,Mega Ampharos,Electric,Dragon,90,95,105,165,110,45,610,101.6666667,35.3160335,6,Medium Slow,1059860,1,45,0,1,0,0,1,0.5,0.5,0.25,0.5,2,1,1,2,0.5,1,1,1,1,2,1,0.5,2,1.4,61.5,31.4 +182,Bellossom,Grass,,75,80,95,90,100,50,490,81.66666667,16.49915823,2,Medium Slow,1059860,1,45,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.4,5.8,36.3 +183,Marill,Water,Fairy,70,20,50,20,50,40,250,41.66666667,17.71690969,2,Fast,800000,0,190,0,0,0,0,1,0.5,0.5,2,2,0.5,0.5,2,1,1,1,0.5,1,1,0,0.5,1,1,0.4,8.5,53.1 +184,Azumarill,Water,Fairy,100,50,80,60,80,50,420,70,18.25741858,2,Fast,800000,1,75,0,0,0,0,1,0.5,0.5,2,2,0.5,0.5,2,1,1,1,0.5,1,1,0,0.5,1,1,0.8,28.5,44.5 +185,Sudowoodo,Rock,,70,100,115,30,65,30,410,68.33333333,31.97221016,2,Medium Fast,1000000,1,65,0,0,0,0,0.5,0.5,2,1,2,1,2,0.5,2,0.5,1,1,1,1,1,1,2,1,1.2,38,26.4 +186,Politoed,Water,,90,75,75,90,100,70,500,83.33333333,10.67187373,2,Medium Slow,1059860,1,45,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1.1,33.9,28 +187,Hoppip,Grass,Flying,35,35,40,35,55,50,250,41.66666667,7.993052539,2,Medium Slow,1059860,0,255,0,0,0,0,1,2,0.5,1,0.25,4,0.5,2,0,2,1,1,2,1,1,1,1,1,0.4,0.5,3.1 +188,Skiploom,Grass,Flying,55,45,50,45,65,80,340,56.66666667,12.47219129,2,Medium Slow,1059860,0,120,0,0,0,0,1,2,0.5,1,0.25,4,0.5,2,0,2,1,1,2,1,1,1,1,1,0.6,1,2.8 +189,Jumpluff,Grass,Flying,75,55,70,55,95,110,460,76.66666667,20.13840996,2,Medium Slow,1059860,1,45,0,0,0,0,1,2,0.5,1,0.25,4,0.5,2,0,2,1,1,2,1,1,1,1,1,0.8,3,4.7 +190,Aipom,Normal,,55,70,55,40,55,85,360,60,14.14213562,2,Fast,800000,0,45,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.8,11.5,18 +191,Sunkern,Grass,,30,30,30,30,30,30,180,30,0,2,Medium Slow,1059860,0,235,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.3,1.8,20 +192,Sunflora,Grass,,75,75,55,105,85,30,425,70.83333333,23.52599036,2,Medium Slow,1059860,1,120,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.8,8.5,13.3 +193,Yanma,Bug,Flying,65,65,45,75,45,95,390,65,17.32050808,2,Medium Fast,1000000,0,75,0,0,0,0,1,2,1,2,0.25,2,0.25,1,0,2,1,0.5,4,1,1,1,1,1,1.2,38,26.4 +194,Wooper,Water,Ground,55,45,45,25,25,15,210,35,14.14213562,2,Medium Fast,1000000,0,255,0,0,0,0,1,0.5,1,0,4,1,1,0.5,1,1,1,1,0.5,1,1,1,0.5,1,0.4,8.5,53.1 +195,Quagsire,Water,Ground,95,85,85,65,65,35,430,71.66666667,19.72026594,2,Medium Fast,1000000,1,90,0,0,0,0,1,0.5,1,0,4,1,1,0.5,1,1,1,1,0.5,1,1,1,0.5,1,1.4,75,38.3 +196,Espeon,Psychic,,65,65,60,130,95,110,525,87.5,26.25991876,2,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.9,26.5,32.7 +197,Umbreon,Dark,,95,65,110,60,130,65,525,87.5,26.25991876,2,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,1,1,1,2,1,1,1,0,2,1,0.5,1,0.5,1,2,1,27,27 +198,Murkrow,Dark,Flying,60,85,42,85,42,91,405,67.5,20.5,2,Medium Slow,1059860,0,30,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,0,1,2,0.5,1,0.5,1,2,0.5,2.1,8.4 +199,Slowking,Water,Psychic,95,75,80,100,110,30,490,81.66666667,25.92724864,2,Medium Fast,1000000,1,70,0,0,0,0,1,0.5,0.5,2,2,0.5,0.5,1,1,1,0.5,2,1,2,1,2,0.5,1,2,79.5,19.9 +199,Galarian Slowking,Poison,Psychic,95,65,80,110,110,30,490,81.66666667,28.08716591,8,Medium Fast,1000000,1,70,0,0,0,1,1,1,1,1,0.5,1,0.25,0.5,2,1,1,1,1,2,1,2,1,0.5,1.8,79.5,24.5 +200,Misdreavus,Ghost,,60,60,60,85,85,85,435,72.5,12.5,2,Fast,800000,0,45,0,0,0,0,0,1,1,1,1,1,0,0.5,1,1,1,0.5,1,2,1,2,1,1,0.7,1,2 +201,Unown,Psychic,,48,72,48,72,48,48,336,56,11.3137085,2,Medium Fast,1000000,1,225,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.5,5,20 +202,Wobbuffet,Psychic,,190,33,58,33,58,33,405,67.5,55.91287866,2,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,1.3,28.5,16.9 +203,Girafarig,Normal,Psychic,70,80,65,90,65,85,455,75.83333333,9.753916592,2,Medium Fast,1000000,1,60,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0.5,2,1,0,1,2,1,1,1.5,41.5,18.4 +204,Pineco,Bug,,50,65,90,35,35,15,290,48.33333333,24.09472049,2,Medium Fast,1000000,0,190,0,0,0,0,1,2,1,1,0.5,1,0.5,1,0.5,2,1,1,2,1,1,1,1,1,0.6,7.2,20 +205,Forretress,Bug,Steel,75,90,140,60,60,40,465,77.5,31.85252476,2,Medium Fast,1000000,1,75,0,0,0,0,0.5,4,1,1,0.25,0.5,1,0,1,1,0.5,0.5,1,1,0.5,1,0.5,0.5,1.2,125.8,87.4 +206,Dunsparce,Normal,,100,70,70,65,65,45,415,69.16666667,16.18040653,2,Medium Fast,1000000,1,190,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.5,14,6.2 +207,Gligar,Ground,Flying,65,75,105,35,65,85,430,71.66666667,21.34374746,2,Medium Slow,1059860,0,60,0,0,0,0,1,1,2,0,1,4,0.5,0.5,0,1,1,0.5,1,1,1,1,1,1,1.1,64.8,53.6 +208,Steelix,Steel,Ground,75,85,200,55,65,30,510,85,54.23713365,2,Medium Fast,1000000,1,25,0,0,0,0,0.5,2,2,0,1,1,2,0,2,0.5,0.5,0.5,0.25,1,0.5,1,0.5,0.5,9.2,400,4.7 +208,Mega Steelix,Steel,Ground,75,125,230,55,95,30,610,101.6666667,64.6572158,6,Medium Fast,1000000,1,25,0,1,0,0,0.5,2,2,0,1,1,2,0,2,0.5,0.5,0.5,0.25,1,0.5,1,0.5,0.5,10.5,740,6.7 +209,Snubbull,Fairy,,60,80,50,40,40,30,300,50,16.32993162,2,Fast,800000,0,190,0,0,0,0,1,1,1,1,1,1,0.5,2,1,1,1,0.5,1,1,0,0.5,2,1,0.6,7.8,21.7 +210,Granbull,Fairy,,90,120,75,60,60,45,450,75,24.49489743,2,Fast,800000,1,75,0,0,0,0,1,1,1,1,1,1,0.5,2,1,1,1,0.5,1,1,0,0.5,2,1,1.4,48.7,24.8 +211,Qwilfish,Water,Poison,65,95,85,55,55,85,440,73.33333333,15.72330189,2,Medium Fast,1000000,1,45,0,0,0,0,1,0.5,0.5,2,1,0.5,0.5,0.5,2,1,2,0.5,1,1,1,1,0.5,0.5,0.5,3.9,15.6 +212,Scizor,Bug,Steel,70,130,100,55,80,65,500,83.33333333,25.11086529,2,Medium Fast,1000000,1,25,0,0,0,0,0.5,4,1,1,0.25,0.5,1,0,1,1,0.5,0.5,1,1,0.5,1,0.5,0.5,1.8,118,36.4 +212,Mega Scizor,Bug,Steel,70,150,140,65,100,75,600,100,33.78855822,6,Medium Fast,1000000,1,25,0,1,0,0,0.5,4,1,1,0.25,0.5,1,0,1,1,0.5,0.5,1,1,0.5,1,0.5,0.5,2,125,31.3 +213,Shuckle,Bug,Rock,20,10,230,10,230,5,505,84.16666667,103.2156588,2,Medium Slow,1059860,1,190,0,0,0,0,0.5,1,2,1,1,1,1,0.5,1,1,1,1,2,1,1,1,2,1,0.6,20.5,56.9 +214,Heracross,Bug,Fighting,80,125,75,40,95,85,500,83.33333333,25.27625148,2,Slow,1250000,1,45,0,0,0,0,1,2,1,1,0.5,1,0.5,1,0.5,4,2,0.5,1,1,1,0.5,1,2,1.5,54,24 +214,Mega Heracross,Bug,Fighting,80,185,115,40,105,75,600,100,44.90731195,6,Slow,1250000,1,45,0,1,0,0,1,2,1,1,0.5,1,0.5,1,0.5,4,2,0.5,1,1,1,0.5,1,2,1.7,62.5,21.6 +215,Sneasel,Dark,Ice,55,95,55,35,75,115,430,71.66666667,26.87419249,2,Medium Slow,1059860,0,60,0,0,0,0,1,2,1,1,1,0.5,4,1,1,1,0,2,2,0.5,1,0.5,2,2,0.9,28,34.6 +216,Teddiursa,Normal,,60,80,50,50,50,40,330,55,12.58305739,2,Medium Fast,1000000,0,120,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.6,8.8,24.4 +217,Ursaring,Normal,,90,130,75,75,75,55,500,83.33333333,23.21398046,2,Medium Fast,1000000,1,60,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.8,125.8,38.8 +218,Slugma,Fire,,40,40,40,70,40,20,250,41.66666667,14.62494065,2,Medium Fast,1000000,0,190,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,0.7,35,71.4 +219,Magcargo,Fire,Rock,60,50,120,90,80,30,430,71.66666667,29.10708199,2,Medium Fast,1000000,1,75,0,0,0,0,0.5,0.25,4,1,1,0.5,2,0.5,4,0.5,1,0.5,2,1,1,1,1,0.5,0.8,55,85.9 +220,Swinub,Ice,Ground,50,50,40,30,30,50,250,41.66666667,8.975274679,2,Slow,1250000,0,225,0,0,0,0,1,2,2,0,2,1,2,0.5,1,1,1,1,1,1,1,1,2,1,0.4,6.5,40.6 +221,Piloswine,Ice,Ground,100,100,80,60,60,50,450,75,19.79057015,2,Slow,1250000,0,75,0,0,0,0,1,2,2,0,2,1,2,0.5,1,1,1,1,1,1,1,1,2,1,1.1,55.8,46.1 +222,Corsola,Water,Rock,65,55,95,65,95,35,410,68.33333333,21.34374746,2,Fast,800000,1,60,0,0,0,0,0.5,0.25,1,2,4,0.5,2,0.5,2,0.5,1,1,1,1,1,1,1,1,0.6,5,13.9 +222,Galarian Corsola,Ghost,,60,55,100,65,100,30,410,68.33333333,24.94438258,8,Fast,800000,0,60,0,0,0,1,0,1,1,1,1,1,0,0.5,1,1,1,0.5,1,2,1,2,1,1,0.6,0.5,1.4 +223,Remoraid,Water,,35,65,35,65,35,65,300,50,15,2,Medium Fast,1000000,0,190,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.6,12,33.3 +224,Octillery,Water,,75,105,75,105,75,45,480,80,20.61552813,2,Medium Fast,1000000,1,75,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.9,28.5,35.2 +225,Delibird,Ice,Flying,45,55,45,65,45,75,330,55,11.54700538,2,Fast,800000,1,45,0,0,0,0,1,2,1,2,0.5,1,1,1,0,1,1,0.5,4,1,1,1,2,1,0.9,16,19.8 +226,Mantine,Water,Flying,85,40,70,80,140,70,485,80.83333333,30.05781466,2,Slow,1250000,1,25,0,0,0,0,1,0.5,0.5,4,1,1,0.5,1,0,1,1,0.5,2,1,1,1,0.5,1,2.1,220,49.9 +227,Skarmory,Steel,Flying,65,80,140,40,70,70,465,77.5,30.51638904,2,Slow,1250000,1,25,0,0,0,0,0.5,2,1,2,0.25,1,1,0,0,0.5,0.5,0.25,1,1,0.5,1,0.5,0.5,1.7,50.5,17.5 +228,Houndour,Dark,Fire,45,60,30,80,50,65,330,55,15.8113883,2,Slow,1250000,0,120,0,0,0,0,1,0.5,2,1,0.5,0.5,2,1,2,1,0,1,2,0.5,1,0.5,0.5,1,0.6,10.8,30 +229,Houndoom,Dark,Fire,75,90,50,110,80,95,500,83.33333333,18.63389981,2,Slow,1250000,1,45,0,0,0,0,1,0.5,2,1,0.5,0.5,2,1,2,1,0,1,2,0.5,1,0.5,0.5,1,1.4,35,17.9 +229,Mega Houndoom,Dark,Fire,75,90,90,140,90,115,600,100,21.40872096,6,Slow,1250000,1,45,0,1,0,0,1,0.5,2,1,0.5,0.5,2,1,2,1,0,1,2,0.5,1,0.5,0.5,1,1.9,49.5,13.7 +230,Kingdra,Water,Dragon,75,95,95,95,95,85,540,90,7.637626158,2,Medium Fast,1000000,1,45,0,0,0,0,1,0.25,0.25,1,1,1,1,1,1,1,1,1,1,1,2,1,0.5,2,1.8,152,46.9 +231,Phanpy,Ground,,90,60,60,40,40,40,330,55,18.02775638,2,Medium Fast,1000000,0,120,0,0,0,0,1,1,2,0,2,2,1,0.5,1,1,1,1,0.5,1,1,1,1,1,0.5,33.5,134 +232,Donphan,Ground,,90,120,120,60,60,50,500,83.33333333,28.67441756,2,Medium Fast,1000000,1,60,0,0,0,0,1,1,2,0,2,2,1,0.5,1,1,1,1,0.5,1,1,1,1,1,1.1,120,99.2 +233,Porygon2,Normal,,85,80,90,105,95,60,515,85.83333333,13.96921218,2,Medium Fast,1000000,0,45,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.6,32.5,90.3 +234,Stantler,Normal,,73,95,62,85,65,85,465,77.5,11.80042372,2,Slow,1250000,1,45,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.4,71.2,36.3 +235,Smeargle,Normal,,55,20,35,20,45,75,250,41.66666667,19.50783318,2,Fast,800000,1,45,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.2,58,40.3 +236,Tyrogue,Fighting,,35,35,35,35,35,35,210,35,0,2,Medium Fast,1000000,0,75,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,0.7,21,42.9 +237,Hitmontop,Fighting,,50,95,95,35,110,70,455,75.83333333,26.67968432,2,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,1.4,48,24.5 +238,Smoochum,Ice,Psychic,45,30,15,85,65,65,305,50.83333333,23.52599036,2,Medium Fast,1000000,0,45,0,0,0,0,1,2,1,1,1,0.5,1,1,1,1,0.5,2,2,2,1,2,2,1,0.4,6,37.5 +239,Elekid,Electric,,45,63,37,65,55,95,360,60,18.43004793,2,Medium Fast,1000000,0,45,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,0.6,23.5,65.3 +240,Magby,Fire,,45,75,37,70,55,83,365,60.83333333,16.47641412,2,Medium Fast,1000000,0,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,0.7,21.4,43.7 +241,Miltank,Normal,,95,80,105,40,70,100,490,81.66666667,22.11083194,2,Slow,1250000,1,45,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.2,75.5,52.4 +242,Blissey,Normal,,255,10,10,75,135,55,540,90,85.14693183,2,Fast,800000,1,30,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.5,46.8,20.8 +243,Raikou,Electric,,90,85,75,115,100,115,580,96.66666667,14.90711985,2,Slow,1250000,1,3,1,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,1.9,178,49.3 +244,Entei,Fire,,115,115,85,90,75,100,580,96.66666667,14.90711985,2,Slow,1250000,1,3,1,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,2.1,198,44.9 +245,Suicune,Water,,100,75,115,90,115,85,580,96.66666667,14.90711985,2,Slow,1250000,1,3,1,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,2,187,46.8 +246,Larvitar,Rock,Ground,50,64,50,45,50,41,300,50,7.094598885,2,Slow,1250000,0,45,0,0,0,0,0.5,0.5,4,0,4,2,2,0.25,2,0.5,1,1,0.5,1,1,1,2,1,0.6,72,200 +247,Pupitar,Rock,Ground,70,84,70,65,70,51,410,68.33333333,9.706813186,2,Slow,1250000,0,45,0,0,0,0,0.5,0.5,4,0,4,2,2,0.25,2,0.5,1,1,0.5,1,1,1,2,1,1.2,152,105.6 +248,Tyranitar,Rock,Dark,100,134,110,95,100,61,600,100,21.61018278,2,Slow,1250000,1,45,0,0,0,0,0.5,0.5,2,1,2,1,4,0.5,2,0.5,0,2,1,0.5,1,0.5,2,2,2,202,50.5 +248,Mega Tyranitar,Rock,Dark,100,164,150,95,120,71,700,116.6666667,32.13340249,6,Slow,1250000,1,45,0,1,0,0,0.5,0.5,2,1,2,1,4,0.5,2,0.5,0,2,1,0.5,1,0.5,2,2,2.5,255,40.8 +249,Lugia,Psychic,Flying,106,90,130,90,154,110,680,113.3333333,22.67646847,2,Slow,1250000,1,3,1,0,0,0,1,1,1,2,0.5,2,0.25,1,0,1,0.5,1,2,2,1,2,1,1,5.2,216,8 +250,Ho-Oh,Fire,Flying,106,130,90,110,154,90,680,113.3333333,22.67646847,2,Slow,1250000,1,3,1,0,0,0,1,0.5,2,2,0.25,1,0.5,1,0,1,1,0.25,4,1,1,1,0.5,0.5,3.8,199,13.8 +251,Celebi,Psychic,Grass,100,100,100,100,100,100,600,100,0,2,Medium Slow,1059860,1,45,1,0,0,0,1,2,0.5,0.5,0.5,2,0.5,2,0.5,2,0.5,4,1,2,1,2,1,1,0.6,5,13.9 +252,Treecko,Grass,,40,45,35,65,55,70,310,51.66666667,12.80190958,3,Medium Slow,1059860,0,45,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.5,5,20 +253,Grovyle,Grass,,50,65,45,85,65,95,405,67.5,17.73649721,3,Medium Slow,1059860,0,45,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.9,21.6,26.7 +254,Sceptile,Grass,,70,85,65,105,85,120,530,88.33333333,19.0758719,3,Medium Slow,1059860,1,45,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,1.7,52.2,18.1 +254,Mega Sceptile,Grass,Dragon,70,110,75,145,85,145,630,105,30.95695937,6,Medium Slow,1059860,1,45,0,1,0,0,1,1,0.25,0.25,0.25,4,1,2,0.5,2,1,2,1,1,2,1,1,2,1.9,55.2,15.3 +255,Torchic,Fire,,45,60,40,70,50,45,310,51.66666667,10.27402334,3,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,0.4,2.5,15.6 +256,Combusken,Fire,Fighting,60,85,60,85,60,55,405,67.5,12.5,3,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,2,2,0.25,1,1,1,0.5,0.5,1,0.9,19.5,24.1 +257,Blaziken,Fire,Fighting,80,120,70,110,70,80,530,88.33333333,19.50783318,3,Medium Slow,1059860,1,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,2,2,0.25,1,1,1,0.5,0.5,1,1.9,52,14.4 +257,Mega Blaziken,Fire,Fighting,80,160,80,130,80,100,630,105,30.41381265,6,Medium Slow,1059860,1,45,0,1,0,0,1,0.5,2,1,0.5,0.5,1,1,2,2,2,0.25,1,1,1,0.5,0.5,1,1.9,52,14.4 +258,Mudkip,Water,,50,70,50,50,50,40,310,51.66666667,8.975274679,3,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.4,7.6,47.5 +259,Marshtomp,Water,Ground,70,85,70,60,70,50,405,67.5,10.70436048,3,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,1,0,4,1,1,0.5,1,1,1,1,0.5,1,1,1,0.5,1,0.7,28,57.1 +260,Swampert,Water,Ground,100,110,90,85,90,60,535,89.16666667,15.38848776,3,Medium Slow,1059860,1,45,0,0,0,0,1,0.5,1,0,4,1,1,0.5,1,1,1,1,0.5,1,1,1,0.5,1,1.5,81.9,36.4 +260,Mega Swampert,Water,Ground,100,150,110,95,110,70,635,105.8333333,23.8775813,6,Medium Slow,1059860,1,45,0,1,0,0,1,0.5,1,0,4,1,1,0.5,1,1,1,1,0.5,1,1,1,0.5,1,1.9,102,28.3 +261,Poochyena,Dark,,35,55,35,30,30,35,220,36.66666667,8.498365856,3,Medium Fast,1000000,0,255,0,0,0,0,1,1,1,1,1,1,2,1,1,1,0,2,1,0.5,1,0.5,1,2,0.5,13.6,54.4 +262,Mightyena,Dark,,70,90,70,60,60,70,420,70,10,3,Medium Fast,1000000,1,127,0,0,0,0,1,1,1,1,1,1,2,1,1,1,0,2,1,0.5,1,0.5,1,2,1,37,37 +263,Zigzagoon,Normal,,38,30,41,30,41,60,240,40,10.04987562,3,Medium Fast,1000000,0,255,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.4,17.5,109.4 +263,Galarian Zigzagoon,Dark,Normal,38,30,41,30,41,60,240,40,10.04987562,8,Medium Fast,1000000,0,255,0,0,0,1,1,1,1,1,1,1,4,1,1,1,0,2,1,0,1,0.5,1,2,0.4,17.5,109.4 +264,Linoone,Normal,,78,70,61,50,61,100,420,70,15.94783162,3,Medium Fast,1000000,1,90,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.5,32.5,130 +264,Galarian Linoone,Dark,Normal,78,70,61,50,61,100,420,70,15.94783162,8,Medium Fast,1000000,0,90,0,0,0,1,1,1,1,1,1,1,4,1,1,1,0,2,1,0,1,0.5,1,2,0.5,32.5,130 +265,Wurmple,Bug,,45,45,35,20,30,20,195,32.5,10.30776406,3,Medium Fast,1000000,0,255,0,0,0,0,1,2,1,1,0.5,1,0.5,1,0.5,2,1,1,2,1,1,1,1,1,0.3,3.6,40 +266,Silcoon,Bug,,50,35,55,25,25,15,205,34.16666667,14.26436897,3,Medium Fast,1000000,0,120,0,0,0,0,1,2,1,1,0.5,1,0.5,1,0.5,2,1,1,2,1,1,1,1,1,0.6,10,27.8 +267,Beautifly,Bug,Flying,60,70,50,100,50,65,395,65.83333333,16.93533453,3,Medium Fast,1000000,1,45,0,0,0,0,1,2,1,2,0.25,2,0.25,1,0,2,1,0.5,4,1,1,1,1,1,1,28.4,28.4 +268,Cascoon,Bug,,50,35,55,25,25,15,205,34.16666667,14.26436897,3,Medium Fast,1000000,0,120,0,0,0,0,1,2,1,1,0.5,1,0.5,1,0.5,2,1,1,2,1,1,1,1,1,0.7,11.5,23.5 +269,Dustox,Bug,Poison,60,50,70,50,90,65,385,64.16666667,13.66768289,3,Medium Fast,1000000,1,45,0,0,0,0,1,2,1,1,0.25,1,0.25,0.5,1,2,2,0.5,2,1,1,1,1,0.5,1.2,31.6,21.9 +270,Lotad,Water,Grass,40,30,30,40,50,30,220,36.66666667,7.453559925,3,Medium Slow,1059860,0,255,0,0,0,0,1,1,0.25,1,1,1,1,2,0.5,2,1,2,1,1,1,1,0.5,1,0.5,2.6,10.4 +271,Lombre,Water,Grass,60,50,50,60,70,50,340,56.66666667,7.453559925,3,Medium Slow,1059860,0,120,0,0,0,0,1,1,0.25,1,1,1,1,2,0.5,2,1,2,1,1,1,1,0.5,1,1.2,32.5,22.6 +272,Ludicolo,Water,Grass,80,70,70,90,100,70,480,80,11.54700538,3,Medium Slow,1059860,1,45,0,0,0,0,1,1,0.25,1,1,1,1,2,0.5,2,1,2,1,1,1,1,0.5,1,1.5,55,24.4 +273,Seedot,Grass,,40,40,50,30,30,30,220,36.66666667,7.453559925,3,Medium Slow,1059860,0,255,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.5,4,16 +274,Nuzleaf,Grass,Dark,70,70,40,60,40,60,340,56.66666667,12.47219129,3,Medium Slow,1059860,0,120,0,0,0,0,1,2,0.5,0.5,0.5,2,2,2,0.5,2,0,4,1,0.5,1,0.5,1,2,1,28,28 +275,Shiftry,Grass,Dark,90,100,60,90,60,80,480,80,15.27525232,3,Medium Slow,1059860,1,45,0,0,0,0,1,2,0.5,0.5,0.5,2,2,2,0.5,2,0,4,1,0.5,1,0.5,1,2,1.3,59.6,35.3 +276,Taillow,Normal,Flying,40,55,30,30,30,85,270,45,20,3,Medium Slow,1059860,0,200,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,0.3,2.3,25.6 +277,Swellow,Normal,Flying,60,85,60,75,50,125,455,75.83333333,24.73470347,3,Medium Slow,1059860,1,45,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,0.7,19.8,40.4 +278,Wingull,Water,Flying,40,30,30,55,30,85,270,45,20,3,Medium Fast,1000000,0,190,0,0,0,0,1,0.5,0.5,4,1,1,0.5,1,0,1,1,0.5,2,1,1,1,0.5,1,0.6,9.5,26.4 +279,Pelipper,Water,Flying,60,50,100,95,70,65,440,73.33333333,18.18118686,3,Medium Fast,1000000,1,45,0,0,0,0,1,0.5,0.5,4,1,1,0.5,1,0,1,1,0.5,2,1,1,1,0.5,1,1.2,28,19.4 +280,Ralts,Psychic,Fairy,28,25,25,45,35,40,198,33,7.637626158,3,Slow,1250000,0,235,0,0,0,0,1,1,1,1,1,1,0.25,2,1,1,0.5,1,1,2,0,1,2,1,0.4,6.6,41.3 +281,Kirlia,Psychic,Fairy,38,35,35,65,55,50,278,46.33333333,11.27928288,3,Slow,1250000,0,120,0,0,0,0,1,1,1,1,1,1,0.25,2,1,1,0.5,1,1,2,0,1,2,1,0.8,20.2,31.6 +282,Gardevoir,Psychic,Fairy,68,65,65,125,115,80,518,86.33333333,24.50623503,3,Slow,1250000,1,45,0,0,0,0,1,1,1,1,1,1,0.25,2,1,1,0.5,1,1,2,0,1,2,1,1.6,48.4,18.9 +282,Mega Gardevoir,Psychic,Fairy,68,85,65,165,135,100,618,103,36.21693895,6,Slow,1250000,1,45,0,1,0,0,1,1,1,1,1,1,0.25,2,1,1,0.5,1,1,2,0,1,2,1,1.6,48.4,18.9 +283,Surskit,Bug,Water,40,30,32,50,52,65,269,44.83333333,12.19858826,3,Medium Fast,1000000,0,200,0,0,0,0,1,1,0.5,2,1,0.5,0.5,1,0.5,2,1,1,2,1,1,1,0.5,1,0.5,1.7,6.8 +284,Masquerain,Bug,Flying,70,60,62,100,82,80,454,75.66666667,13.63410756,3,Medium Fast,1000000,1,75,0,0,0,0,1,2,1,2,0.25,2,0.25,1,0,2,1,0.5,4,1,1,1,1,1,0.8,3.6,5.6 +285,Shroomish,Grass,,60,40,60,40,60,35,295,49.16666667,10.9607887,3,Fluctuating,1640000,0,255,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.4,4.5,28.1 +286,Breloom,Grass,Fighting,60,130,80,60,60,70,460,76.66666667,24.94438258,3,Fluctuating,1640000,1,90,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,4,2,1,0.5,1,1,0.5,1,2,1.2,39.2,27.2 +287,Slakoth,Normal,,60,60,60,35,35,30,280,46.66666667,13.43709625,3,Slow,1250000,0,255,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.8,24,37.5 +288,Vigoroth,Normal,,80,80,80,55,55,90,440,73.33333333,13.43709625,3,Slow,1250000,0,120,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.4,46.5,23.7 +289,Slaking,Normal,,150,160,100,95,65,100,670,111.6666667,32.99831646,3,Slow,1250000,1,45,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,2,130.5,32.6 +290,Nincada,Bug,Ground,31,45,90,30,30,40,266,44.33333333,21.18699811,3,Erratic,600000,0,255,0,0,0,0,1,2,2,0,1,2,0.5,0.5,0.5,2,1,1,1,1,1,1,1,1,0.5,5.5,22 +291,Ninjask,Bug,Flying,61,90,45,50,50,160,456,76,40.39389393,3,Erratic,600000,1,120,0,0,0,0,1,2,1,2,0.25,2,0.25,1,0,2,1,0.5,4,1,1,1,1,1,0.8,12,18.8 +292,Shedinja,Bug,Ghost,1,90,45,30,30,40,236,39.33333333,26.59365004,3,Erratic,600000,1,45,0,0,0,0,0,2,1,1,0.5,1,0,0.5,0.5,2,1,0.5,2,2,1,2,1,1,0.8,1.2,1.9 +293,Whismur,Normal,,64,51,23,51,23,28,240,40,16.02081979,3,Medium Slow,1059860,0,190,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.6,16.3,45.3 +294,Loudred,Normal,,84,71,43,71,43,48,360,60,16.02081979,3,Medium Slow,1059860,0,120,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1,40.5,40.5 +295,Exploud,Normal,,104,91,63,91,73,68,490,81.66666667,14.62494065,3,Medium Slow,1059860,1,45,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.5,84,37.3 +296,Makuhita,Fighting,,72,60,30,20,30,25,237,39.5,19.35415545,3,Fluctuating,1640000,0,180,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,1,86.4,86.4 +297,Hariyama,Fighting,,144,120,60,40,60,50,474,79,38.70831091,3,Fluctuating,1640000,1,200,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,2.3,253.8,48 +298,Azurill,Normal,Fairy,50,20,40,20,40,20,190,31.66666667,12.13351648,3,Fast,800000,0,150,0,0,0,0,1,1,1,1,1,1,1,2,1,1,1,0.5,1,0,0,0.5,2,1,0.2,2,50 +299,Nosepass,Rock,,30,45,135,45,90,30,375,62.5,38.16084381,3,Medium Fast,1000000,0,255,0,0,0,0,0.5,0.5,2,1,2,1,2,0.5,2,0.5,1,1,1,1,1,1,2,1,1,97,97 +300,Skitty,Normal,,50,45,45,35,35,50,260,43.33333333,6.236095645,3,Fast,800000,0,255,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.6,11,30.6 +301,Delcatty,Normal,,70,65,65,55,55,90,400,66.66666667,11.78511302,3,Fast,800000,1,60,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.1,32.6,26.9 +302,Sableye,Dark,Ghost,50,75,75,65,65,50,380,63.33333333,10.27402334,3,Medium Slow,1059860,1,45,0,0,0,0,0,1,1,1,1,1,0,0.5,1,1,0,1,1,1,1,1,1,2,0.5,11,44 +302,Mega Sableye,Dark,Ghost,50,85,125,85,115,20,480,80,36.05551275,6,Medium Slow,1059860,1,45,0,1,0,0,0,1,1,1,1,1,0,0.5,1,1,0,1,1,1,1,1,1,2,0.5,161,644 +303,Mawile,Steel,Fairy,50,85,85,55,55,50,380,63.33333333,15.45603083,3,Fast,800000,1,45,0,0,0,0,0.5,2,1,1,0.5,0.5,1,0,2,0.5,0.5,0.25,0.5,1,0,0.5,1,0.5,0.6,11.5,31.9 +303,Mega Mawile,Steel,Fairy,50,105,125,55,95,50,480,80,29.72092417,6,Fast,800000,1,45,0,1,0,0,0.5,2,1,1,0.5,0.5,1,0,2,0.5,0.5,0.25,0.5,1,0,0.5,1,0.5,1,23.5,23.5 +304,Aron,Steel,Rock,50,70,100,40,40,30,330,55,23.62907813,3,Slow,1250000,0,180,0,0,0,0,0.25,1,2,1,1,0.5,4,0,4,0.25,0.5,0.5,0.5,1,0.5,1,1,0.5,0.4,60,375 +305,Lairon,Steel,Rock,60,90,140,50,50,40,430,71.66666667,34.35921355,3,Slow,1250000,0,90,0,0,0,0,0.25,1,2,1,1,0.5,4,0,4,0.25,0.5,0.5,0.5,1,0.5,1,1,0.5,0.9,120,148.1 +306,Aggron,Steel,Rock,70,110,180,60,60,50,530,88.33333333,45.24623987,3,Slow,1250000,1,45,0,0,0,0,0.25,1,2,1,1,0.5,4,0,4,0.25,0.5,0.5,0.5,1,0.5,1,1,0.5,2.1,360,81.6 +306,Mega Aggron,Steel,,70,140,230,60,80,50,630,105,62.91528696,6,Slow,1250000,1,45,0,1,0,0,0.5,2,1,1,0.5,0.5,2,0,2,0.5,0.5,0.5,0.5,1,0.5,1,0.5,0.5,2.2,395,81.6 +307,Meditite,Fighting,Psychic,30,40,55,40,55,60,280,46.66666667,10.67187373,3,Medium Fast,1000000,0,180,0,0,0,0,1,1,1,1,1,1,0.5,1,1,2,1,1,0.5,2,1,1,1,2,0.6,11.2,31.1 +308,Medicham,Fighting,Psychic,60,60,75,60,75,80,410,68.33333333,8.498365856,3,Medium Fast,1000000,1,90,0,0,0,0,1,1,1,1,1,1,0.5,1,1,2,1,1,0.5,2,1,1,1,2,1.3,31.5,18.6 +308,Mega Medicham,Fighting,Psychic,60,100,85,80,85,100,510,85,13.54006401,6,Medium Fast,1000000,1,90,0,1,0,0,1,1,1,1,1,1,0.5,1,1,2,1,1,0.5,2,1,1,1,2,1.3,31.5,18.6 +309,Electrike,Electric,,40,45,40,65,40,65,295,49.16666667,11.33455876,3,Slow,1250000,0,120,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,0.6,15.2,42.2 +310,Manectric,Electric,,70,75,60,105,60,105,475,79.16666667,19.02118702,3,Slow,1250000,1,45,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,1.5,40.2,17.9 +310,Mega Manectric,Electric,,70,75,80,135,80,135,575,95.83333333,27.90111507,6,Slow,1250000,1,45,0,1,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,1.8,44,13.6 +311,Plusle,Electric,,60,50,40,85,75,95,405,67.5,19.31105038,3,Medium Fast,1000000,1,200,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,0.4,4.2,26.3 +312,Minun,Electric,,60,40,50,75,85,95,405,67.5,19.31105038,3,Medium Fast,1000000,1,200,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,0.4,4.2,26.3 +313,Volbeat,Bug,,65,73,75,47,85,85,430,71.66666667,13.04692386,3,Erratic,600000,1,150,0,0,0,0,1,2,1,1,0.5,1,0.5,1,0.5,2,1,1,2,1,1,1,1,1,0.7,17.7,36.1 +314,Illumise,Bug,,65,47,75,73,85,85,430,71.66666667,13.04692386,3,Fluctuating,1640000,1,150,0,0,0,0,1,2,1,1,0.5,1,0.5,1,0.5,2,1,1,2,1,1,1,1,1,0.6,17.7,49.2 +315,Roselia,Grass,Poison,50,60,45,100,80,65,400,66.66666667,18.63389981,3,Medium Slow,1059860,0,150,0,0,0,0,1,2,0.5,0.5,0.25,2,0.5,1,1,2,2,1,1,1,1,1,1,0.5,0.3,2,22.2 +316,Gulpin,Poison,,70,43,53,43,53,40,302,50.33333333,10.12697169,3,Fluctuating,1640000,0,225,0,0,0,0,1,1,1,1,0.5,1,0.5,0.5,2,1,2,0.5,1,1,1,1,1,0.5,0.4,10.3,64.4 +317,Swalot,Poison,,100,73,83,73,83,55,467,77.83333333,13.61881868,3,Fluctuating,1640000,1,75,0,0,0,0,1,1,1,1,0.5,1,0.5,0.5,2,1,2,0.5,1,1,1,1,1,0.5,1.7,80,27.7 +318,Carvanha,Water,Dark,45,90,20,65,20,65,305,50.83333333,25.39958442,3,Slow,1250000,0,225,0,0,0,0,1,0.5,0.5,2,2,0.5,2,1,1,1,0,2,1,0.5,1,0.5,0.5,2,0.8,20.8,32.5 +319,Sharpedo,Water,Dark,70,120,40,95,40,95,460,76.66666667,29.67415636,3,Slow,1250000,1,60,0,0,0,0,1,0.5,0.5,2,2,0.5,2,1,1,1,0,2,1,0.5,1,0.5,0.5,2,1.8,88.8,27.4 +319,Mega Sharpedo,Water,Dark,70,140,70,110,65,105,560,93.33333333,27.33536578,6,Slow,1250000,1,60,0,1,0,0,1,0.5,0.5,2,2,0.5,2,1,1,1,0,2,1,0.5,1,0.5,0.5,2,2.5,130.3,20.8 +320,Wailmer,Water,,130,70,35,70,35,60,400,66.66666667,31.84162196,3,Fluctuating,1640000,0,125,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,2,130,32.5 +321,Wailord,Water,,170,90,45,90,45,60,500,83.33333333,42.97932319,3,Fluctuating,1640000,1,60,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,14.5,398,1.9 +322,Numel,Fire,Ground,60,60,40,65,45,35,305,50.83333333,11.33455876,3,Medium Fast,1000000,0,255,0,0,0,0,1,0.5,4,0,1,1,1,0.5,2,1,1,0.5,1,1,1,1,0.5,0.5,0.7,24,49 +323,Camerupt,Fire,Ground,70,100,70,105,75,40,460,76.66666667,21.53807997,3,Medium Fast,1000000,1,150,0,0,0,0,1,0.5,4,0,1,1,1,0.5,2,1,1,0.5,1,1,1,1,0.5,0.5,1.9,220,60.9 +323,Mega Camerupt,Fire,Ground,70,120,100,145,105,20,560,93.33333333,39.75620147,6,Medium Fast,1000000,1,150,0,1,0,0,1,0.5,4,0,1,1,1,0.5,2,1,1,0.5,1,1,1,1,0.5,0.5,2.5,320.5,51.3 +324,Torkoal,Fire,,70,85,140,85,70,20,470,78.33333333,35.19785347,3,Medium Fast,1000000,1,90,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,0.5,80.4,321.6 +325,Spoink,Psychic,,60,25,35,70,80,60,330,55,19.14854216,3,Fast,800000,0,255,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.7,30.6,62.4 +326,Grumpig,Psychic,,80,45,65,90,110,80,470,78.33333333,20.13840996,3,Fast,800000,1,60,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.9,71.5,88.3 +327,Spinda,Normal,,60,60,60,60,60,60,360,60,0,3,Fast,800000,1,255,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.1,5,4.1 +328,Trapinch,Ground,,45,100,45,45,45,10,290,48.33333333,26.40496586,3,Medium Slow,1059860,0,255,0,0,0,0,1,1,2,0,2,2,1,0.5,1,1,1,1,0.5,1,1,1,1,1,0.7,15,30.6 +329,Vibrava,Ground,Dragon,50,70,50,50,50,70,340,56.66666667,9.428090416,3,Medium Slow,1059860,0,120,0,0,0,0,1,0.5,1,0,1,4,1,0.5,1,1,1,1,0.5,1,2,1,1,2,1.1,15.3,12.6 +330,Flygon,Ground,Dragon,80,100,80,80,80,100,520,86.66666667,9.428090416,3,Medium Slow,1059860,1,45,0,0,0,0,1,0.5,1,0,1,4,1,0.5,1,1,1,1,0.5,1,2,1,1,2,2,82,20.5 +331,Cacnea,Grass,,50,85,40,85,40,35,335,55.83333333,21.09831484,3,Medium Slow,1059860,0,190,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.4,51.3,320.6 +332,Cacturne,Grass,Dark,70,115,60,115,60,55,475,79.16666667,25.72558173,3,Medium Slow,1059860,1,60,0,0,0,0,1,2,0.5,0.5,0.5,2,2,2,0.5,2,0,4,1,0.5,1,0.5,1,2,1.3,77.4,45.8 +333,Swablu,Normal,Flying,45,40,60,40,75,50,310,51.66666667,12.47219129,3,Erratic,600000,0,255,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,0.4,1.2,7.5 +334,Altaria,Dragon,Flying,75,70,90,70,105,80,490,81.66666667,12.47219129,3,Erratic,600000,1,45,0,0,0,0,1,0.5,0.5,1,0.25,4,0.5,1,0,1,1,0.5,2,1,2,1,1,2,1.1,20.6,17 +334,Mega Altaria,Dragon,Fairy,75,110,110,110,105,80,590,98.33333333,14.90711985,6,Erratic,600000,1,45,0,1,0,0,1,0.5,0.5,0.5,0.5,2,0.5,2,1,1,1,0.5,1,1,0,0.5,2,2,1.5,20.6,9.2 +335,Zangoose,Normal,,73,115,60,60,60,90,458,76.33333333,20.3851798,3,Erratic,600000,1,90,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.3,40.3,23.8 +336,Seviper,Poison,,73,100,60,100,60,65,458,76.33333333,17.28840331,3,Fluctuating,1640000,1,90,0,0,0,0,1,1,1,1,0.5,1,0.5,0.5,2,1,2,0.5,1,1,1,1,1,0.5,2.7,52.5,7.2 +337,Lunatone,Rock,Psychic,90,55,65,95,85,70,460,76.66666667,14.33720878,3,Fast,800000,1,45,0,0,0,0,0.5,0.5,2,1,2,1,1,0.5,2,0.5,0.5,2,1,2,1,2,2,1,1,168,168 +338,Solrock,Rock,Psychic,90,95,85,55,65,70,460,76.66666667,14.33720878,3,Fast,800000,1,45,0,0,0,0,0.5,0.5,2,1,2,1,1,0.5,2,0.5,0.5,2,1,2,1,2,2,1,1.2,154,106.9 +339,Barboach,Water,Ground,50,48,43,46,41,60,288,48,6.137317547,3,Medium Fast,1000000,0,190,0,0,0,0,1,0.5,1,0,4,1,1,0.5,1,1,1,1,0.5,1,1,1,0.5,1,0.4,1.9,11.9 +340,Whiscash,Water,Ground,110,78,73,76,71,60,468,78,15.41644144,3,Medium Fast,1000000,1,75,0,0,0,0,1,0.5,1,0,4,1,1,0.5,1,1,1,1,0.5,1,1,1,0.5,1,0.9,23.6,29.1 +341,Corphish,Water,,43,80,65,50,35,35,308,51.33333333,16.39783183,3,Fluctuating,1640000,0,205,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.6,11.5,31.9 +342,Crawdaunt,Water,Dark,63,120,85,90,55,55,468,78,23.23790008,3,Fluctuating,1640000,1,155,0,0,0,0,1,0.5,0.5,2,2,0.5,2,1,1,1,0,2,1,0.5,1,0.5,0.5,2,1.1,32.8,27.1 +343,Baltoy,Ground,Psychic,40,40,55,40,70,55,300,50,11.18033989,3,Medium Fast,1000000,0,255,0,0,0,0,1,1,2,0,2,2,0.5,0.5,1,1,0.5,2,0.5,2,1,2,1,1,0.5,21.5,86 +344,Claydol,Ground,Psychic,60,70,105,70,120,75,500,83.33333333,21.53807997,3,Medium Fast,1000000,1,90,0,0,0,0,1,1,2,0,2,2,0.5,0.5,1,1,0.5,2,0.5,2,1,2,1,1,1.5,108,48 +345,Lileep,Rock,Grass,66,41,77,61,87,23,355,59.16666667,21.52840501,3,Erratic,600000,0,45,0,0,0,0,0.5,1,1,0.5,1,2,2,1,1,1,1,2,1,1,1,1,2,1,1,23.8,23.8 +346,Cradily,Rock,Grass,86,81,97,81,107,43,495,82.5,19.94784867,3,Erratic,600000,1,45,0,0,0,0,0.5,1,1,0.5,1,2,2,1,1,1,1,2,1,1,1,1,2,1,1.5,60.4,26.8 +347,Anorith,Rock,Bug,45,95,50,40,50,75,355,59.16666667,19.45436255,3,Erratic,600000,0,45,0,0,0,0,0.5,1,2,1,1,1,1,0.5,1,1,1,1,2,1,1,1,2,1,0.7,12.5,25.5 +348,Armaldo,Rock,Bug,75,125,100,70,80,45,495,82.5,24.95829855,3,Erratic,600000,1,45,0,0,0,0,0.5,1,2,1,1,1,1,0.5,1,1,1,1,2,1,1,1,2,1,1.5,68.2,30.3 +349,Feebas,Water,,20,15,20,10,55,80,200,33.33333333,25.44056254,3,Erratic,600000,0,255,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.6,7.4,20.6 +350,Milotic,Water,,95,60,79,100,125,81,540,90,20.2155056,3,Erratic,600000,1,60,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,6.2,162,4.2 +351,Castform,Normal,,70,70,70,70,70,70,420,70,0,3,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.3,0.8,8.9 +352,Kecleon,Normal,,60,90,70,60,120,40,440,73.33333333,25.60381916,3,Medium Slow,1059860,1,200,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1,22,22 +353,Shuppet,Ghost,,44,75,35,63,33,45,295,49.16666667,15.08218228,3,Fast,800000,0,225,0,0,0,0,0,1,1,1,1,1,0,0.5,1,1,1,0.5,1,2,1,2,1,1,0.6,2.3,6.4 +354,Banette,Ghost,,64,115,65,83,63,65,455,75.83333333,18.81857829,3,Fast,800000,1,45,0,0,0,0,0,1,1,1,1,1,0,0.5,1,1,1,0.5,1,2,1,2,1,1,1.1,12.5,10.3 +354,Mega Banette,Ghost,,64,165,75,93,83,75,555,92.5,33.59439437,6,Fast,800000,1,45,0,1,0,0,0,1,1,1,1,1,0,0.5,1,1,1,0.5,1,2,1,2,1,1,1.2,13,9 +355,Duskull,Ghost,,20,40,90,30,90,25,295,49.16666667,29.4981167,3,Fast,800000,0,190,0,0,0,0,0,1,1,1,1,1,0,0.5,1,1,1,0.5,1,2,1,2,1,1,0.8,15,23.4 +356,Dusclops,Ghost,,40,70,130,60,130,25,455,75.83333333,40.86733278,3,Fast,800000,0,90,0,0,0,0,0,1,1,1,1,1,0,0.5,1,1,1,0.5,1,2,1,2,1,1,1.6,30.6,12 +357,Tropius,Grass,Flying,99,68,83,72,87,51,460,76.66666667,15.28252452,3,Slow,1250000,1,200,0,0,0,0,1,2,0.5,1,0.25,4,0.5,2,0,2,1,1,2,1,1,1,1,1,2,100,25 +358,Chimecho,Psychic,,75,50,80,95,90,65,455,75.83333333,15.11529762,3,Fast,800000,1,45,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.6,1,2.8 +359,Absol,Dark,,65,130,60,75,60,75,465,77.5,24.28133714,3,Medium Slow,1059860,1,30,0,0,0,0,1,1,1,1,1,1,2,1,1,1,0,2,1,0.5,1,0.5,1,2,1.2,47,32.6 +359,Mega Absol,Dark,,65,150,60,115,60,115,565,94.16666667,34.57078085,6,Medium Slow,1059860,1,30,0,1,0,0,1,1,1,1,1,1,2,1,1,1,0,2,1,0.5,1,0.5,1,2,1.2,49,34 +360,Wynaut,Psychic,,95,23,48,23,48,23,260,43.33333333,25.66883108,3,Medium Fast,1000000,0,125,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.6,14,38.9 +361,Snorunt,Ice,,50,50,50,50,50,50,300,50,0,3,Medium Fast,1000000,0,190,0,0,0,0,1,2,1,1,1,0.5,2,1,1,1,1,1,2,1,1,1,2,1,0.7,16.8,34.3 +362,Glalie,Ice,,80,80,80,80,80,80,480,80,0,3,Medium Fast,1000000,1,75,0,0,0,0,1,2,1,1,1,0.5,2,1,1,1,1,1,2,1,1,1,2,1,1.5,256.5,114 +362,Mega Glalie,Ice,,80,120,80,120,80,100,580,96.66666667,17.95054936,6,Medium Fast,1000000,1,75,0,1,0,0,1,2,1,1,1,0.5,2,1,1,1,1,1,2,1,1,1,2,1,2.1,350.2,79.4 +363,Spheal,Ice,Water,70,40,50,55,50,25,290,48.33333333,13.74368542,3,Medium Slow,1059860,0,255,0,0,0,0,1,1,0.5,2,2,0.25,2,1,1,1,1,1,2,1,1,1,1,1,0.8,39.5,61.7 +364,Sealeo,Ice,Water,90,60,70,75,70,45,410,68.33333333,13.74368542,3,Medium Slow,1059860,0,120,0,0,0,0,1,1,0.5,2,2,0.25,2,1,1,1,1,1,2,1,1,1,1,1,1.1,87.6,72.4 +365,Walrein,Ice,Water,110,80,90,95,90,65,530,88.33333333,13.74368542,3,Medium Slow,1059860,1,45,0,0,0,0,1,1,0.5,2,2,0.25,2,1,1,1,1,1,2,1,1,1,1,1,1.4,150.6,76.8 +366,Clamperl,Water,,35,64,85,74,55,32,345,57.5,19.29378138,3,Erratic,600000,0,255,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.4,52.5,328.1 +367,Huntail,Water,,55,104,105,94,75,52,485,80.83333333,21.70573401,3,Erratic,600000,1,60,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1.7,27,9.3 +368,Gorebyss,Water,,55,84,105,114,75,52,485,80.83333333,23.19063508,3,Erratic,600000,1,60,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1.8,22.6,7 +369,Relicanth,Water,Rock,100,90,130,45,65,55,485,80.83333333,29.07127257,3,Slow,1250000,1,25,0,0,0,0,0.5,0.25,1,2,4,0.5,2,0.5,2,0.5,1,1,1,1,1,1,1,1,1,23.4,23.4 +370,Luvdisc,Water,,43,30,55,40,65,97,330,55,21.82506205,3,Fast,800000,1,225,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.6,8.7,24.2 +371,Bagon,Dragon,,45,75,60,40,30,50,300,50,14.43375673,3,Slow,1250000,0,45,0,0,0,0,1,0.5,0.5,0.5,0.5,2,1,1,1,1,1,1,1,1,2,1,1,2,0.6,42.1,116.9 +372,Shelgon,Dragon,,65,95,100,60,50,50,420,70,20.20725942,3,Slow,1250000,0,45,0,0,0,0,1,0.5,0.5,0.5,0.5,2,1,1,1,1,1,1,1,1,2,1,1,2,1.1,110.5,91.3 +373,Salamence,Dragon,Flying,95,135,80,110,80,100,600,100,18.92969449,3,Slow,1250000,1,45,0,0,0,0,1,0.5,0.5,1,0.25,4,0.5,1,0,1,1,0.5,2,1,2,1,1,2,1.5,102.6,45.6 +373,Mega Salamence,Dragon,Flying,95,145,130,120,90,120,700,116.6666667,19.0758719,6,Slow,1250000,1,45,0,1,0,0,1,0.5,0.5,1,0.25,4,0.5,1,0,1,1,0.5,2,1,2,1,1,2,1.8,112.6,34.8 +374,Beldum,Steel,Psychic,40,55,80,35,60,30,300,50,17.07825128,3,Slow,1250000,0,3,0,0,0,0,0.5,2,1,1,0.5,0.5,1,0,2,0.5,0.25,1,0.5,2,0.5,2,0.5,0.5,0.6,95.2,264.4 +375,Metang,Steel,Psychic,60,75,100,55,80,50,420,70,17.07825128,3,Slow,1250000,0,3,0,0,0,0,0.5,2,1,1,0.5,0.5,1,0,2,0.5,0.25,1,0.5,2,0.5,2,0.5,0.5,1.2,202.5,140.6 +376,Metagross,Steel,Psychic,80,135,130,95,90,70,600,100,24.3241992,3,Slow,1250000,1,3,0,0,0,0,0.5,2,1,1,0.5,0.5,1,0,2,0.5,0.25,1,0.5,2,0.5,2,0.5,0.5,1.6,550,214.8 +376,Mega Metagross,Steel,Psychic,80,145,150,105,110,110,700,116.6666667,24.09472049,6,Slow,1250000,1,3,0,1,0,0,0.5,2,1,1,0.5,0.5,1,0,2,0.5,0.25,1,0.5,2,0.5,2,0.5,0.5,2.5,942.9,150.9 +377,Regirock,Rock,,80,100,200,50,100,50,580,96.66666667,50.55250296,3,Slow,1250000,1,3,1,0,0,0,0.5,0.5,2,1,2,1,2,0.5,2,0.5,1,1,1,1,1,1,2,1,1.7,230,79.6 +378,Regice,Ice,,80,50,100,100,200,50,580,96.66666667,50.55250296,3,Slow,1250000,1,3,1,0,0,0,1,2,1,1,1,0.5,2,1,1,1,1,1,2,1,1,1,2,1,1.8,175,54 +379,Registeel,Steel,,80,75,150,75,150,50,580,96.66666667,38.9087251,3,Slow,1250000,1,3,1,0,0,0,0.5,2,1,1,0.5,0.5,2,0,2,0.5,0.5,0.5,0.5,1,0.5,1,0.5,0.5,1.9,205,56.8 +380,Latias,Dragon,Psychic,80,80,90,110,130,110,600,100,18.25741858,3,Slow,1250000,1,3,1,0,0,0,1,0.5,0.5,0.5,0.5,2,0.5,1,1,1,0.5,2,1,2,2,2,1,2,1.4,40,20.4 +380,Mega Latias,Dragon,Psychic,80,100,120,140,150,110,700,116.6666667,23.57022604,6,Slow,1250000,1,3,1,1,0,0,1,0.5,0.5,0.5,0.5,2,0.5,1,1,1,0.5,2,1,2,2,2,1,2,1.8,52,16 +381,Latios,Dragon,Psychic,80,90,80,130,110,110,600,100,18.25741858,3,Slow,1250000,1,3,1,0,0,0,1,0.5,0.5,0.5,0.5,2,0.5,1,1,1,0.5,2,1,2,2,2,1,2,2,60,15 +381,Mega Latios,Dragon,Psychic,80,130,100,160,120,110,700,116.6666667,24.94438258,6,Slow,1250000,1,3,1,1,0,0,1,0.5,0.5,0.5,0.5,2,0.5,1,1,1,0.5,2,1,2,2,2,1,2,2.3,70,13.2 +382,Kyogre,Water,,100,100,90,150,140,90,670,111.6666667,24.09472049,3,Slow,1250000,1,3,1,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,4.5,352,17.4 +382,Primal Kyogre,Water,,100,150,90,180,160,90,770,128.3333333,36.24760528,6,Slow,1250000,1,3,1,1,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,9.8,430,4.5 +383,Groudon,Ground,,100,150,140,100,90,90,670,111.6666667,24.09472049,3,Slow,1250000,1,3,1,0,0,0,1,1,2,0,2,2,1,0.5,1,1,1,1,0.5,1,1,1,1,1,3.5,950,77.6 +383,Primal Groudon,Ground,Fire,100,180,160,150,90,90,770,128.3333333,36.24760528,6,Slow,1250000,1,3,1,1,0,0,1,0.5,4,0,1,1,1,0.5,2,1,1,0.5,1,1,1,1,0.5,0.5,5,999.7,40 +384,Rayquaza,Dragon,Flying,105,150,90,150,90,95,680,113.3333333,26.40496586,3,Slow,1250000,1,45,1,0,0,0,1,0.5,0.5,1,0.25,4,0.5,1,0,1,1,0.5,2,1,2,1,1,2,7,206.5,4.2 +384,Mega Rayquaza,Dragon,Flying,105,180,100,180,100,115,780,130,35.70714214,6,Slow,1250000,1,45,1,1,0,0,1,0.5,0.5,1,0.25,4,0.5,1,0,1,1,0.5,2,1,2,1,1,2,10.8,392,3.4 +385,Jirachi,Steel,Psychic,100,100,100,100,100,100,600,100,0,3,Slow,1250000,1,3,1,0,0,0,0.5,2,1,1,0.5,0.5,1,0,2,0.5,0.25,1,0.5,2,0.5,2,0.5,0.5,0.3,1.1,12.2 +386,Deoxys Normal Form,Psychic,,50,150,50,150,50,150,600,100,50,3,Slow,1250000,1,3,1,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,1.7,60.8,21 +386,Deoxys Defense Form,Psychic,,50,70,160,70,160,90,600,100,43.96968653,3,Slow,1250000,1,3,1,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,1.7,60.8,21 +386,Deoxys Attack Form,Psychic,,50,180,20,180,20,150,600,100,71.41428429,3,Slow,1250000,1,3,1,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,1.7,60.8,21 +386,Deoxys Speed Form,Psychic,,50,95,90,95,90,180,600,100,39.05124838,3,Slow,1250000,1,3,1,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,1.7,60.8,21 +387,Turtwig,Grass,,55,68,64,45,55,31,318,53,12.26104944,4,Medium Slow,1059860,0,45,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.4,10.2,63.8 +388,Grotle,Grass,,75,89,85,55,65,36,405,67.5,18.16360831,4,Medium Slow,1059860,0,45,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,1.1,97,80.2 +389,Torterra,Grass,Ground,95,109,105,75,85,56,525,87.5,18.16360831,4,Medium Slow,1059860,1,45,0,0,0,0,1,2,1,0,1,4,1,1,0.5,2,1,2,0.5,1,1,1,1,1,2.2,310,64 +390,Chimchar,Fire,,44,58,44,58,44,61,309,51.5,7.566372975,4,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,0.5,6.2,24.8 +391,Monferno,Fire,Fighting,64,78,52,78,52,81,405,67.5,12.21679172,4,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,2,2,0.25,1,1,1,0.5,0.5,1,0.9,22,27.2 +392,Infernape,Fire,Fighting,76,104,71,104,71,108,534,89,16.4721988,4,Medium Slow,1059860,1,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,2,2,0.25,1,1,1,0.5,0.5,1,1.2,55,38.2 +393,Piplup,Water,,53,51,53,61,56,40,314,52.33333333,6.368324392,4,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.4,5.2,32.5 +394,Prinplup,Water,,64,66,68,81,76,50,405,67.5,9.793705462,4,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.8,23,35.9 +395,Empoleon,Water,Steel,84,86,88,111,101,60,530,88.33333333,15.81841402,4,Medium Slow,1059860,1,45,0,0,0,0,0.5,1,0.5,2,1,0.25,2,0,2,0.5,0.5,0.5,0.5,1,0.5,1,0.25,0.5,1.7,84.5,29.2 +396,Starly,Normal,Flying,40,55,30,30,30,60,245,40.83333333,12.38839062,4,Medium Slow,1059860,0,255,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,0.3,2,22.2 +397,Staravia,Normal,Flying,55,75,50,40,40,80,340,56.66666667,15.72330189,4,Medium Slow,1059860,0,120,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,0.6,15.5,43.1 +398,Staraptor,Normal,Flying,85,120,70,50,60,100,485,80.83333333,23.8775813,4,Medium Slow,1059860,1,45,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,1.2,24.9,17.3 +399,Bidoof,Normal,,59,45,40,35,40,31,250,41.66666667,8.900686615,4,Medium Fast,1000000,0,255,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.5,20,80 +400,Bibarel,Normal,Water,79,85,60,55,60,71,410,68.33333333,10.9188929,4,Medium Fast,1000000,1,127,0,0,0,0,1,0.5,0.5,2,2,0.5,2,1,1,1,1,1,1,0,1,1,0.5,1,1,31.5,31.5 +401,Kricketot,Bug,,37,25,41,25,41,25,194,32.33333333,7.453559925,4,Medium Slow,1059860,0,255,0,0,0,0,1,2,1,1,0.5,1,0.5,1,0.5,2,1,1,2,1,1,1,1,1,0.3,2.2,24.4 +402,Kricketune,Bug,,77,85,51,55,51,65,384,64,13.10216267,4,Medium Slow,1059860,1,45,0,0,0,0,1,2,1,1,0.5,1,0.5,1,0.5,2,1,1,2,1,1,1,1,1,1,25.5,25.5 +403,Shinx,Electric,,45,65,34,40,34,45,263,43.83333333,10.47881461,4,Medium Slow,1059860,0,235,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,0.5,9.5,38 +404,Luxio,Electric,,60,85,49,60,49,60,363,60.5,12.01041215,4,Medium Slow,1059860,0,120,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,0.9,30.5,37.7 +405,Luxray,Electric,,80,120,79,95,79,70,523,87.16666667,16.4257589,4,Medium Slow,1059860,1,45,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,1.4,42,21.4 +406,Budew,Grass,Poison,40,30,35,50,70,55,280,46.66666667,13.43709625,4,Medium Slow,1059860,0,255,0,0,0,0,1,2,0.5,0.5,0.25,2,0.5,1,1,2,2,1,1,1,1,1,1,0.5,0.2,1.2,30 +407,Roserade,Grass,Poison,60,70,65,125,105,90,515,85.83333333,23.34820954,4,Medium Slow,1059860,1,75,0,0,0,0,1,2,0.5,0.5,0.25,2,0.5,1,1,2,2,1,1,1,1,1,1,0.5,0.9,14.5,17.9 +408,Cranidos,Rock,,67,125,40,30,30,58,350,58.33333333,32.81598526,4,Erratic,600000,0,45,0,0,0,0,0.5,0.5,2,1,2,1,2,0.5,2,0.5,1,1,1,1,1,1,2,1,0.9,31.5,38.9 +409,Rampardos,Rock,,97,165,60,65,50,58,495,82.5,39.76074278,4,Erratic,600000,1,45,0,0,0,0,0.5,0.5,2,1,2,1,2,0.5,2,0.5,1,1,1,1,1,1,2,1,1.6,102.5,40 +410,Shieldon,Rock,Steel,30,42,118,42,88,30,350,58.33333333,33.11428024,4,Erratic,600000,0,45,0,0,0,0,0.25,1,2,1,1,0.5,4,0,4,0.25,0.5,0.5,0.5,1,0.5,1,1,0.5,0.5,57,228 +411,Bastiodon,Rock,Steel,60,52,168,47,138,30,495,82.5,51.38660656,4,Erratic,600000,1,45,0,0,0,0,0.25,1,2,1,1,0.5,4,0,4,0.25,0.5,0.5,0.5,1,0.5,1,1,0.5,1.3,149.5,88.5 +412,Burmy,Bug,,40,29,45,29,45,36,224,37.33333333,6.649979114,4,Medium Fast,1000000,0,120,0,0,0,0,1,2,1,1,0.5,1,0.5,1,0.5,2,1,1,2,1,1,1,1,1,0.2,3.4,85 +413,Wormadam Plant Cloak,Bug,Grass,60,59,85,79,105,36,424,70.66666667,22.00504993,4,Medium Fast,1000000,0,45,0,0,0,0,1,4,0.5,0.5,0.25,2,0.5,2,0.25,4,1,2,2,1,1,1,1,1,0.5,6.5,26 +413,Wormadam Sandy Cloak,Bug,Ground,60,79,105,59,85,36,424,70.66666667,22.00504993,4,Medium Fast,1000000,0,45,0,0,0,0,1,2,2,0,1,2,0.5,0.5,0.5,2,1,1,1,1,1,1,1,1,0.5,6.5,26 +413,Wormadam Trash Cloak,Bug,Steel,60,69,95,69,95,36,424,70.66666667,20.43417617,4,Medium Fast,1000000,0,45,0,0,0,0,0.5,4,1,1,0.25,0.5,1,0,1,1,0.5,0.5,1,1,0.5,1,0.5,0.5,0.5,6.5,26 +414,Mothim,Bug,Flying,70,94,50,94,50,66,424,70.66666667,18.09849595,4,Medium Fast,1000000,1,45,0,0,0,0,1,2,1,2,0.25,2,0.25,1,0,2,1,0.5,4,1,1,1,1,1,0.9,23.3,28.8 +415,Combee,Bug,Flying,30,30,42,30,42,70,244,40.66666667,14.17352775,4,Medium Slow,1059860,0,120,0,0,0,0,1,2,1,2,0.25,2,0.25,1,0,2,1,0.5,4,1,1,1,1,1,0.3,5.5,61.1 +416,Vespiquen,Bug,Flying,70,80,102,80,102,40,474,79,21.06339637,4,Medium Slow,1059860,1,45,0,0,0,0,1,2,1,2,0.25,2,0.25,1,0,2,1,0.5,4,1,1,1,1,1,1.2,38.5,26.7 +417,Pachirisu,Electric,,60,45,70,45,90,95,405,67.5,19.73786547,4,Medium Fast,1000000,1,200,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,0.4,3.9,24.4 +418,Buizel,Water,,55,65,35,60,30,85,330,55,18.48422751,4,Medium Fast,1000000,0,190,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.7,29.5,60.2 +419,Floatzel,Water,,85,105,55,85,50,115,495,82.5,23.76096238,4,Medium Fast,1000000,1,75,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1.1,33.5,27.7 +420,Cherubi,Grass,,45,35,45,62,53,35,275,45.83333333,9.564111157,4,Medium Fast,1000000,0,190,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.4,3.3,20.6 +421,Cherrim,Grass,,70,60,70,87,78,85,450,75,9.38083152,4,Medium Fast,1000000,1,75,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.5,9.3,37.2 +422,Shellos,Water,,76,48,48,57,62,34,325,54.16666667,13.09474025,4,Medium Fast,1000000,0,190,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.3,6.3,70 +423,Gastrodon,Water,Ground,111,83,68,92,82,39,475,79.16666667,22.13155113,4,Medium Fast,1000000,1,75,0,0,0,0,1,0.5,1,0,4,1,1,0.5,1,1,1,1,0.5,1,1,1,0.5,1,0.9,29.9,36.9 +424,Ambipom,Normal,,75,100,66,60,66,115,482,80.33333333,20.17148703,4,Fast,800000,1,45,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.2,20.3,14.1 +425,Drifloon,Ghost,Flying,90,50,34,60,44,70,348,58,18.29389698,4,Fluctuating,1640000,0,125,0,0,0,0,0,1,1,2,0.5,2,0,0.5,0,1,1,0.25,2,2,1,2,1,1,0.4,1.2,7.5 +426,Drifblim,Ghost,Flying,150,80,44,90,54,80,498,83,33.95585369,4,Fluctuating,1640000,1,60,0,0,0,0,0,1,1,2,0.5,2,0,0.5,0,1,1,0.25,2,2,1,2,1,1,1.2,15,10.4 +427,Buneary,Normal,,55,66,44,44,56,85,350,58.33333333,14.1264134,4,Medium Fast,1000000,0,190,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.4,5.5,34.4 +428,Lopunny,Normal,,65,76,84,54,96,105,480,80,17.38773514,4,Medium Fast,1000000,1,60,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.2,33.3,23.1 +428,Mega Lopunny,Normal,Fighting,65,136,94,54,96,135,580,96.66666667,31.21787237,6,Medium Fast,1000000,1,60,0,1,0,0,1,1,1,1,1,1,2,1,1,2,2,0.5,0.5,0,1,0.5,1,2,1.3,28.3,16.7 +429,Mismagius,Ghost,,60,60,60,105,105,105,495,82.5,22.5,4,Fast,800000,1,45,0,0,0,0,0,1,1,1,1,1,0,0.5,1,1,1,0.5,1,2,1,2,1,1,0.9,4.4,5.4 +430,Honchkrow,Dark,Flying,100,125,52,105,52,71,505,84.16666667,27.673192,4,Medium Slow,1059860,1,30,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,0,1,2,0.5,1,0.5,1,2,0.9,27.3,33.7 +431,Glameow,Normal,,49,55,42,42,37,85,310,51.66666667,15.97567596,4,Fast,800000,0,190,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.5,3.9,15.6 +432,Purugly,Normal,,71,82,64,64,59,112,452,75.33333333,17.94126219,4,Fast,800000,1,75,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1,43.8,43.8 +433,Chingling,Psychic,,45,30,50,65,50,45,285,47.5,10.30776406,4,Fast,800000,0,120,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.2,0.6,15 +434,Stunky,Poison,Dark,63,63,47,41,41,74,329,54.83333333,12.54879366,4,Medium Fast,1000000,0,225,0,0,0,0,1,1,1,1,0.5,1,1,0.5,2,1,0,1,1,0.5,1,0.5,1,1,0.4,19.2,120 +435,Skuntank,Poison,Dark,103,93,67,71,61,84,479,79.83333333,14.85952743,4,Medium Fast,1000000,1,60,0,0,0,0,1,1,1,1,0.5,1,1,0.5,2,1,0,1,1,0.5,1,0.5,1,1,1,38,38 +436,Bronzor,Steel,Psychic,57,24,86,24,86,23,300,50,28.05352028,4,Medium Fast,1000000,0,255,0,0,0,0,0.5,2,1,1,0.5,0.5,1,0,2,0.5,0.25,1,0.5,2,0.5,2,0.5,0.5,0.5,60.5,242 +437,Bronzong,Steel,Psychic,67,89,116,79,116,33,500,83.33333333,28.82514335,4,Medium Fast,1000000,1,90,0,0,0,0,0.5,2,1,1,0.5,0.5,1,0,2,0.5,0.25,1,0.5,2,0.5,2,0.5,0.5,1.3,187,110.7 +438,Bonsly,Rock,,50,80,95,10,45,10,290,48.33333333,31.97221016,4,Medium Fast,1000000,0,255,0,0,0,0,0.5,0.5,2,1,2,1,2,0.5,2,0.5,1,1,1,1,1,1,2,1,0.5,15,60 +439,Mime Jr.,Psychic,Fairy,20,25,45,70,90,60,310,51.66666667,24.60803843,4,Medium Fast,1000000,0,145,0,0,0,0,1,1,1,1,1,1,0.25,2,1,1,0.5,1,1,2,0,1,2,1,0.6,13,36.1 +440,Happiny,Normal,,100,5,5,15,65,30,220,36.66666667,34.96029494,4,Fast,800000,0,130,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.6,24.4,67.8 +441,Chatot,Normal,Flying,76,65,45,92,42,91,411,68.5,19.92276755,4,Medium Slow,1059860,1,30,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,0.5,1.9,7.6 +442,Spiritomb,Ghost,Dark,50,92,108,92,108,35,485,80.83333333,28.21593325,4,Medium Fast,1000000,1,100,0,0,0,0,0,1,1,1,1,1,0,0.5,1,1,0,1,1,1,1,1,1,2,1,108,108 +443,Gible,Dragon,Ground,58,70,45,40,45,42,300,50,10.63014581,4,Slow,1250000,0,45,0,0,0,0,1,0.5,1,0,1,4,1,0.5,1,1,1,1,0.5,1,2,1,1,2,0.7,20.5,41.8 +444,Gabite,Dragon,Ground,68,90,65,50,55,82,410,68.33333333,14.03171012,4,Slow,1250000,0,45,0,0,0,0,1,0.5,1,0,1,4,1,0.5,1,1,1,1,0.5,1,2,1,1,2,1.4,56,28.6 +445,Garchomp,Dragon,Ground,108,130,95,80,85,102,600,100,16.42153058,4,Slow,1250000,1,45,0,0,0,0,1,0.5,1,0,1,4,1,0.5,1,1,1,1,0.5,1,2,1,1,2,1.9,95,26.3 +445,Mega Garchomp,Dragon,Ground,108,170,115,120,95,92,700,116.6666667,25.85644128,6,Slow,1250000,1,45,0,1,0,0,1,0.5,1,0,1,4,1,0.5,1,1,1,1,0.5,1,2,1,1,2,1.9,95,26.3 +446,Munchlax,Normal,,135,85,40,40,85,5,390,65,41.93248542,4,Slow,1250000,0,50,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.6,105,291.7 +447,Riolu,Fighting,,40,70,40,35,40,60,285,47.5,12.8290036,4,Medium Slow,1059860,0,75,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,0.7,20.2,41.2 +448,Lucario,Fighting,Steel,70,110,70,115,70,90,525,87.5,19.0940654,4,Medium Slow,1059860,1,45,0,0,0,0,0.5,2,1,1,0.5,0.5,2,0,2,1,1,0.25,0.25,1,0.5,0.5,0.5,1,1.2,54,37.5 +448,Mega Lucario,Fighting,Steel,70,145,88,140,70,112,625,104.1666667,30.57459003,6,Medium Slow,1059860,1,45,0,1,0,0,0.5,2,1,1,0.5,0.5,2,0,2,1,1,0.25,0.25,1,0.5,0.5,0.5,1,1.3,57.5,34 +449,Hippopotas,Ground,,68,72,78,38,42,32,330,55,18.13835715,4,Slow,1250000,0,140,0,0,0,0,1,1,2,0,2,2,1,0.5,1,1,1,1,0.5,1,1,1,1,1,0.8,49.5,77.3 +450,Hippowdon,Ground,,108,112,118,68,72,47,525,87.5,26.49370995,4,Slow,1250000,1,60,0,0,0,0,1,1,2,0,2,2,1,0.5,1,1,1,1,0.5,1,1,1,1,1,2,300,75 +451,Skorupi,Poison,Bug,40,50,90,30,55,65,330,55,19.14854216,4,Slow,1250000,0,120,0,0,0,0,1,2,1,1,0.25,1,0.25,0.5,1,2,2,0.5,2,1,1,1,1,0.5,0.8,12,18.8 +452,Drapion,Poison,Dark,70,90,110,60,75,95,500,83.33333333,16.7497927,4,Slow,1250000,1,45,0,0,0,0,1,1,1,1,0.5,1,1,0.5,2,1,0,1,1,0.5,1,0.5,1,1,1.3,61.5,36.4 +453,Croagunk,Poison,Fighting,48,61,40,61,40,50,300,50,8.621678104,4,Medium Fast,1000000,0,140,0,0,0,0,1,1,1,1,0.5,1,0.5,0.5,2,2,4,0.25,0.5,1,1,0.5,1,1,0.7,23,46.9 +454,Toxicroak,Poison,Fighting,83,106,65,86,65,85,490,81.66666667,14.01982723,4,Medium Fast,1000000,1,75,0,0,0,0,1,1,1,1,0.5,1,0.5,0.5,2,2,4,0.25,0.5,1,1,0.5,1,1,1.3,44.4,26.3 +455,Carnivine,Grass,,74,100,72,90,72,46,454,75.66666667,16.86877457,4,Slow,1250000,1,200,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,1.4,27,13.8 +456,Finneon,Water,,49,49,56,49,61,66,330,55,6.658328118,4,Erratic,600000,0,190,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.4,7,43.8 +457,Lumineon,Water,,69,69,76,69,86,91,460,76.66666667,8.844332774,4,Erratic,600000,1,75,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1.2,24,16.7 +458,Mantyke,Water,Flying,45,20,50,60,120,50,345,57.5,30.51638904,4,Slow,1250000,0,25,0,0,0,0,1,0.5,0.5,4,1,1,0.5,1,0,1,1,0.5,2,1,1,1,0.5,1,1,65,65 +459,Snover,Grass,Ice,60,62,50,62,60,40,334,55.66666667,8.117197108,4,Slow,1250000,0,120,0,0,0,0,1,4,0.5,0.5,0.5,1,2,2,0.5,2,1,2,2,1,1,1,2,1,1,50.5,50.5 +460,Abomasnow,Grass,Ice,90,92,75,92,85,60,494,82.33333333,11.58543146,4,Slow,1250000,1,60,0,0,0,0,1,4,0.5,0.5,0.5,1,2,2,0.5,2,1,2,2,1,1,1,2,1,2.2,135.5,28 +460,Mega Abomasnow,Grass,Ice,90,132,105,132,105,30,594,99,34.38022688,6,Slow,1250000,1,60,0,1,0,0,1,4,0.5,0.5,0.5,1,2,2,0.5,2,1,2,2,1,1,1,2,1,2.7,185,25.4 +461,Weavile,Dark,Ice,70,120,65,45,85,125,510,85,29.01149198,4,Medium Slow,1059860,1,45,0,0,0,0,1,2,1,1,1,0.5,4,1,1,1,0,2,2,0.5,1,0.5,2,2,1.1,34,28.1 +462,Magnezone,Electric,Steel,70,70,115,130,90,60,535,89.16666667,25.56310275,4,Medium Fast,1000000,1,30,0,0,0,0,0.5,2,1,0.5,0.5,0.5,2,0,4,0.25,0.5,0.5,0.5,1,0.5,1,0.25,0.5,1.2,180,125 +463,Lickilicky,Normal,,110,85,95,80,95,50,515,85.83333333,18.57791401,4,Medium Fast,1000000,1,30,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.7,140,48.4 +464,Rhyperior,Ground,Rock,115,140,130,55,55,40,535,89.16666667,40.14729823,4,Slow,1250000,1,30,0,0,0,0,0.5,0.5,4,0,4,2,2,0.25,2,0.5,1,1,0.5,1,1,1,2,1,2.4,282.8,49.1 +465,Tangrowth,Grass,,100,100,125,110,50,50,535,89.16666667,28.9275916,4,Medium Fast,1000000,1,30,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,2,128.6,32.2 +466,Electivire,Electric,,75,123,67,95,85,95,540,90,17.87922444,4,Medium Fast,1000000,1,30,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,1.8,138.6,42.8 +467,Magmortar,Fire,,75,95,67,125,95,83,540,90,18.61003314,4,Medium Fast,1000000,1,30,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,1.6,68,26.6 +468,Togekiss,Fairy,Flying,85,50,95,120,115,80,545,90.83333333,23.34820954,4,Fast,800000,1,30,0,0,0,0,1,1,1,2,0.5,2,0.25,2,0,1,1,0.25,2,1,0,0.5,2,1,1.5,38,16.9 +469,Yanmega,Bug,Flying,86,76,86,116,56,95,515,85.83333333,18.16972451,4,Medium Fast,1000000,1,30,0,0,0,0,1,2,1,2,0.25,2,0.25,1,0,2,1,0.5,4,1,1,1,1,1,1.9,51.5,14.3 +470,Leafeon,Grass,,65,110,130,60,65,95,525,87.5,26.25991876,4,Medium Fast,1000000,1,45,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,1,25.5,25.5 +471,Glaceon,Ice,,65,60,110,130,95,65,525,87.5,26.25991876,4,Medium Fast,1000000,1,45,0,0,0,0,1,2,1,1,1,0.5,2,1,1,1,1,1,2,1,1,1,2,1,0.8,25.9,40.5 +472,Gliscor,Ground,Flying,75,95,125,45,75,95,510,85,24.49489743,4,Medium Slow,1059860,1,30,0,0,0,0,1,1,2,0,1,4,0.5,0.5,0,1,1,0.5,1,1,1,1,1,1,2,42.5,10.6 +473,Mamoswine,Ice,Ground,110,130,80,70,60,80,530,88.33333333,24.09472049,4,Slow,1250000,1,50,0,0,0,0,1,2,2,0,2,1,2,0.5,1,1,1,1,1,1,1,1,2,1,2.5,291,46.6 +474,Porygon-Z,Normal,,85,80,70,135,75,90,535,89.16666667,21.4896616,4,Medium Fast,1000000,1,30,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.9,34,42 +475,Gallade,Psychic,Fighting,68,125,65,65,115,80,518,86.33333333,24.50623503,4,Slow,1250000,1,45,0,0,0,0,1,1,1,1,1,1,0.5,1,1,2,1,1,0.5,2,1,1,1,2,1.6,52,20.3 +475,Mega Gallade,Psychic,Fighting,68,165,95,65,115,110,618,103,33.59067331,6,Slow,1250000,1,45,0,1,0,0,1,1,1,1,1,1,0.5,1,1,2,1,1,0.5,2,1,1,1,2,1.6,56.4,22 +476,Probopass,Rock,Steel,60,55,145,75,150,40,525,87.5,43.66062299,4,Medium Fast,1000000,1,60,0,0,0,0,0.25,1,2,1,1,0.5,4,0,4,0.25,0.5,0.5,0.5,1,0.5,1,1,0.5,1.4,340,173.5 +477,Dusknoir,Ghost,,45,100,135,65,135,45,525,87.5,38.26987501,4,Fast,800000,1,45,0,0,0,0,0,1,1,1,1,1,0,0.5,1,1,1,0.5,1,2,1,2,1,1,2.2,106.6,22 +478,Froslass,Ice,Ghost,70,80,70,80,70,110,480,80,14.14213562,4,Medium Fast,1000000,1,75,0,0,0,0,0,2,1,1,1,0.5,0,0.5,1,1,1,0.5,2,2,1,2,2,1,1.3,26.6,15.7 +479,Rotom,Electric,Ghost,50,50,77,95,77,91,440,73.33333333,17.78263822,4,Medium Fast,1000000,1,45,0,0,0,0,0,1,1,0.5,1,1,0,0.5,2,0.5,1,0.5,1,2,1,2,0.5,1,0.3,0.3,3.3 +479,Rotom-Wash,Electric,Water,50,65,107,105,107,86,520,86.66666667,22.27604593,4,Medium Fast,1000000,1,45,0,0,0,0,1,0.5,0.5,1,2,0.5,1,1,2,0.5,1,1,1,1,1,1,0.25,1,0.3,0.3,3.3 +479,Rotom-Heat,Electric,Fire,50,65,107,105,107,86,520,86.66666667,22.27604593,4,Medium Fast,1000000,1,45,0,0,0,0,1,0.5,2,0.5,0.5,0.5,1,1,4,0.5,1,0.5,2,1,1,1,0.25,0.5,0.3,0.3,3.3 +479,Rotom-Mow,Electric,Grass,50,65,107,105,107,86,520,86.66666667,22.27604593,4,Medium Fast,1000000,1,45,0,0,0,0,1,2,0.5,0.25,0.5,2,1,2,1,1,1,2,1,1,1,1,0.5,1,0.3,0.3,3.3 +479,Rotom-Frost,Electric,Ice,50,65,107,105,107,86,520,86.66666667,22.27604593,4,Medium Fast,1000000,1,45,0,0,0,0,1,2,1,0.5,1,0.5,2,1,2,0.5,1,1,2,1,1,1,1,1,0.3,0.3,3.3 +479,Rotom-Fan,Electric,Flying,50,65,107,105,107,86,520,86.66666667,22.27604593,4,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,1,0.5,2,0.5,1,0,0.5,1,0.5,2,1,1,1,0.5,1,0.3,0.3,3.3 +480,Uxie,Psychic,,75,75,130,75,130,95,580,96.66666667,24.60803843,4,Slow,1250000,1,3,1,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.3,0.3,3.3 +481,Mesprit,Psychic,,80,105,105,105,105,80,580,96.66666667,11.78511302,4,Slow,1250000,1,3,1,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.3,0.3,3.3 +482,Azelf,Psychic,,75,125,70,125,70,115,580,96.66666667,25.27625148,4,Slow,1250000,1,3,1,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.3,0.3,3.3 +483,Dialga,Steel,Dragon,100,120,120,150,100,90,680,113.3333333,19.72026594,4,Slow,1250000,1,3,1,0,0,0,0.5,1,0.5,0.5,0.25,1,2,0,2,0.5,0.5,0.5,0.5,1,1,1,0.5,1,5.4,683,23.4 +484,Palkia,Water,Dragon,90,120,100,150,120,100,680,113.3333333,19.72026594,4,Slow,1250000,1,3,1,0,0,0,1,0.25,0.25,1,1,1,1,1,1,1,1,1,1,1,2,1,0.5,2,4.2,336,19 +485,Heatran,Fire,Steel,91,90,106,130,106,77,600,100,16.74315781,4,Slow,1250000,1,3,1,0,0,0,0.5,1,2,1,0.25,0.25,2,0,4,0.5,0.5,0.25,1,1,0.5,1,0.25,0.25,1.7,430,148.8 +486,Regigigas,Normal,,110,160,110,80,110,100,670,111.6666667,24.09472049,4,Slow,1250000,1,3,1,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,3.7,420,30.7 +487,Giratina,Ghost,Dragon,150,100,120,100,120,90,680,113.3333333,19.72026594,4,Slow,1250000,1,3,1,0,0,0,0,0.5,0.5,0.5,0.5,2,0,0.5,1,1,1,0.5,1,2,2,2,1,2,4.5,750,37 +487,Giratina-Origin,Dragon,Ghost,150,120,100,120,100,90,680,113.3333333,19.72026594,4,Slow,1250000,1,3,1,0,0,0,0,0.5,0.5,0.5,0.5,2,0,0.5,1,1,1,0.5,1,2,2,2,1,2,6.9,650,13.7 +488,Cresselia,Psychic,,120,70,120,75,130,85,600,100,23.97915762,4,Slow,1250000,1,3,1,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,1.5,85.6,38 +489,Phione,Water,,80,80,80,80,80,80,480,80,0,4,Slow,1250000,1,30,1,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.4,3.1,19.4 +490,Manaphy,Water,,100,100,100,100,100,100,600,100,0,4,Slow,1250000,1,3,1,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.3,1.4,15.6 +491,Darkrai,Dark,,70,90,90,135,90,125,600,100,22.54624876,4,Slow,1250000,1,3,1,0,0,0,1,1,1,1,1,1,2,1,1,1,0,2,1,0.5,1,0.5,1,2,1.5,50.5,22.4 +492,Shaymin,Grass,,100,100,100,100,100,100,600,100,0,4,Medium Slow,1059860,1,45,1,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.2,2.1,52.5 +492,Shaymin-Sky,Grass,Flying,100,103,75,120,75,127,600,100,19.94993734,4,Medium Slow,1059860,1,45,1,0,0,0,1,2,0.5,1,0.25,4,0.5,2,0,2,1,1,2,1,1,1,1,1,0.4,5.2,32.5 +493,Arceus,Normal,,120,120,120,120,120,120,720,120,0,4,Slow,1250000,1,3,1,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,3.2,320,31.3 +494,Victini,Psychic,Fire,100,100,100,100,100,100,600,100,0,5,Slow,1250000,1,3,1,0,0,0,1,0.5,2,1,0.5,0.5,0.5,1,2,1,0.5,1,2,2,1,2,0.5,0.5,0.4,4,25 +495,Snivy,Grass,,45,45,55,45,55,63,308,51.33333333,6.871842709,5,Medium Slow,1059860,0,45,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.6,8.1,22.5 +496,Servine,Grass,,60,60,75,60,75,83,413,68.83333333,9.22707369,5,Medium Slow,1059860,0,45,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.8,16,25 +497,Serperior,Grass,,75,75,95,75,95,113,528,88,14.31782106,5,Medium Slow,1059860,1,45,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,3.3,63,5.8 +498,Tepig,Fire,,65,63,45,45,45,45,308,51.33333333,8.975274679,5,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,0.5,9.9,39.6 +499,Pignite,Fire,Fighting,90,93,55,70,55,55,418,69.66666667,16.34693311,5,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,2,2,0.25,1,1,1,0.5,0.5,1,1,55.5,55.5 +500,Emboar,Fire,Fighting,110,123,65,100,65,65,528,88,23.94437999,5,Medium Slow,1059860,1,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,2,2,0.25,1,1,1,0.5,0.5,1,1.6,150,58.6 +501,Oshawott,Water,,55,55,45,63,45,45,308,51.33333333,6.871842709,5,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.5,5.9,23.6 +502,Dewott,Water,,75,75,60,83,60,60,413,68.83333333,9.22707369,5,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.8,24.5,38.3 +503,Samurott,Water,,95,100,85,108,70,70,528,88,14.43375673,5,Medium Slow,1059860,1,45,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1.5,94.6,42 +504,Patrat,Normal,,45,55,39,35,39,42,255,42.5,6.370504951,5,Medium Fast,1000000,0,255,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.5,11.6,46.4 +505,Watchog,Normal,,60,85,69,60,69,77,420,70,8.906926144,5,Medium Fast,1000000,1,255,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.1,27,22.3 +506,Lillipup,Normal,,45,60,45,25,45,55,275,45.83333333,10.9607887,5,Medium Slow,1059860,0,255,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.4,4.1,25.6 +507,Herdier,Normal,,65,80,65,35,65,60,370,61.66666667,13.43709625,5,Medium Slow,1059860,0,120,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.9,14.7,18.1 +508,Stoutland,Normal,,85,110,90,45,90,80,500,83.33333333,19.50783318,5,Medium Slow,1059860,1,45,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.2,61,42.4 +509,Purrloin,Dark,,41,50,37,50,37,66,281,46.83333333,10.12285643,5,Medium Fast,1000000,0,255,0,0,0,0,1,1,1,1,1,1,2,1,1,1,0,2,1,0.5,1,0.5,1,2,0.4,10.1,63.1 +510,Liepard,Dark,,64,88,50,88,50,106,446,74.33333333,21.08448613,5,Medium Fast,1000000,1,90,0,0,0,0,1,1,1,1,1,1,2,1,1,1,0,2,1,0.5,1,0.5,1,2,1.1,37.5,31 +511,Pansage,Grass,,50,53,48,53,48,64,316,52.66666667,5.467073156,5,Medium Fast,1000000,0,190,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.6,10.5,29.2 +512,Simisage,Grass,,75,98,63,98,63,101,498,83,16.52271164,5,Medium Fast,1000000,1,75,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,1.1,30.5,25.2 +513,Pansear,Fire,,50,53,48,53,48,64,316,52.66666667,5.467073156,5,Medium Fast,1000000,0,190,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,0.6,11,30.6 +514,Simisear,Fire,,75,98,63,98,63,101,498,83,16.52271164,5,Medium Fast,1000000,1,75,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,1,28,28 +515,Panpour,Water,,50,53,48,53,48,64,316,52.66666667,5.467073156,5,Medium Fast,1000000,0,190,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.6,13.5,37.5 +516,Simipour,Water,,75,98,63,98,63,101,498,83,16.52271164,5,Medium Fast,1000000,1,75,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1,29,29 +517,Munna,Psychic,,76,25,45,67,55,24,292,48.66666667,19.60158724,5,Fast,800000,0,190,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.6,23.3,64.7 +518,Musharna,Psychic,,116,55,85,107,95,29,487,81.16666667,30.25677151,5,Fast,800000,1,75,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,1.1,60.5,50 +519,Pidove,Normal,Flying,50,55,50,36,30,43,264,44,8.6986589,5,Medium Slow,1059860,0,255,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,0.3,2.1,23.3 +520,Tranquill,Normal,Flying,62,77,62,50,42,65,358,59.66666667,11.14550233,5,Medium Slow,1059860,0,120,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,0.6,15,41.7 +521,Unfezant,Normal,Flying,80,115,80,65,55,93,488,81.33333333,19.2930615,5,Medium Slow,1059860,1,45,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,1.2,29,20.1 +522,Blitzle,Electric,,45,60,32,50,32,76,295,49.16666667,15.5179108,5,Medium Fast,1000000,0,190,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,0.8,29.8,46.6 +523,Zebstrika,Electric,,75,100,63,80,63,116,497,82.83333333,19.36850249,5,Medium Fast,1000000,1,75,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,1.6,79.5,31.1 +524,Roggenrola,Rock,,55,75,85,25,25,15,280,46.66666667,26.71869924,5,Medium Slow,1059860,0,255,0,0,0,0,0.5,0.5,2,1,2,1,2,0.5,2,0.5,1,1,1,1,1,1,2,1,0.4,18,112.5 +525,Boldore,Rock,,70,105,105,50,40,20,390,65,31.88521078,5,Medium Slow,1059860,0,120,0,0,0,0,0.5,0.5,2,1,2,1,2,0.5,2,0.5,1,1,1,1,1,1,2,1,0.9,102,125.9 +526,Gigalith,Rock,,85,135,130,60,80,25,515,85.83333333,38.23356582,5,Medium Slow,1059860,1,45,0,0,0,0,0.5,0.5,2,1,2,1,2,0.5,2,0.5,1,1,1,1,1,1,2,1,1.7,260,90 +527,Woobat,Psychic,Flying,65,45,43,55,43,72,323,53.83333333,11.31984491,5,Medium Fast,1000000,0,190,0,0,0,0,1,1,1,2,0.5,2,0.25,1,0,1,0.5,1,2,2,1,2,1,1,0.4,2.1,13.1 +528,Swoobat,Psychic,Flying,67,57,55,77,55,114,425,70.83333333,20.85199164,5,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,2,0.5,2,0.25,1,0,1,0.5,1,2,2,1,2,1,1,0.9,10.5,13 +529,Drilbur,Ground,,60,85,40,30,45,68,328,54.66666667,18.45414738,5,Medium Fast,1000000,0,120,0,0,0,0,1,1,2,0,2,2,1,0.5,1,1,1,1,0.5,1,1,1,1,1,0.3,8.5,94.4 +530,Excadrill,Ground,Steel,110,135,60,50,65,88,508,84.66666667,29.95366793,5,Medium Fast,1000000,1,60,0,0,0,0,0.5,2,2,0,1,1,2,0,2,0.5,0.5,0.5,0.25,1,0.5,1,0.5,0.5,0.7,40.4,82.4 +531,Audino,Normal,,103,60,86,60,86,50,445,74.16666667,18.69417616,5,Fast,800000,1,255,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.1,31,25.6 +531,Mega Audino,Normal,Fairy,103,60,126,80,126,50,545,90.83333333,29.879852,6,Fast,800000,1,255,0,1,0,0,1,1,1,1,1,1,1,2,1,1,1,0.5,1,0,0,0.5,2,1,1.5,32,14.2 +532,Timburr,Fighting,,75,80,55,25,35,35,305,50.83333333,20.89989367,5,Medium Slow,1059860,0,180,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,0.6,12.5,34.7 +533,Gurdurr,Fighting,,85,105,85,40,50,40,405,67.5,25.28998484,5,Medium Slow,1059860,0,90,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,1.2,40,27.8 +534,Conkeldurr,Fighting,,105,140,95,55,65,45,505,84.16666667,32.71297738,5,Medium Slow,1059860,1,45,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,1.4,87,44.4 +535,Tympole,Water,,50,50,40,50,40,64,294,49,8.062257748,5,Medium Slow,1059860,0,255,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.5,4.5,18 +536,Palpitoad,Water,Ground,75,65,55,65,55,69,384,64,7.187952884,5,Medium Slow,1059860,0,120,0,0,0,0,1,0.5,1,0,4,1,1,0.5,1,1,1,1,0.5,1,1,1,0.5,1,0.8,17,26.6 +537,Seismitoad,Water,Ground,105,95,75,85,75,74,509,84.83333333,11.69639071,5,Medium Slow,1059860,1,45,0,0,0,0,1,0.5,1,0,4,1,1,0.5,1,1,1,1,0.5,1,1,1,0.5,1,1.5,62,27.6 +538,Throh,Fighting,,120,100,85,30,85,45,465,77.5,30.92329219,5,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,1.3,55.5,32.8 +539,Sawk,Fighting,,75,125,75,30,75,85,465,77.5,27.65110004,5,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,1.4,51,26 +540,Sewaddle,Bug,Grass,45,53,70,40,60,42,310,51.66666667,10.65624491,5,Medium Slow,1059860,0,255,0,0,0,0,1,4,0.5,0.5,0.25,2,0.5,2,0.25,4,1,2,2,1,1,1,1,1,0.3,2.5,27.8 +541,Swadloon,Bug,Grass,55,63,90,50,80,42,380,63.33333333,16.78954701,5,Medium Slow,1059860,0,120,0,0,0,0,1,4,0.5,0.5,0.25,2,0.5,2,0.25,4,1,2,2,1,1,1,1,1,0.5,7.3,29.2 +542,Leavanny,Bug,Grass,75,103,80,70,80,92,500,83.33333333,11.04033011,5,Medium Slow,1059860,1,45,0,0,0,0,1,4,0.5,0.5,0.25,2,0.5,2,0.25,4,1,2,2,1,1,1,1,1,1.2,20.5,14.2 +543,Venipede,Bug,Poison,30,45,59,30,39,57,260,43.33333333,11.61416759,5,Medium Slow,1059860,0,255,0,0,0,0,1,2,1,1,0.25,1,0.25,0.5,1,2,2,0.5,2,1,1,1,1,0.5,0.4,5.3,33.1 +544,Whirlipede,Bug,Poison,40,55,99,40,79,47,360,60,21.8936825,5,Medium Slow,1059860,0,120,0,0,0,0,1,2,1,1,0.25,1,0.25,0.5,1,2,2,0.5,2,1,1,1,1,0.5,1.2,58.5,40.6 +545,Scolipede,Bug,Poison,60,100,89,55,69,112,485,80.83333333,21.00330662,5,Medium Slow,1059860,1,45,0,0,0,0,1,2,1,1,0.25,1,0.25,0.5,1,2,2,0.5,2,1,1,1,1,0.5,2.5,200.5,32.1 +546,Cottonee,Grass,Fairy,40,27,60,37,50,66,280,46.66666667,13.46188034,5,Medium Fast,1000000,0,190,0,0,0,0,1,2,0.5,0.5,0.5,2,0.5,4,0.5,2,1,1,1,1,0,0.5,2,1,0.3,0.6,6.7 +547,Whimsicott,Grass,Fairy,60,67,85,77,75,116,480,80,17.90716802,5,Medium Fast,1000000,1,75,0,0,0,0,1,2,0.5,0.5,0.5,2,0.5,4,0.5,2,1,1,1,1,0,0.5,2,1,0.7,6.6,13.5 +548,Petilil,Grass,,45,35,50,70,50,30,280,46.66666667,12.80190958,5,Medium Fast,1000000,0,190,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.5,6.6,26.4 +549,Lilligant,Grass,,70,60,75,110,75,90,480,80,16.07275127,5,Medium Fast,1000000,1,75,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,1.1,16.3,13.5 +550,Basculin,Water,,70,92,65,80,55,98,460,76.66666667,15.00740558,5,Medium Fast,1000000,1,25,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1,18,18 +551,Sandile,Ground,Dark,50,72,35,35,35,65,292,48.66666667,15.12907429,5,Medium Slow,1059860,0,180,0,0,0,0,1,1,2,0,2,2,2,0.5,1,1,0,2,0.5,0.5,1,0.5,1,2,0.7,15.2,31 +552,Krokorok,Ground,Dark,60,82,45,45,45,74,351,58.5,14.95270321,5,Medium Slow,1059860,0,90,0,0,0,0,1,1,2,0,2,2,2,0.5,1,1,0,2,0.5,0.5,1,0.5,1,2,1,33.4,33.4 +553,Krookodile,Ground,Dark,95,117,80,65,70,92,519,86.5,17.36615482,5,Medium Slow,1059860,1,45,0,0,0,0,1,1,2,0,2,2,2,0.5,1,1,0,2,0.5,0.5,1,0.5,1,2,1.5,96.3,42.8 +554,Darumaka,Fire,,70,90,45,15,45,50,315,52.5,23.22893311,5,Medium Slow,1059860,0,120,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,0.6,37.5,104.2 +554,Galarian Darumaka,Ice,,70,90,45,15,45,50,315,52.5,23.22893311,8,Medium Slow,1059860,0,120,0,0,0,1,1,2,1,1,1,0.5,2,1,1,1,1,1,2,1,1,1,2,1,0.7,40,81.6 +555,Darmanitan,Fire,,105,140,55,30,55,95,480,80,36.96845502,5,Medium Slow,1059860,0,60,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,1.3,92.9,55 +555,Darmanitan Zen-Mode,Fire,Psychic,105,30,105,140,105,55,540,90,36.51483717,5,Medium Slow,1059860,0,60,0,0,0,0,1,0.5,2,1,0.5,0.5,0.5,1,2,1,0.5,1,2,2,1,2,0.5,0.5,1.3,92.9,55 +555,Galarian Darmanitan,Ice,,105,140,55,30,55,95,480,80,36.96845502,8,Medium Slow,1059860,0,60,0,0,0,1,1,2,1,1,1,0.5,2,1,1,1,1,1,2,1,1,1,2,1,1.7,120,41.5 +555,Galarian Darmanitan Zen-Mode,Ice,Fire,105,160,55,30,55,135,540,90,46.9041576,8,Medium Slow,1059860,0,60,0,0,0,1,1,1,2,1,0.5,0.25,2,1,2,1,1,0.5,4,1,1,1,1,0.5,1.7,120,41.5 +556,Maractus,Grass,,75,86,67,106,67,60,461,76.83333333,15.35596156,5,Medium Fast,1000000,1,255,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,1,28,28 +557,Dwebble,Bug,Rock,50,65,85,35,35,55,325,54.16666667,17.42045413,5,Medium Fast,1000000,0,190,0,0,0,0,0.5,1,2,1,1,1,1,0.5,1,1,1,1,2,1,1,1,2,1,0.3,14.5,161.1 +558,Crustle,Bug,Rock,70,105,125,65,75,45,485,80.83333333,26.52305077,5,Medium Fast,1000000,1,75,0,0,0,0,0.5,1,2,1,1,1,1,0.5,1,1,1,1,2,1,1,1,2,1,1.4,200,102 +559,Scraggy,Dark,Fighting,50,75,70,35,70,48,348,58,14.54876856,5,Medium Fast,1000000,0,180,0,0,0,0,1,1,1,1,1,1,2,1,1,2,0,1,0.5,0.5,1,0.25,1,4,0.6,11.8,32.8 +560,Scrafty,Dark,Fighting,65,90,115,45,115,58,488,81.33333333,27.30486322,5,Medium Fast,1000000,1,90,0,0,0,0,1,1,1,1,1,1,2,1,1,2,0,1,0.5,0.5,1,0.25,1,4,1.1,30,24.8 +561,Sigilyph,Psychic,Flying,72,58,80,103,80,97,490,81.66666667,14.99629584,5,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,2,0.5,2,0.25,1,0,1,0.5,1,2,2,1,2,1,1,1.4,14,7.1 +562,Yamask,Ghost,,38,30,85,55,65,30,303,50.5,20.07278423,5,Medium Fast,1000000,0,190,0,0,0,0,0,1,1,1,1,1,0,0.5,1,1,1,0.5,1,2,1,2,1,1,0.5,1.5,6 +562,Galarian Yamask,Ground,Ghost,38,55,85,30,65,30,303,50.5,20.07278423,8,Medium Fast,1000000,0,190,0,0,0,1,0,1,2,0,2,2,0,0.25,1,1,1,0.5,0.5,2,1,2,1,1,0.5,1.5,6 +563,Cofagrigus,Ghost,,58,50,145,95,105,30,483,80.5,38.63827981,5,Medium Fast,1000000,1,90,0,0,0,0,0,1,1,1,1,1,0,0.5,1,1,1,0.5,1,2,1,2,1,1,1.7,76.5,26.5 +564,Tirtouga,Water,Rock,54,78,103,53,45,22,355,59.16666667,25.56962173,5,Medium Fast,1000000,0,45,0,0,0,0,0.5,0.25,1,2,4,0.5,2,0.5,2,0.5,1,1,1,1,1,1,1,1,0.7,16.5,33.7 +565,Carracosta,Water,Rock,74,108,133,83,65,32,495,82.5,31.96221728,5,Medium Fast,1000000,1,45,0,0,0,0,0.5,0.25,1,2,4,0.5,2,0.5,2,0.5,1,1,1,1,1,1,1,1,1.2,81,56.3 +566,Archen,Rock,Flying,55,112,45,74,45,70,401,66.83333333,23.07535963,5,Medium Fast,1000000,0,45,0,0,0,0,0.5,0.5,2,2,1,2,1,0.5,0,0.5,1,0.5,2,1,1,1,2,1,0.5,9.5,38 +567,Archeops,Rock,Flying,75,140,65,112,65,110,567,94.5,28.0995255,5,Medium Fast,1000000,1,45,0,0,0,0,0.5,0.5,2,2,1,2,1,0.5,0,0.5,1,0.5,2,1,1,1,2,1,1.4,32,16.3 +568,Trubbish,Poison,,50,50,62,40,62,65,329,54.83333333,8.877249324,5,Medium Fast,1000000,0,190,0,0,0,0,1,1,1,1,0.5,1,0.5,0.5,2,1,2,0.5,1,1,1,1,1,0.5,0.6,31,86.1 +569,Garbodor,Poison,,80,95,82,60,82,75,474,79,10.42433051,5,Medium Fast,1000000,1,60,0,0,0,0,1,1,1,1,0.5,1,0.5,0.5,2,1,2,0.5,1,1,1,1,1,0.5,1.9,107.3,29.7 +570,Zorua,Dark,,40,65,40,80,40,65,330,55,15.8113883,5,Medium Slow,1059860,0,75,0,0,0,0,1,1,1,1,1,1,2,1,1,1,0,2,1,0.5,1,0.5,1,2,0.7,12.5,25.5 +571,Zoroark,Dark,,60,105,60,120,60,105,510,85,25.49509757,5,Medium Slow,1059860,1,45,0,0,0,0,1,1,1,1,1,1,2,1,1,1,0,2,1,0.5,1,0.5,1,2,1.6,81.1,31.7 +572,Minccino,Normal,,55,50,40,40,40,75,300,50,12.58305739,5,Fast,800000,0,255,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.4,5.8,36.3 +573,Cinccino,Normal,,75,95,60,65,60,115,470,78.33333333,20.34425936,5,Fast,800000,1,60,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.5,7.5,30 +574,Gothita,Psychic,,45,30,50,55,65,45,290,48.33333333,10.67187373,5,Medium Slow,1059860,0,200,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.4,5.8,36.3 +575,Gothorita,Psychic,,60,45,70,75,85,55,390,65,13.22875656,5,Medium Slow,1059860,0,100,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.7,18,36.7 +576,Gothitelle,Psychic,,70,55,95,95,110,65,490,81.66666667,19.50783318,5,Medium Slow,1059860,1,50,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,1.5,44,19.6 +577,Solosis,Psychic,,45,30,40,105,50,20,290,48.33333333,27.18251072,5,Medium Slow,1059860,0,200,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.3,1,11.1 +578,Duosion,Psychic,,65,40,50,125,60,30,370,61.66666667,30.64129385,5,Medium Slow,1059860,0,100,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.6,8,22.2 +579,Reuniclus,Psychic,,110,65,75,125,85,30,490,81.66666667,30.77697552,5,Medium Slow,1059860,1,50,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,1,20.1,20.1 +580,Ducklett,Water,Flying,62,44,50,44,50,55,305,50.83333333,6.282692275,5,Medium Fast,1000000,0,190,0,0,0,0,1,0.5,0.5,4,1,1,0.5,1,0,1,1,0.5,2,1,1,1,0.5,1,0.5,5.5,22 +581,Swanna,Water,Flying,75,87,63,87,63,98,473,78.83333333,13.01814972,5,Medium Fast,1000000,1,45,0,0,0,0,1,0.5,0.5,4,1,1,0.5,1,0,1,1,0.5,2,1,1,1,0.5,1,1.3,24.2,14.3 +582,Vanillite,Ice,,36,50,50,65,60,44,305,50.83333333,9.5989004,5,Slow,1250000,0,255,0,0,0,0,1,2,1,1,1,0.5,2,1,1,1,1,1,2,1,1,1,2,1,0.4,5.7,35.6 +583,Vanillish,Ice,,51,65,65,80,75,59,395,65.83333333,9.5989004,5,Slow,1250000,0,120,0,0,0,0,1,2,1,1,1,0.5,2,1,1,1,1,1,2,1,1,1,2,1,1.1,41,33.9 +584,Vanilluxe,Ice,,71,95,85,110,95,79,535,89.16666667,12.60180763,5,Slow,1250000,1,45,0,0,0,0,1,2,1,1,1,0.5,2,1,1,1,1,1,2,1,1,1,2,1,1.3,57.5,34 +585,Deerling,Normal,Grass,60,60,50,40,50,75,335,55.83333333,10.9607887,5,Medium Fast,1000000,0,190,0,0,0,0,1,2,0.5,0.5,0.5,2,2,2,0.5,2,1,2,1,0,1,1,1,1,0.6,19.5,54.2 +586,Sawsbuck,Normal,Grass,80,100,70,60,70,95,475,79.16666667,14.26436897,5,Medium Fast,1000000,1,75,0,0,0,0,1,2,0.5,0.5,0.5,2,2,2,0.5,2,1,2,1,0,1,1,1,1,1.9,92.5,25.6 +587,Emolga,Electric,Flying,55,75,60,75,60,103,428,71.33333333,16.09002451,5,Medium Fast,1000000,1,200,0,0,0,0,1,1,1,1,0.5,2,0.5,1,0,0.5,1,0.5,2,1,1,1,0.5,1,0.4,5,31.3 +588,Karrablast,Bug,,50,75,45,40,45,60,315,52.5,11.81453907,5,Medium Fast,1000000,0,200,0,0,0,0,1,2,1,1,0.5,1,0.5,1,0.5,2,1,1,2,1,1,1,1,1,0.5,5.9,23.6 +589,Escavalier,Bug,Steel,70,135,105,60,105,20,495,82.5,37.27711541,5,Medium Fast,1000000,1,75,0,0,0,0,0.5,4,1,1,0.25,0.5,1,0,1,1,0.5,0.5,1,1,0.5,1,0.5,0.5,1,33,33 +590,Foongus,Grass,Poison,69,55,45,55,55,15,294,49,16.73320053,5,Medium Fast,1000000,0,190,0,0,0,0,1,2,0.5,0.5,0.25,2,0.5,1,1,2,2,1,1,1,1,1,1,0.5,0.2,1,25 +591,Amoonguss,Grass,Poison,114,85,70,85,80,30,464,77.33333333,25.04440501,5,Medium Fast,1000000,1,75,0,0,0,0,1,2,0.5,0.5,0.25,2,0.5,1,1,2,2,1,1,1,1,1,1,0.5,0.6,10.5,29.2 +592,Frillish,Water,Ghost,55,40,50,65,85,40,335,55.83333333,15.65691186,5,Medium Fast,1000000,0,190,0,0,0,0,0,0.5,0.5,2,2,0.5,0,0.5,1,1,1,0.5,1,2,1,2,0.5,1,1.2,33,22.9 +593,Jellicent,Water,Ghost,100,60,70,85,105,60,480,80,18.02775638,5,Medium Fast,1000000,1,60,0,0,0,0,0,0.5,0.5,2,2,0.5,0,0.5,1,1,1,0.5,1,2,1,2,0.5,1,2.2,135,27.9 +594,Alomomola,Water,,165,75,80,40,45,65,470,78.33333333,41.39914116,5,Fast,800000,1,75,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1.2,31.6,21.9 +595,Joltik,Bug,Electric,50,47,50,57,50,65,319,53.16666667,6.094168433,5,Medium Fast,1000000,0,190,0,0,0,0,1,2,1,0.5,0.5,1,0.5,1,1,1,1,1,2,1,1,1,0.5,1,0.1,0.6,60 +596,Galvantula,Bug,Electric,70,77,60,97,60,108,472,78.66666667,18.1261015,5,Medium Fast,1000000,1,75,0,0,0,0,1,2,1,0.5,0.5,1,0.5,1,1,1,1,1,2,1,1,1,0.5,1,0.8,14.3,22.3 +597,Ferroseed,Grass,Steel,44,50,91,24,86,10,305,50.83333333,29.67836848,5,Medium Fast,1000000,0,255,0,0,0,0,0.5,4,0.5,0.5,0.25,1,2,0,1,1,0.5,1,0.5,1,0.5,1,0.5,0.5,0.6,18.8,52.2 +598,Ferrothorn,Grass,Steel,74,94,131,54,116,20,489,81.5,37.39763807,5,Medium Fast,1000000,1,90,0,0,0,0,0.5,4,0.5,0.5,0.25,1,2,0,1,1,0.5,1,0.5,1,0.5,1,0.5,0.5,1,110,110 +599,Klink,Steel,,40,55,70,45,60,30,300,50,13.22875656,5,Medium Slow,1059860,0,130,0,0,0,0,0.5,2,1,1,0.5,0.5,2,0,2,0.5,0.5,0.5,0.5,1,0.5,1,0.5,0.5,0.3,21,233.3 +600,Klang,Steel,,60,80,95,70,85,50,440,73.33333333,15.18405597,5,Medium Slow,1059860,0,60,0,0,0,0,0.5,2,1,1,0.5,0.5,2,0,2,0.5,0.5,0.5,0.5,1,0.5,1,0.5,0.5,0.6,51,141.7 +601,Klinklang,Steel,,60,100,115,70,85,90,520,86.66666667,18.18118686,5,Medium Slow,1059860,1,30,0,0,0,0,0.5,2,1,1,0.5,0.5,2,0,2,0.5,0.5,0.5,0.5,1,0.5,1,0.5,0.5,0.6,81,225 +602,Tynamo,Electric,,35,55,40,45,40,60,275,45.83333333,8.858454844,5,Slow,1250000,0,190,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,0.2,0.3,7.5 +603,Eelektrik,Electric,,65,85,70,75,70,40,405,67.5,13.76892637,5,Slow,1250000,0,60,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,1.2,22,15.3 +604,Eelektross,Electric,,85,115,80,105,80,50,515,85.83333333,20.69957058,5,Slow,1250000,1,30,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,2.1,80.5,18.3 +605,Elgyem,Psychic,,55,55,55,85,55,30,335,55.83333333,15.92081098,5,Medium Fast,1000000,0,255,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.5,9,36 +606,Beheeyem,Psychic,,75,75,75,125,95,40,485,80.83333333,25.56310275,5,Medium Fast,1000000,1,90,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,1,34.5,34.5 +607,Litwick,Ghost,Fire,50,30,55,65,55,20,275,45.83333333,15.65691186,5,Medium Slow,1059860,0,190,0,0,0,0,0,0.5,2,1,0.5,0.5,0,0.5,2,1,1,0.25,2,2,1,2,0.5,0.5,0.3,3.1,34.4 +608,Lampent,Ghost,Fire,60,40,60,95,60,55,370,61.66666667,16.49915823,5,Medium Slow,1059860,0,90,0,0,0,0,0,0.5,2,1,0.5,0.5,0,0.5,2,1,1,0.25,2,2,1,2,0.5,0.5,0.6,13,36.1 +609,Chandelure,Ghost,Fire,60,55,90,145,90,80,520,86.66666667,29.39198681,5,Medium Slow,1059860,1,45,0,0,0,0,0,0.5,2,1,0.5,0.5,0,0.5,2,1,1,0.25,2,2,1,2,0.5,0.5,1,34.3,34.3 +610,Axew,Dragon,,46,87,60,30,40,57,320,53.33333333,18.10770247,5,Slow,1250000,0,75,0,0,0,0,1,0.5,0.5,0.5,0.5,2,1,1,1,1,1,1,1,1,2,1,1,2,0.6,18,50 +611,Fraxure,Dragon,,66,117,70,40,50,67,410,68.33333333,24.2120264,5,Slow,1250000,0,60,0,0,0,0,1,0.5,0.5,0.5,0.5,2,1,1,1,1,1,1,1,1,2,1,1,2,1,36,36 +612,Haxorus,Dragon,,76,147,90,60,70,97,540,90,28.26658805,5,Slow,1250000,1,45,0,0,0,0,1,0.5,0.5,0.5,0.5,2,1,1,1,1,1,1,1,1,2,1,1,2,1.8,105.5,32.6 +613,Cubchoo,Ice,,55,70,40,60,40,40,305,50.83333333,11.69639071,5,Medium Fast,1000000,0,120,0,0,0,0,1,2,1,1,1,0.5,2,1,1,1,1,1,2,1,1,1,2,1,0.5,8.5,34 +614,Beartic,Ice,,95,130,80,70,80,50,505,84.16666667,24.56567162,5,Medium Fast,1000000,1,60,0,0,0,0,1,2,1,1,1,0.5,2,1,1,1,1,1,2,1,1,1,2,1,2.6,260,38.5 +615,Cryogonal,Ice,,80,50,50,95,135,105,515,85.83333333,30.19611822,5,Medium Fast,1000000,1,25,0,0,0,0,1,2,1,1,1,0.5,2,1,1,1,1,1,2,1,1,1,2,1,1.1,148,122.3 +616,Shelmet,Bug,,50,40,85,40,65,25,305,50.83333333,19.45436255,5,Medium Fast,1000000,0,200,0,0,0,0,1,2,1,1,0.5,1,0.5,1,0.5,2,1,1,2,1,1,1,1,1,0.4,7.7,48.1 +617,Accelgor,Bug,,80,70,40,100,60,145,495,82.5,33.38537604,5,Medium Fast,1000000,1,75,0,0,0,0,1,2,1,1,0.5,1,0.5,1,0.5,2,1,1,2,1,1,1,1,1,0.8,25.3,39.5 +618,Stunfisk,Ground,Electric,109,66,84,81,99,32,471,78.5,24.85122398,5,Medium Fast,1000000,1,75,0,0,0,0,1,1,2,0,2,2,1,0.5,2,0.5,1,1,0.5,1,1,1,0.5,1,0.7,11,22.4 +618,Galarian Stunfisk,Ground,Steel,109,81,99,66,84,32,471,78.5,24.85122398,8,Medium Fast,1000000,1,75,0,0,0,1,0.5,2,2,0,1,1,2,0,2,0.5,0.5,0.5,0.25,1,0.5,1,0.5,0.5,0.7,20.5,41.8 +619,Mienfoo,Fighting,,45,85,50,55,50,65,350,58.33333333,13.43709625,5,Medium Slow,1059860,0,180,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,0.9,20,24.7 +620,Mienshao,Fighting,,65,125,60,95,60,105,510,85,25,5,Medium Slow,1059860,1,45,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,1.4,35.5,18.1 +621,Druddigon,Dragon,,77,120,90,60,90,48,485,80.83333333,23.19782078,5,Medium Fast,1000000,1,45,0,0,0,0,1,0.5,0.5,0.5,0.5,2,1,1,1,1,1,1,1,1,2,1,1,2,1.6,139,54.3 +622,Golett,Ground,Ghost,59,74,50,35,50,35,303,50.5,13.57387196,5,Medium Fast,1000000,0,190,0,0,0,0,0,1,2,0,2,2,0,0.25,1,1,1,0.5,0.5,2,1,2,1,1,1,92,92 +623,Golurk,Ground,Ghost,89,124,80,55,80,55,483,80.5,23.32916629,5,Medium Fast,1000000,1,90,0,0,0,0,0,1,2,0,2,2,0,0.25,1,1,1,0.5,0.5,2,1,2,1,1,2.8,330,42.1 +624,Pawniard,Dark,Steel,45,85,70,40,40,60,340,56.66666667,16.7497927,5,Medium Fast,1000000,0,120,0,0,0,0,0.5,2,1,1,0.5,0.5,4,0,2,0.5,0,1,0.5,0.5,0.5,0.5,0.5,1,0.5,10.2,40.8 +625,Bisharp,Dark,Steel,65,125,100,60,70,70,490,81.66666667,23.21398046,5,Medium Fast,1000000,1,45,0,0,0,0,0.5,2,1,1,0.5,0.5,4,0,2,0.5,0,1,0.5,0.5,0.5,0.5,0.5,1,1.6,70,27.3 +626,Bouffalant,Normal,,95,110,95,40,95,55,490,81.66666667,25.11086529,5,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.6,94.6,37 +627,Rufflet,Normal,Flying,70,83,50,37,50,60,350,58.33333333,14.95177433,5,Slow,1250000,0,190,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,0.5,10.5,42 +628,Braviary,Normal,Flying,100,123,75,57,75,80,510,85,21.1266025,5,Slow,1250000,1,60,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,1.5,41,18.2 +629,Vullaby,Dark,Flying,70,55,75,45,65,60,370,61.66666667,9.860132972,5,Slow,1250000,0,190,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,0,1,2,0.5,1,0.5,1,2,0.5,9,36 +630,Mandibuzz,Dark,Flying,110,65,105,55,95,80,510,85,20.20725942,5,Slow,1250000,1,60,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,0,1,2,0.5,1,0.5,1,2,1.2,39.5,27.4 +631,Heatmor,Fire,,85,97,66,105,66,65,484,80.66666667,16.09002451,5,Medium Fast,1000000,1,90,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,1.4,58,29.6 +632,Durant,Bug,Steel,58,109,112,48,48,109,484,80.66666667,29.53905137,5,Medium Fast,1000000,1,90,0,0,0,0,0.5,4,1,1,0.25,0.5,1,0,1,1,0.5,0.5,1,1,0.5,1,0.5,0.5,0.3,33,366.7 +633,Deino,Dark,Dragon,52,65,50,45,50,38,300,50,8.144527815,5,Slow,1250000,0,45,0,0,0,0,1,0.5,0.5,0.5,0.5,2,2,1,1,1,0,2,1,0.5,2,0.5,1,4,0.8,17.3,27 +634,Zweilous,Dark,Dragon,72,85,70,65,70,58,420,70,8.144527815,5,Slow,1250000,0,45,0,0,0,0,1,0.5,0.5,0.5,0.5,2,2,1,1,1,0,2,1,0.5,2,0.5,1,4,1.4,50,25.5 +635,Hydreigon,Dark,Dragon,92,105,90,125,90,98,600,100,12.36931688,5,Slow,1250000,1,45,0,0,0,0,1,0.5,0.5,0.5,0.5,2,2,1,1,1,0,2,1,0.5,2,0.5,1,4,1.8,160,49.4 +636,Larvesta,Bug,Fire,55,85,55,50,55,60,360,60,11.54700538,5,Slow,1250000,0,45,0,0,0,0,1,1,2,1,0.25,0.5,0.5,1,1,2,1,0.5,4,1,1,1,0.5,0.5,1.1,28.8,23.8 +637,Volcarona,Bug,Fire,85,60,65,135,105,100,550,91.66666667,25.44056254,5,Slow,1250000,1,15,0,0,0,0,1,1,2,1,0.25,0.5,0.5,1,1,2,1,0.5,4,1,1,1,0.5,0.5,1.6,46,18 +638,Cobalion,Steel,Fighting,91,90,129,90,72,108,580,96.66666667,17.81073334,5,Slow,1250000,1,3,1,0,0,0,0.5,2,1,1,0.5,0.5,2,0,2,1,1,0.25,0.25,1,0.5,0.5,0.5,1,2.1,250,56.7 +639,Terrakion,Rock,Fighting,91,129,90,72,90,108,580,96.66666667,17.81073334,5,Slow,1250000,1,3,1,0,0,0,0.5,0.5,2,1,2,1,2,0.5,2,1,2,0.5,0.5,1,1,0.5,2,2,1.9,260,72 +640,Virizion,Grass,Fighting,91,90,72,90,129,108,580,96.66666667,17.81073334,5,Slow,1250000,1,3,1,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,4,2,1,0.5,1,1,0.5,1,2,2,200,50 +641,Tornadus,Flying,,79,115,70,125,80,111,580,96.66666667,20.99735433,5,Slow,1250000,1,3,1,0,0,0,1,1,1,2,0.5,2,0.5,1,0,1,1,0.5,2,1,1,1,1,1,1.5,63,28 +641,Tornadus-Therian,Flying,,79,100,80,110,90,121,580,96.66666667,15.35867471,5,Slow,1250000,1,3,1,0,0,0,1,1,1,2,0.5,2,0.5,1,0,1,1,0.5,2,1,1,1,1,1,1.4,63,32.1 +642,Thundurus,Electric,Flying,79,115,70,125,80,111,580,96.66666667,20.99735433,5,Slow,1250000,1,3,1,0,0,0,1,1,1,1,0.5,2,0.5,1,0,0.5,1,0.5,2,1,1,1,0.5,1,1.5,61,27.1 +642,Thundurus-Therian,Electric,Flying,79,105,70,145,80,101,580,96.66666667,24.91764212,5,Slow,1250000,1,3,1,0,0,0,1,1,1,1,0.5,2,0.5,1,0,0.5,1,0.5,2,1,1,1,0.5,1,3,61,6.8 +643,Reshiram,Dragon,Fire,100,120,100,150,120,90,680,113.3333333,19.72026594,5,Slow,1250000,1,3,1,0,0,0,1,0.25,1,0.5,0.25,1,1,1,2,1,1,0.5,2,1,2,1,0.5,1,3.2,330,32.2 +644,Zekrom,Dragon,Electric,100,150,120,120,100,90,680,113.3333333,19.72026594,5,Slow,1250000,1,3,1,0,0,0,1,0.5,0.5,0.25,0.5,2,1,1,2,0.5,1,1,1,1,2,1,0.5,2,2.9,345,41 +645,Landorus,Ground,Flying,89,125,90,115,80,101,600,100,15.66312017,5,Slow,1250000,1,3,1,0,0,0,1,1,2,0,1,4,0.5,0.5,0,1,1,0.5,1,1,1,1,1,1,1.5,68,30.2 +645,Landorus-Therian,Ground,Flying,89,145,90,105,80,91,600,100,21.41650454,5,Slow,1250000,1,3,1,0,0,0,1,1,2,0,1,4,0.5,0.5,0,1,1,0.5,1,1,1,1,1,1,1.3,68,40.2 +646,Kyurem,Dragon,Ice,125,130,90,130,90,95,660,110,18.48422751,5,Slow,1250000,1,3,1,0,0,0,1,1,0.5,0.5,0.5,1,2,1,1,1,1,1,2,1,2,1,2,2,3,325,36.1 +646,White Kyurem,Dragon,Ice,125,120,90,170,100,95,700,116.6666667,27.02879123,5,Slow,1250000,1,3,1,0,0,0,1,1,0.5,0.5,0.5,1,2,1,1,1,1,1,2,1,2,1,2,2,3.6,325,25.1 +646,Black Kyurem,Dragon,Ice,125,170,100,120,90,95,700,116.6666667,27.02879123,5,Slow,1250000,1,3,1,0,0,0,1,1,0.5,0.5,0.5,1,2,1,1,1,1,1,2,1,2,1,2,2,3.3,325,29.8 +647,Keldeo,Water,Fighting,91,72,90,129,90,108,580,96.66666667,17.81073334,5,Slow,1250000,1,3,1,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,2,2,0.5,0.5,1,1,0.5,0.5,2,1.4,48.5,24.7 +648,Meloetta,Normal,Psychic,100,77,77,128,128,90,600,100,21.31509637,5,Slow,1250000,1,3,1,0,0,0,1,1,1,1,1,1,1,1,1,1,0.5,2,1,0,1,2,1,1,0.6,6.5,18.1 +648,Meloetta-Pirouette,Normal,Fighting,100,128,90,77,77,128,600,100,21.31509637,5,Slow,1250000,1,3,1,0,0,0,1,1,1,1,1,1,2,1,1,2,2,0.5,0.5,0,1,0.5,1,2,0.6,6.5,18.1 +649,Genesect,Bug,Steel,71,120,95,120,95,99,600,100,16.79285562,5,Slow,1250000,1,3,1,0,0,0,0.5,4,1,1,0.25,0.5,1,0,1,1,0.5,0.5,1,1,0.5,1,0.5,0.5,1.5,82.5,36.7 +650,Chespin,Grass,,56,61,65,48,45,38,313,52.16666667,9.370461865,6,Medium Slow,1059860,0,45,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.4,9,56.3 +651,Quilladin,Grass,,61,78,95,56,58,57,405,67.5,14.38459824,6,Medium Slow,1059860,0,45,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.7,29,59.2 +652,Chesnaught,Grass,Fighting,88,107,122,74,75,64,530,88.33333333,20.23747898,6,Medium Slow,1059860,1,45,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,4,2,1,0.5,1,1,0.5,1,2,1.6,90,35.2 +653,Fennekin,Fire,,40,45,40,62,60,60,307,51.16666667,9.668103342,6,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,0.4,9.4,58.8 +654,Braixen,Fire,,59,59,58,90,70,73,409,68.16666667,11.36392929,6,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,1,14.5,14.5 +655,Delphox,Fire,Psychic,75,69,72,114,100,104,534,89,17.58787461,6,Medium Slow,1059860,1,45,0,0,0,0,1,0.5,2,1,0.5,0.5,0.5,1,2,1,0.5,1,2,2,1,2,0.5,0.5,1.5,39,17.3 +656,Froakie,Water,,41,56,40,62,44,71,314,52.33333333,11.58543146,6,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.3,7,77.8 +657,Frogadier,Water,,54,63,52,83,56,97,405,67.5,16.7605688,6,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.6,10.9,30.3 +658,Greninja,Water,Dark,72,95,67,103,71,122,530,88.33333333,20.06378717,6,Medium Slow,1059860,1,45,0,0,0,0,1,0.5,0.5,2,2,0.5,2,1,1,1,0,2,1,0.5,1,0.5,0.5,2,1.5,40,17.8 +658,Ash-Greninja,Water,Dark,72,145,67,153,71,132,640,106.6666667,37.20513704,6,Medium Slow,1059860,1,45,0,0,0,0,1,0.5,0.5,2,2,0.5,2,1,1,1,0,2,1,0.5,1,0.5,0.5,2,1.5,40,17.8 +659,Bunnelby,Normal,,38,36,38,32,36,57,237,39.5,8.077747211,6,Medium Fast,1000000,0,255,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.4,5,31.3 +660,Diggersby,Normal,Ground,85,56,77,50,77,78,423,70.5,12.78997003,6,Medium Fast,1000000,1,127,0,0,0,0,1,1,2,0,2,2,2,0.5,1,1,1,1,0.5,0,1,1,1,1,1,42.4,42.4 +661,Fletchling,Normal,Flying,45,50,43,40,38,62,278,46.33333333,7.972173829,6,Medium Slow,1059860,0,255,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,0.3,1.7,18.9 +662,Fletchinder,Fire,Flying,62,73,55,56,52,84,382,63.66666667,11.35292424,6,Medium Slow,1059860,0,120,0,0,0,0,1,0.5,2,2,0.25,1,0.5,1,0,1,1,0.25,4,1,1,1,0.5,0.5,0.7,16,32.7 +663,Talonflame,Fire,Flying,78,81,71,74,69,126,499,83.16666667,19.57393391,6,Medium Slow,1059860,1,45,0,0,0,0,1,0.5,2,2,0.25,1,0.5,1,0,1,1,0.25,4,1,1,1,0.5,0.5,1.2,24.5,17 +664,Scatterbug,Bug,,38,35,40,27,25,35,200,33.33333333,5.497474167,6,Medium Fast,1000000,0,255,0,0,0,0,1,2,1,1,0.5,1,0.5,1,0.5,2,1,1,2,1,1,1,1,1,0.3,2.5,27.8 +665,Spewpa,Bug,,45,22,60,27,30,29,213,35.5,13.02241657,6,Medium Fast,1000000,0,120,0,0,0,0,1,2,1,1,0.5,1,0.5,1,0.5,2,1,1,2,1,1,1,1,1,0.3,8.4,93.3 +666,Vivillon,Bug,Flying,80,52,50,90,50,89,411,68.5,18.12686772,6,Medium Fast,1000000,1,45,0,0,0,0,1,2,1,2,0.25,2,0.25,1,0,2,1,0.5,4,1,1,1,1,1,1.2,17,11.8 +667,Litleo,Fire,Normal,62,50,58,73,54,72,369,61.5,8.597480251,6,Medium Slow,1059860,0,220,0,0,0,0,1,0.5,2,1,0.5,0.5,2,1,2,1,1,0.5,2,0,1,1,0.5,0.5,0.6,13.5,37.5 +668,Pyroar,Fire,Normal,86,68,72,109,66,106,507,84.5,17.4904736,6,Medium Slow,1059860,1,65,0,0,0,0,1,0.5,2,1,0.5,0.5,2,1,2,1,1,0.5,2,0,1,1,0.5,0.5,1.5,81.5,36.2 +669,Flabébé,Fairy,,44,38,39,61,79,42,303,50.5,14.86326568,6,Medium Fast,1000000,0,225,0,0,0,0,1,1,1,1,1,1,0.5,2,1,1,1,0.5,1,1,0,0.5,2,1,0.1,0.1,10 +670,Floette,Fairy,,54,45,47,75,98,52,371,61.83333333,18.89811866,6,Medium Fast,1000000,0,120,0,0,0,0,1,1,1,1,1,1,0.5,2,1,1,1,0.5,1,1,0,0.5,2,1,0.2,0.9,22.5 +671,Florges,Fairy,,78,65,68,112,154,75,552,92,31.7122479,6,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,1,1,1,0.5,2,1,1,1,0.5,1,1,0,0.5,2,1,1.1,10,8.3 +672,Skiddo,Grass,,66,65,48,62,57,52,350,58.33333333,6.649979114,6,Medium Fast,1000000,0,200,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.9,31,38.3 +673,Gogoat,Grass,,123,100,62,97,81,68,531,88.5,20.71030339,6,Medium Fast,1000000,1,45,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,1.7,91,31.5 +674,Pancham,Fighting,,67,82,62,46,48,43,348,58,13.79613472,6,Medium Fast,1000000,0,220,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,0.6,8,22.2 +675,Pangoro,Fighting,Dark,95,124,78,69,71,58,495,82.5,21.65448375,6,Medium Fast,1000000,1,65,0,0,0,0,1,1,1,1,1,1,2,1,1,2,0,1,0.5,0.5,1,0.25,1,4,2.1,136,30.8 +676,Furfrou,Normal,,75,80,60,65,90,102,472,78.66666667,14.27896666,6,Medium Fast,1000000,1,160,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.2,28,19.4 +677,Espurr,Psychic,,62,48,54,63,60,68,355,59.16666667,6.491447365,6,Medium Fast,1000000,0,190,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.3,3.5,38.9 +678,Meowstic,Psychic,,74,48,76,83,81,104,466,77.66666667,16.47894279,6,Medium Fast,1000000,1,75,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.6,8.5,23.6 +679,Honedge,Steel,Ghost,45,80,100,35,37,28,325,54.16666667,26.4538382,6,Medium Fast,1000000,0,180,0,0,0,0,0,2,1,1,0.5,0.5,0,0,2,0.5,0.5,0.25,0.5,2,0.5,2,0.5,0.5,0.8,2,3.1 +680,Doublade,Steel,Ghost,59,110,150,45,49,35,448,74.66666667,41.39511512,6,Medium Fast,1000000,0,90,0,0,0,0,0,2,1,1,0.5,0.5,0,0,2,0.5,0.5,0.25,0.5,2,0.5,2,0.5,0.5,0.8,4.5,7 +681,Aegislash Shield Form,Steel,Ghost,50,70,140,70,140,60,530,88.33333333,37.15582802,6,Medium Fast,1000000,0,45,0,0,0,0,0,2,1,1,0.5,0.5,0,0,2,0.5,0.5,0.25,0.5,2,0.5,2,0.5,0.5,1.7,53,18.3 +681,Aegislash Blade Form,Steel,Ghost,50,140,70,140,70,60,530,88.33333333,37.15582802,6,Medium Fast,1000000,0,45,0,0,0,0,0,2,1,1,0.5,0.5,0,0,2,0.5,0.5,0.25,0.5,2,0.5,2,0.5,0.5,1.7,53,18.3 +682,Spritzee,Fairy,,78,52,60,63,65,23,341,56.83333333,16.98447003,6,Medium Fast,1000000,0,200,0,0,0,0,1,1,1,1,1,1,0.5,2,1,1,1,0.5,1,1,0,0.5,2,1,0.2,0.5,12.5 +683,Aromatisse,Fairy,,101,72,72,99,89,29,462,77,24.35159132,6,Medium Fast,1000000,1,140,0,0,0,0,1,1,1,1,1,1,0.5,2,1,1,1,0.5,1,1,0,0.5,2,1,0.8,15.5,24.2 +684,Swirlix,Fairy,,62,48,66,59,57,49,341,56.83333333,6.517071599,6,Medium Fast,1000000,0,200,0,0,0,0,1,1,1,1,1,1,0.5,2,1,1,1,0.5,1,1,0,0.5,2,1,0.4,3.5,21.9 +685,Slurpuff,Fairy,,82,80,86,85,75,72,480,80,5.066228051,6,Medium Fast,1000000,1,140,0,0,0,0,1,1,1,1,1,1,0.5,2,1,1,1,0.5,1,1,0,0.5,2,1,0.8,5,7.8 +686,Inkay,Dark,Psychic,53,54,53,37,46,45,288,48,6.055300708,6,Medium Fast,1000000,0,190,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,4,1,1,1,1,1,2,0.4,3.5,21.9 +687,Malamar,Dark,Psychic,86,92,88,68,75,73,482,80.33333333,8.768630959,6,Medium Fast,1000000,1,80,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,4,1,1,1,1,1,2,1.5,47,20.9 +688,Binacle,Rock,Water,42,52,67,39,56,50,306,51,9.201449161,6,Medium Fast,1000000,0,120,0,0,0,0,0.5,0.25,1,2,4,0.5,2,0.5,2,0.5,1,1,1,1,1,1,1,1,0.5,31,124 +689,Barbaracle,Rock,Water,72,105,115,54,86,68,500,83.33333333,21.22629397,6,Medium Fast,1000000,1,45,0,0,0,0,0.5,0.25,1,2,4,0.5,2,0.5,2,0.5,1,1,1,1,1,1,1,1,1.3,96,56.8 +690,Skrelp,Poison,Water,50,60,60,60,60,30,320,53.33333333,11.05541597,6,Medium Fast,1000000,0,225,0,0,0,0,1,0.5,0.5,2,1,0.5,0.5,0.5,2,1,2,0.5,1,1,1,1,0.5,0.5,0.5,7.3,29.2 +691,Dragalge,Poison,Dragon,65,75,90,97,123,44,494,82.33333333,25.00444405,6,Medium Fast,1000000,1,55,0,0,0,0,1,0.5,0.5,0.5,0.25,2,0.5,0.5,2,1,2,0.5,1,1,2,1,1,1,1.8,81.5,25.2 +692,Clauncher,Water,,50,53,62,58,63,44,330,55,6.733003292,6,Slow,1250000,0,225,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.5,8.3,33.2 +693,Clawitzer,Water,,71,73,88,120,89,59,500,83.33333333,19.36204764,6,Slow,1250000,1,55,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1.3,35.3,20.9 +694,Helioptile,Electric,Normal,44,38,33,61,43,70,289,48.16666667,13.03094607,6,Medium Fast,1000000,0,190,0,0,0,0,1,1,1,0.5,1,1,2,1,2,0.5,1,1,1,0,1,1,0.5,1,0.5,6,24 +695,Heliolisk,Electric,Normal,62,55,52,109,94,109,481,80.16666667,24.53172549,6,Medium Fast,1000000,1,75,0,0,0,0,1,1,1,0.5,1,1,2,1,2,0.5,1,1,1,0,1,1,0.5,1,1,21,21 +696,Tyrunt,Rock,Dragon,58,89,77,45,45,48,362,60.33333333,16.96728879,6,Medium Fast,1000000,0,45,0,0,0,0,0.5,0.25,1,0.5,1,2,2,0.5,2,0.5,1,1,1,1,2,1,2,2,0.8,26,40.6 +697,Tyrantrum,Rock,Dragon,82,121,119,69,59,71,521,86.83333333,24.38863579,6,Medium Fast,1000000,1,45,0,0,0,0,0.5,0.25,1,0.5,1,2,2,0.5,2,0.5,1,1,1,1,2,1,2,2,2.5,270,43.2 +698,Amaura,Rock,Ice,77,59,50,67,63,46,362,60.33333333,10.35481638,6,Medium Fast,1000000,0,45,0,0,0,0,0.5,1,2,1,2,0.5,4,0.5,2,0.5,1,1,2,1,1,1,4,1,1.3,25.2,14.9 +699,Aurorus,Rock,Ice,123,77,72,99,92,58,521,86.83333333,20.93972832,6,Medium Fast,1000000,1,45,0,0,0,0,0.5,1,2,1,2,0.5,4,0.5,2,0.5,1,1,2,1,1,1,4,1,2.7,225,30.9 +700,Sylveon,Fairy,,95,65,65,110,130,60,525,87.5,26.25991876,6,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,1,1,1,0.5,2,1,1,1,0.5,1,1,0,0.5,2,1,1,23.5,23.5 +701,Hawlucha,Fighting,Flying,78,92,75,74,63,118,500,83.33333333,17.67924081,6,Medium Fast,1000000,1,100,0,0,0,0,1,1,1,2,0.5,2,0.5,1,0,2,2,0.25,1,1,1,0.5,1,2,0.8,21.5,33.6 +702,Dedenne,Electric,Fairy,67,58,57,81,67,101,431,71.83333333,15.23610478,6,Medium Fast,1000000,1,180,0,0,0,0,1,1,1,0.5,1,1,0.5,2,2,0.5,1,0.5,1,1,0,0.5,1,1,0.2,2.2,55 +703,Carbink,Rock,Fairy,50,50,150,50,150,50,500,83.33333333,47.14045208,6,Slow,1250000,1,60,0,0,0,0,0.5,0.5,2,1,2,1,1,1,2,0.5,1,0.5,1,1,0,0.5,4,1,0.3,5.7,63.3 +704,Goomy,Dragon,,45,50,35,55,75,40,300,50,12.90994449,6,Slow,1250000,0,45,0,0,0,0,1,0.5,0.5,0.5,0.5,2,1,1,1,1,1,1,1,1,2,1,1,2,0.3,2.8,31.1 +705,Sliggoo,Dragon,,68,75,53,83,113,60,452,75.33333333,19.43078886,6,Slow,1250000,0,45,0,0,0,0,1,0.5,0.5,0.5,0.5,2,1,1,1,1,1,1,1,1,2,1,1,2,0.8,17.5,27.3 +706,Goodra,Dragon,,90,100,70,110,150,80,600,100,25.81988897,6,Slow,1250000,1,45,0,0,0,0,1,0.5,0.5,0.5,0.5,2,1,1,1,1,1,1,1,1,2,1,1,2,2,150.5,37.6 +707,Klefki,Steel,Fairy,57,80,91,80,87,75,470,78.33333333,10.85766498,6,Fast,800000,1,75,0,0,0,0,0.5,2,1,1,0.5,0.5,1,0,2,0.5,0.5,0.25,0.5,1,0,0.5,1,0.5,0.2,3,75 +708,Phantump,Ghost,Grass,43,70,48,50,60,38,309,51.5,10.6731751,6,Medium Fast,1000000,0,120,0,0,0,0,0,2,0.5,0.5,0.5,2,0,1,0.5,2,1,1,1,2,1,2,1,1,0.4,7,43.8 +709,Trevenant,Ghost,Grass,85,110,76,65,82,56,474,79,17.02938637,6,Medium Fast,1000000,1,60,0,0,0,0,0,2,0.5,0.5,0.5,2,0,1,0.5,2,1,1,1,2,1,2,1,1,1.5,71,31.6 +710,Small Size Pumpkaboo,Ghost,Grass,44,66,70,44,55,56,335,55.83333333,9.872802146,6,Medium Fast,1000000,0,120,0,0,0,0,0,2,0.5,0.5,0.5,2,0,1,0.5,2,1,1,1,2,1,2,1,1,0.3,3.5,38.9 +710,Average Size Pumpkaboo,Ghost,Grass,49,66,70,44,55,51,335,55.83333333,9.263128821,6,Medium Fast,1000000,0,120,0,0,0,0,0,2,0.5,0.5,0.5,2,0,1,0.5,2,1,1,1,2,1,2,1,1,0.4,5,31.3 +710,Large Size Pumpkaboo,Ghost,Grass,54,66,70,44,55,46,335,55.83333333,9.529194906,6,Medium Fast,1000000,0,120,0,0,0,0,0,2,0.5,0.5,0.5,2,0,1,0.5,2,1,1,1,2,1,2,1,1,0.5,7.5,30 +710,Super Size Pumpkaboo,Ghost,Grass,59,66,70,44,55,41,335,55.83333333,10.60529218,6,Medium Fast,1000000,0,120,0,0,0,0,0,2,0.5,0.5,0.5,2,0,1,0.5,2,1,1,1,2,1,2,1,1,0.8,15,23.4 +711,Small Size Gourgeist,Ghost,Grass,55,85,122,58,75,99,494,82.33333333,23.27850702,6,Medium Fast,1000000,0,60,0,0,0,0,0,2,0.5,0.5,0.5,2,0,1,0.5,2,1,1,1,2,1,2,1,1,0.7,9.5,19.4 +711,Average Size Gourgeist,Ghost,Grass,65,90,122,58,75,84,494,82.33333333,20.74179891,6,Medium Fast,1000000,0,60,0,0,0,0,0,2,0.5,0.5,0.5,2,0,1,0.5,2,1,1,1,2,1,2,1,1,0.9,12.5,15.4 +711,Large Size Gourgeist,Ghost,Grass,75,95,122,58,75,69,494,82.33333333,20.8619803,6,Medium Fast,1000000,0,60,0,0,0,0,0,2,0.5,0.5,0.5,2,0,1,0.5,2,1,1,1,2,1,2,1,1,1.1,14,11.6 +711,Super Size Gourgeist,Ghost,Grass,85,100,122,58,75,54,494,82.33333333,23.59849336,6,Medium Fast,1000000,0,60,0,0,0,0,0,2,0.5,0.5,0.5,2,0,1,0.5,2,1,1,1,2,1,2,1,1,1.7,39,13.5 +712,Bergmite,Ice,,55,69,85,32,35,28,304,50.66666667,20.98147331,6,Medium Fast,1000000,0,190,0,0,0,0,1,2,1,1,1,0.5,2,1,1,1,1,1,2,1,1,1,2,1,1,99.5,99.5 +713,Avalugg,Ice,,95,117,184,44,46,28,514,85.66666667,53.81036662,6,Medium Fast,1000000,1,55,0,0,0,0,1,2,1,1,1,0.5,2,1,1,1,1,1,2,1,1,1,2,1,2,505,126.3 +714,Noibat,Flying,Dragon,40,30,35,45,40,55,245,40.83333333,7.861650943,6,Medium Fast,1000000,0,190,0,0,0,0,1,0.5,0.5,1,0.25,4,0.5,1,0,1,1,0.5,2,1,2,1,1,2,0.5,8,32 +715,Noivern,Flying,Dragon,85,70,80,97,80,123,535,89.16666667,17.12129928,6,Medium Fast,1000000,1,45,0,0,0,0,1,0.5,0.5,1,0.25,4,0.5,1,0,1,1,0.5,2,1,2,1,1,2,1.5,85,37.8 +716,Xerneas,Fairy,,126,131,95,131,98,99,680,113.3333333,16.13140484,6,Slow,1250000,1,45,1,0,0,0,1,1,1,1,1,1,0.5,2,1,1,1,0.5,1,1,0,0.5,2,1,3,215,23.9 +717,Yveltal,Dark,Flying,126,131,95,131,98,99,680,113.3333333,16.13140484,6,Slow,1250000,1,45,1,0,0,0,1,1,1,2,0.5,2,1,1,0,1,0,1,2,0.5,1,0.5,1,2,5.8,203,6 +718,Zygarde,Dragon,Ground,108,100,121,81,95,95,600,100,12.35583533,6,Slow,1250000,1,3,1,0,0,0,1,0.5,1,0,1,4,1,0.5,1,1,1,1,0.5,1,2,1,1,2,5,305,12.2 +718,Zygarde 10%,Dragon,Ground,54,100,71,61,85,115,486,81,21.45538006,6,Slow,1250000,1,3,1,0,0,0,1,0.5,1,0,1,4,1,0.5,1,1,1,1,0.5,1,2,1,1,2,1.2,33.5,23.3 +718,Zygarde Complete,Dragon,Ground,216,100,121,91,95,85,708,118,45.2474677,6,Slow,1250000,1,3,1,0,0,0,1,0.5,1,0,1,4,1,0.5,1,1,1,1,0.5,1,2,1,1,2,4.5,610,30.1 +719,Mega Diancie,Rock,Fairy,50,160,110,160,110,110,700,116.6666667,37.26779962,6,Slow,1250000,1,3,1,1,0,0,0.5,0.5,2,1,2,1,1,1,2,0.5,1,0.5,1,1,0,0.5,4,1,1.1,27.8,23 +719,Diancie,Rock,Fairy,50,100,150,100,150,50,600,100,40.82482905,6,Slow,1250000,1,3,1,0,0,0,0.5,0.5,2,1,2,1,1,1,2,0.5,1,0.5,1,1,0,0.5,4,1,0.7,8.8,18 +720,Hoopa,Psychic,Ghost,80,110,60,150,130,70,600,100,32.65986324,6,Slow,1250000,1,3,1,0,0,0,0,1,1,1,1,1,0,0.5,1,1,0.5,1,1,4,1,4,1,1,0.5,9,36 +720,Hoopa Unbound,Psychic,Dark,80,160,60,170,130,80,680,113.3333333,42.29525847,6,Slow,1250000,1,3,1,0,0,0,1,1,1,1,1,1,1,1,1,1,0,4,1,1,1,1,1,2,6.5,490,11.6 +721,Volcanion,Fire,Water,80,110,120,130,90,70,600,100,21.60246899,6,Slow,1250000,1,3,1,0,0,0,1,0.25,1,2,1,0.25,1,1,2,1,1,0.5,2,1,1,1,0.25,0.5,1.7,195,67.5 +722,Rowlet,Grass,Flying,68,55,55,50,50,42,320,53.33333333,7.866949147,7,Medium Slow,1059860,0,45,0,0,0,0,1,2,0.5,1,0.25,4,0.5,2,0,2,1,1,2,1,1,1,1,1,0.3,1.5,16.7 +723,Dartrix,Grass,Flying,78,75,75,70,70,52,420,70,8.544003745,7,Medium Slow,1059860,0,45,0,0,0,0,1,2,0.5,1,0.25,4,0.5,2,0,2,1,1,2,1,1,1,1,1,0.7,16,32.7 +724,Decidueye,Grass,Ghost,78,107,75,100,100,70,530,88.33333333,14.38363267,7,Medium Slow,1059860,1,45,0,0,0,0,0,2,0.5,0.5,0.5,2,0,1,0.5,2,1,1,1,2,1,2,1,1,1.6,36.6,14.3 +725,Litten,Fire,,45,65,40,60,40,70,320,53.33333333,12.13351648,7,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,0.4,4.3,26.9 +726,Torracat,Fire,,65,85,50,80,50,90,420,70,16.07275127,7,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,0.7,25,51 +727,Incineroar,Fire,Dark,95,115,90,80,90,60,530,88.33333333,16.49915823,7,Medium Slow,1059860,1,45,0,0,0,0,1,0.5,2,1,0.5,0.5,2,1,2,1,0,1,2,0.5,1,0.5,0.5,1,1.8,83,25.6 +728,Popplio,Water,,50,54,54,66,56,40,320,53.33333333,7.717224602,7,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.4,7.5,46.9 +729,Brionne,Water,,60,69,69,91,81,50,420,70,13.31665624,7,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.6,17.5,48.6 +730,Primarina,Water,Fairy,80,74,74,126,116,60,530,88.33333333,24.03931964,7,Medium Slow,1059860,1,45,0,0,0,0,1,0.5,0.5,2,2,0.5,0.5,2,1,1,1,0.5,1,1,0,0.5,1,1,1.8,44,13.6 +731,Pikipek,Normal,Flying,35,75,30,30,30,65,265,44.16666667,18.57791401,7,Medium Fast,1000000,0,255,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,0.3,1.2,13.3 +732,Trumbeak,Normal,Flying,55,85,50,40,50,75,355,59.16666667,15.65691186,7,Medium Fast,1000000,0,120,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,0.6,14.8,41.1 +733,Toucannon,Normal,Flying,80,120,75,75,75,60,485,80.83333333,18.57791401,7,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,2,0.5,2,1,1,0,1,1,0.5,2,0,1,1,1,1,1.1,26,21.5 +734,Yungoos,Normal,,48,70,30,30,30,45,253,42.16666667,14.49616808,7,Medium Fast,1000000,0,255,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.4,6,37.5 +735,Gumshoos,Normal,,88,110,60,55,60,45,418,69.66666667,22.26107714,7,Medium Fast,1000000,1,127,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.7,14.2,29 +736,Grubbin,Bug,,47,62,45,55,45,46,300,50,6.377042157,7,Medium Fast,1000000,0,255,0,0,0,0,1,2,1,1,0.5,1,0.5,1,0.5,2,1,1,2,1,1,1,1,1,0.4,4.4,27.5 +737,Charjabug,Bug,Electric,57,82,95,55,75,36,400,66.66666667,19.48218559,7,Medium Fast,1000000,0,120,0,0,0,0,1,2,1,0.5,0.5,1,0.5,1,1,1,1,1,2,1,1,1,0.5,1,0.5,10.5,42 +738,Vikavolt,Bug,Electric,77,70,90,145,75,43,500,83.33333333,30.98745266,7,Medium Fast,1000000,1,45,0,0,0,0,1,2,1,0.5,0.5,1,0.5,1,1,1,1,1,2,1,1,1,0.5,1,1.5,45,20 +739,Crabrawler,Fighting,,47,82,57,42,47,63,338,56.33333333,13.43709625,7,Medium Fast,1000000,0,225,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,0.6,7,19.4 +740,Crabominable,Fighting,Ice,97,132,77,62,67,43,478,79.66666667,28.47025738,7,Medium Fast,1000000,1,60,0,0,0,0,1,2,1,1,1,0.5,2,1,1,2,2,0.5,1,1,1,0.5,2,2,1.7,180,62.3 +741,Oricorio Baile Style,Fire,Flying,75,70,70,98,70,93,476,79.33333333,11.65713897,7,Medium Fast,1000000,1,45,0,0,0,0,1,0.5,2,2,0.25,1,0.5,1,0,1,1,0.25,4,1,1,1,0.5,0.5,0.6,3.4,9.4 +741,Oricorio Pom-Pom Style,Electric,Flying,75,70,70,98,70,93,476,79.33333333,11.65713897,7,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,1,0.5,2,0.5,1,0,0.5,1,0.5,2,1,1,1,0.5,1,0.6,3.4,9.4 +741,Oricorio Pa'u Style,Psychic,Flying,75,70,70,98,70,93,476,79.33333333,11.65713897,7,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,2,0.5,2,0.25,1,0,1,0.5,1,2,2,1,2,1,1,0.6,3.4,9.4 +741,Oricorio Sensu Style,Ghost,Flying,75,70,70,98,70,93,476,79.33333333,11.65713897,7,Medium Fast,1000000,1,45,0,0,0,0,0,1,1,2,0.5,2,0,0.5,0,1,1,0.25,2,2,1,2,1,1,0.6,3.4,9.4 +742,Cutiefly,Bug,Fairy,40,45,40,55,40,84,304,50.66666667,15.82894676,7,Medium Fast,1000000,0,190,0,0,0,0,1,2,1,1,0.5,1,0.25,2,0.5,2,1,0.5,2,1,0,0.5,2,1,0.1,0.2,20 +743,Ribombee,Bug,Fairy,60,55,60,95,70,124,464,77.33333333,24.64187944,7,Medium Fast,1000000,1,75,0,0,0,0,1,2,1,1,0.5,1,0.25,2,0.5,2,1,0.5,2,1,0,0.5,2,1,0.2,0.5,12.5 +744,Rockruff,Rock,,45,65,40,30,40,60,280,46.66666667,12.13351648,7,Medium Fast,1000000,0,190,0,0,0,0,0.5,0.5,2,1,2,1,2,0.5,2,0.5,1,1,1,1,1,1,2,1,0.5,9.2,36.8 +745,Lycanroc,Rock,,75,115,65,55,65,112,487,81.16666667,23.59672765,7,Medium Fast,1000000,0,90,0,0,0,0,0.5,0.5,2,1,2,1,2,0.5,2,0.5,1,1,1,1,1,1,2,1,0.8,25,39.1 +745,Lycanroc Midnight,Rock,,85,115,75,55,75,82,487,81.16666667,17.89242546,7,Medium Fast,1000000,0,90,0,0,0,0,0.5,0.5,2,1,2,1,2,0.5,2,0.5,1,1,1,1,1,1,2,1,1.1,25,20.7 +745,Lycanroc Dusk,Rock,,75,117,65,55,65,110,487,81.16666667,23.66725351,7,Medium Fast,1000000,0,90,0,0,0,0,0.5,0.5,2,1,2,1,2,0.5,2,0.5,1,1,1,1,1,1,2,1,0.8,25,39.1 +746,Wishiwashi,Water,,45,20,20,25,25,40,175,29.16666667,9.753916592,7,Fast,800000,0,60,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.2,0.3,7.5 +746,Wishiwashi School,Water,,45,140,130,140,135,30,620,103.3333333,46.87453703,7,Fast,800000,0,60,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,8.2,78.6,1.2 +747,Mareanie,Poison,Water,50,53,62,43,52,45,305,50.83333333,6.148622249,7,Medium Fast,1000000,0,190,0,0,0,0,1,0.5,0.5,2,1,0.5,0.5,0.5,2,1,2,0.5,1,1,1,1,0.5,0.5,0.4,8,50 +748,Toxapex,Poison,Water,50,63,152,53,142,35,495,82.5,46.42826007,7,Medium Fast,1000000,1,75,0,0,0,0,1,0.5,0.5,2,1,0.5,0.5,0.5,2,1,2,0.5,1,1,1,1,0.5,0.5,0.7,14.5,29.6 +749,Mudbray,Ground,,70,100,70,45,55,45,385,64.16666667,19.02118702,7,Medium Fast,1000000,0,190,0,0,0,0,1,1,2,0,2,2,1,0.5,1,1,1,1,0.5,1,1,1,1,1,1,110,110 +750,Mudsdale,Ground,,100,125,100,55,85,35,500,83.33333333,30.09245014,7,Medium Fast,1000000,1,60,0,0,0,0,1,1,2,0,2,2,1,0.5,1,1,1,1,0.5,1,1,1,1,1,2.5,920,147.2 +751,Dewpider,Water,Bug,38,40,52,40,72,27,269,44.83333333,14.14704524,7,Medium Fast,1000000,0,200,0,0,0,0,1,1,0.5,2,1,0.5,0.5,1,0.5,2,1,1,2,1,1,1,0.5,1,0.3,4,44.4 +752,Araquanid,Water,Bug,68,70,92,50,132,42,454,75.66666667,29.78627574,7,Medium Fast,1000000,1,100,0,0,0,0,1,1,0.5,2,1,0.5,0.5,1,0.5,2,1,1,2,1,1,1,0.5,1,1.8,82,25.3 +753,Fomantis,Grass,,40,55,35,50,35,35,250,41.66666667,7.993052539,7,Medium Fast,1000000,0,190,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.3,1.5,16.7 +754,Lurantis,Grass,,70,105,90,80,90,45,480,80,18.92969449,7,Medium Fast,1000000,1,75,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.9,18.5,22.8 +755,Morelull,Grass,Fairy,40,35,55,65,75,15,285,47.5,19.94784867,7,Medium Fast,1000000,0,190,0,0,0,0,1,2,0.5,0.5,0.5,2,0.5,4,0.5,2,1,1,1,1,0,0.5,2,1,0.2,1.5,37.5 +756,Shiinotic,Grass,Fairy,60,45,80,90,100,30,405,67.5,24.7907913,7,Medium Fast,1000000,1,75,0,0,0,0,1,2,0.5,0.5,0.5,2,0.5,4,0.5,2,1,1,1,1,0,0.5,2,1,1,11.5,11.5 +757,Salandit,Poison,Fire,48,44,40,71,40,77,320,53.33333333,14.96291712,7,Medium Fast,1000000,0,120,0,0,0,0,1,0.5,2,1,0.25,0.5,0.5,0.5,4,1,2,0.25,2,1,1,1,0.5,0.25,0.6,4.8,13.3 +758,Salazzle,Poison,Fire,68,64,60,111,60,117,480,80,24.25558355,7,Medium Fast,1000000,1,45,0,0,0,0,1,0.5,2,1,0.25,0.5,0.5,0.5,4,1,2,0.25,2,1,1,1,0.5,0.25,1.2,22.2,15.4 +759,Stufful,Normal,Fighting,70,75,50,45,50,50,340,56.66666667,11.426091,7,Medium Fast,1000000,0,140,0,0,0,0,1,1,1,1,1,1,2,1,1,2,2,0.5,0.5,0,1,0.5,1,2,0.5,6.8,27.2 +760,Bewear,Normal,Fighting,120,125,80,55,60,60,500,83.33333333,28.81936078,7,Medium Fast,1000000,1,70,0,0,0,0,1,1,1,1,1,1,2,1,1,2,2,0.5,0.5,0,1,0.5,1,2,2.1,135,30.6 +761,Bounsweet,Grass,,42,30,38,30,38,32,210,35,4.582575695,7,Medium Slow,1059860,0,235,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.3,3.2,35.6 +762,Steenee,Grass,,52,40,48,40,48,62,290,48.33333333,7.520342782,7,Medium Slow,1059860,0,120,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.7,8.2,16.7 +763,Tsareena,Grass,,72,120,98,50,98,72,510,85,22.82542442,7,Medium Slow,1059860,1,45,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,1.2,21.4,14.9 +764,Comfey,Fairy,,51,52,90,82,110,100,485,80.83333333,22.45303741,7,Fast,800000,1,60,0,0,0,0,1,1,1,1,1,1,0.5,2,1,1,1,0.5,1,1,0,0.5,2,1,0.1,0.3,30 +765,Oranguru,Normal,Psychic,90,60,80,90,110,60,490,81.66666667,17.71690969,7,Slow,1250000,1,45,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0.5,2,1,0,1,2,1,1,1.5,76,33.8 +766,Passimian,Fighting,,100,120,90,40,60,80,490,81.66666667,26.08745974,7,Slow,1250000,1,45,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,2,82.8,20.7 +767,Wimpod,Bug,Water,25,35,40,20,30,80,230,38.33333333,19.72026594,7,Medium Fast,1000000,0,90,0,0,0,0,1,1,0.5,2,1,0.5,0.5,1,0.5,2,1,1,2,1,1,1,0.5,1,0.5,12,48 +768,Golisopod,Bug,Water,75,125,140,60,90,40,530,88.33333333,34.96029494,7,Medium Fast,1000000,1,45,0,0,0,0,1,1,0.5,2,1,0.5,0.5,1,0.5,2,1,1,2,1,1,1,0.5,1,2,108,27 +769,Sandygast,Ghost,Ground,55,55,80,70,45,15,320,53.33333333,20.54804668,7,Medium Fast,1000000,0,140,0,0,0,0,0,1,2,0,2,2,0,0.25,1,1,1,0.5,0.5,2,1,2,1,1,0.5,70,280 +770,Palossand,Ghost,Ground,85,75,110,100,75,35,480,80,23.80476143,7,Medium Fast,1000000,1,60,0,0,0,0,0,1,2,0,2,2,0,0.25,1,1,1,0.5,0.5,2,1,2,1,1,1.3,250,147.9 +771,Pyukumuku,Water,,55,60,130,30,130,5,410,68.33333333,47.14045208,7,Fast,800000,1,60,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.3,1.2,13.3 +772,Type: Null,Normal,,95,95,95,95,95,59,534,89,13.41640786,7,Slow,1250000,0,3,1,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.9,120.5,33.4 +773,Silvally,Normal,,95,95,95,95,95,95,570,95,0,7,Slow,1250000,1,3,1,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,2.3,100.5,19 +774,Minior Meteor Form,Rock,Flying,60,60,100,60,100,60,440,73.33333333,18.85618083,7,Medium Slow,1059860,0,30,0,0,0,0,0.5,0.5,2,2,1,2,1,0.5,0,0.5,1,0.5,2,1,1,1,2,1,0.3,40,444.4 +774,Minior Core Form,Rock,Flying,60,100,60,100,60,120,500,83.33333333,24.26703296,7,Medium Slow,1059860,0,30,0,0,0,0,0.5,0.5,2,2,1,2,1,0.5,0,0.5,1,0.5,2,1,1,1,2,1,0.3,0.3,3.3 +775,Komala,Normal,,65,115,65,75,95,65,480,80,18.92969449,7,Slow,1250000,1,45,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.4,19.9,124.4 +776,Turtonator,Fire,Dragon,60,78,135,91,85,36,485,80.83333333,30.29530583,7,Medium Fast,1000000,1,70,0,0,0,0,1,0.25,1,0.5,0.25,1,1,1,2,1,1,0.5,2,1,2,1,0.5,1,2,212,53 +777,Togedemaru,Electric,Steel,65,98,63,40,73,96,435,72.5,20.02290355,7,Medium Fast,1000000,1,180,0,0,0,0,0.5,2,1,0.5,0.5,0.5,2,0,4,0.25,0.5,0.5,0.5,1,0.5,1,0.25,0.5,0.3,3.3,36.7 +778,Mimikyu,Ghost,Fairy,55,90,80,50,105,96,476,79.33333333,20.42601827,7,Medium Fast,1000000,1,45,0,0,0,0,0,1,1,1,1,1,0,1,1,1,1,0.25,1,2,0,1,2,1,0.2,0.7,17.5 +779,Bruxish,Water,Psychic,68,105,70,70,70,92,475,79.16666667,14.1940911,7,Medium Fast,1000000,1,80,0,0,0,0,1,0.5,0.5,2,2,0.5,0.5,1,1,1,0.5,2,1,2,1,2,0.5,1,0.9,19,23.5 +780,Drampa,Normal,Dragon,78,60,85,135,91,36,485,80.83333333,30.29530583,7,Medium Fast,1000000,1,70,0,0,0,0,1,0.5,0.5,0.5,0.5,2,2,1,1,1,1,1,1,0,2,1,1,2,3,185,20.6 +781,Dhelmise,Ghost,Grass,70,131,100,86,90,40,517,86.16666667,27.71531867,7,Medium Fast,1000000,1,25,0,0,0,0,0,2,0.5,0.5,0.5,2,0,1,0.5,2,1,1,1,2,1,2,1,1,3.9,210,13.8 +782,Jangmo-o,Dragon,,45,55,65,45,45,45,300,50,7.637626158,7,Slow,1250000,0,45,0,0,0,0,1,0.5,0.5,0.5,0.5,2,1,1,1,1,1,1,1,1,2,1,1,2,0.6,29.7,82.5 +783,Hakamo-o,Dragon,Fighting,55,75,90,65,70,65,420,70,10.8012345,7,Slow,1250000,0,45,0,0,0,0,1,0.5,0.5,0.5,0.5,2,1,1,1,2,2,0.5,0.5,1,2,0.5,1,4,1.2,47,32.6 +784,Kommo-o,Dragon,Fighting,75,110,125,100,105,85,600,100,16.32993162,7,Slow,1250000,1,45,0,0,0,0,1,0.5,0.5,0.5,0.5,2,1,1,1,2,2,0.5,0.5,1,2,0.5,1,4,1.6,78.2,30.5 +785,Tapu Koko,Electric,Fairy,70,115,85,95,75,130,570,95,21.40872096,7,Slow,1250000,1,3,1,0,0,0,1,1,1,0.5,1,1,0.5,2,2,0.5,1,0.5,1,1,0,0.5,1,1,1.8,20.5,6.3 +786,Tapu Lele,Psychic,Fairy,70,85,75,130,115,95,570,95,21.40872096,7,Slow,1250000,1,3,1,0,0,0,1,1,1,1,1,1,0.25,2,1,1,0.5,1,1,2,0,1,2,1,1.2,18.6,12.9 +787,Tapu Bulu,Grass,Fairy,70,130,115,85,95,75,570,95,21.40872096,7,Slow,1250000,1,3,1,0,0,0,1,2,0.5,0.5,0.5,2,0.5,4,0.5,2,1,1,1,1,0,0.5,2,1,1.9,45.5,12.6 +788,Tapu Fini,Water,Fairy,70,75,115,95,130,85,570,95,21.40872096,7,Slow,1250000,1,3,1,0,0,0,1,0.5,0.5,2,2,0.5,0.5,2,1,1,1,0.5,1,1,0,0.5,1,1,1.3,21.2,12.5 +789,Cosmog,Psychic,,43,29,31,29,31,37,200,33.33333333,5.088112507,7,Slow,1250000,0,45,1,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.2,0.1,2.5 +790,Cosmoem,Psychic,,43,29,131,29,131,37,400,66.66666667,45.74445929,7,Slow,1250000,0,45,1,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.1,999.9,99990 +791,Solgaleo,Psychic,Steel,137,137,107,113,89,97,680,113.3333333,18.34545054,7,Slow,1250000,1,45,1,0,0,0,0.5,2,1,1,0.5,0.5,1,0,2,0.5,0.25,1,0.5,2,0.5,2,0.5,0.5,3.4,230,19.9 +792,Lunala,Psychic,Ghost,137,113,89,137,107,97,680,113.3333333,18.34545054,7,Slow,1250000,1,45,1,0,0,0,0,1,1,1,1,1,0,0.5,1,1,0.5,1,1,4,1,4,1,1,4,120,7.5 +793,Nihilego,Rock,Poison,109,53,47,127,131,103,570,95,33.28663395,7,Slow,1250000,1,45,1,0,0,0,0.5,0.5,2,1,1,1,1,0.25,4,0.5,2,0.5,1,1,1,1,2,0.5,1.2,55.5,38.5 +794,Buzzwole,Bug,Fighting,107,139,139,53,53,79,570,95,36.05551275,7,Slow,1250000,1,45,1,0,0,0,1,2,1,1,0.5,1,0.5,1,0.5,4,2,0.5,1,1,1,0.5,1,2,2.4,333.6,57.9 +795,Pheromosa,Bug,Fighting,71,137,37,137,37,151,570,95,48.24935233,7,Slow,1250000,1,45,1,0,0,0,1,2,1,1,0.5,1,0.5,1,0.5,4,2,0.5,1,1,1,0.5,1,2,1.8,25,7.7 +796,Xurkitree,Electric,,83,89,71,173,71,83,570,95,35.4964787,7,Slow,1250000,1,45,1,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,3.8,100,6.9 +797,Celesteela,Steel,Flying,97,101,103,107,101,61,570,95,15.49193338,7,Slow,1250000,1,45,1,0,0,0,0.5,2,1,2,0.25,1,1,0,0,0.5,0.5,0.25,1,1,0.5,1,0.5,0.5,9.2,999.9,11.8 +798,Kartana,Grass,Steel,59,181,131,59,31,109,570,95,50.95095681,7,Slow,1250000,1,45,1,0,0,0,0.5,4,0.5,0.5,0.25,1,2,0,1,1,0.5,1,0.5,1,0.5,1,0.5,0.5,0.3,0.1,1.1 +799,Guzzlord,Dark,Dragon,223,101,53,97,53,43,570,95,61.44916598,7,Slow,1250000,1,45,1,0,0,0,1,0.5,0.5,0.5,0.5,2,2,1,1,1,0,2,1,0.5,2,0.5,1,4,5.5,888,29.4 +800,Necrozma,Psychic,,97,107,101,127,89,79,600,100,15,7,Slow,1250000,1,255,1,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,2.4,230,39.9 +800,Dusk Mane Necrozma,Psychic,Steel,97,157,127,113,109,77,680,113.3333333,24.83053676,7,Slow,1250000,1,255,1,0,0,0,0.5,2,1,1,0.5,0.5,1,0,2,0.5,0.25,1,0.5,2,0.5,2,0.5,0.5,3.8,460,31.9 +800,Dawn Wings Necrozma,Psychic,Ghost,97,113,109,157,127,77,680,113.3333333,24.83053676,7,Slow,1250000,1,255,1,0,0,0,0,1,1,1,1,1,0,0.5,1,1,0.5,1,1,4,1,4,1,1,4.2,350,19.8 +800,Ultra Necrozma,Psychic,Dragon,97,167,97,167,97,129,754,125.6666667,31.34042473,7,Slow,1250000,1,255,1,0,0,0,1,0.5,0.5,0.5,0.5,2,0.5,1,1,1,0.5,2,1,2,2,2,1,2,7.5,230,4.1 +801,Magearna,Steel,Fairy,80,95,115,130,115,65,600,100,22.36067977,7,Slow,1250000,1,3,1,0,0,0,0.5,2,1,1,0.5,0.5,1,0,2,0.5,0.5,0.25,0.5,1,0,0.5,1,0.5,1,80.5,80.5 +802,Marshadow,Fighting,Ghost,90,125,80,90,90,125,600,100,18.02775638,7,Slow,1250000,1,3,1,0,0,0,0,1,1,1,1,1,0,0.5,1,2,2,0.25,0.5,2,1,1,1,2,0.7,22.2,45.3 +803,Poipole,Poison,,67,73,67,73,67,73,420,70,3,7,Slow,1250000,0,45,1,0,0,0,1,1,1,1,0.5,1,0.5,0.5,2,1,2,0.5,1,1,1,1,1,0.5,0.6,1.8,5 +804,Naganadel,Poison,Dragon,73,73,73,127,73,121,540,90,24.10394159,7,Slow,1250000,1,45,1,0,0,0,1,0.5,0.5,0.5,0.25,2,0.5,0.5,2,1,2,0.5,1,1,2,1,1,1,3.6,150,11.6 +805,Stakataka,Rock,Steel,61,131,211,53,101,13,570,95,63.81222453,7,Slow,1250000,1,30,1,0,0,0,0.25,1,2,1,1,0.5,4,0,4,0.25,0.5,0.5,0.5,1,0.5,1,1,0.5,5.5,820,27.1 +806,Blacephalon,Fire,Ghost,53,127,53,151,79,107,570,95,36.7151195,7,Slow,1250000,1,30,1,0,0,0,0,0.5,2,1,0.5,0.5,0,0.5,2,1,1,0.25,2,2,1,2,0.5,0.5,1.8,13,4 +807,Zeraora,Electric,,88,112,75,102,80,143,600,100,22.97099621,7,Slow,1250000,1,3,1,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,1.5,44.5,19.8 +808,Meltan,Steel,,46,65,65,55,35,34,300,50,12.72792206,7,Slow,1250000,0,3,1,0,0,0,0.5,2,1,1,0.5,0.5,2,0,2,0.5,0.5,0.5,0.5,1,0.5,1,0.5,0.5,0.2,8,200 +809,Melmetal,Steel,,135,143,143,80,65,34,600,100,42.63019274,7,Slow,1250000,1,3,1,0,0,0,0.5,2,1,1,0.5,0.5,2,0,2,0.5,0.5,0.5,0.5,1,0.5,1,0.5,0.5,2.5,800,128 +810,Grookey,Grass,,50,65,50,40,40,65,310,51.66666667,10.27402334,8,Medium Slow,1059860,0,45,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.3,5,55.6 +811,Thwackey,Grass,,70,85,70,55,60,80,420,70,10.40833,8,Medium Slow,1059860,0,45,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.7,14,28.6 +812,Rillaboom,Grass,,100,125,90,60,70,85,530,88.33333333,20.94967515,8,Medium Slow,1059860,1,45,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,2.1,90,20.4 +813,Scorbunny,Fire,,50,71,40,40,40,69,310,51.66666667,13.449494,8,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,0.3,4.5,50 +814,Raboot,Fire,,65,86,60,55,60,94,420,70,14.6173413,8,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,0.6,9,25 +815,Cinderace,Fire,,80,116,75,65,75,119,530,88.33333333,21.11608129,8,Medium Slow,1059860,1,45,0,0,0,0,1,0.5,2,1,0.5,0.5,1,1,2,1,1,0.5,2,1,1,1,0.5,0.5,1.4,33,16.8 +816,Sobble,Water,,50,40,40,70,40,70,310,51.66666667,13.43709625,8,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.3,4,44.4 +817,Drizzile,Water,,65,60,55,95,55,90,420,70,16.32993162,8,Medium Slow,1059860,0,45,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.7,11.5,23.5 +818,Inteleon,Water,,70,85,65,125,65,120,530,88.33333333,25.11086529,8,Medium Slow,1059860,1,45,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1.9,45.2,12.5 +819,Skwovet,Normal,,70,55,55,35,35,25,275,45.83333333,15.38848776,8,Medium Fast,1000000,0,255,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.3,2.5,27.8 +820,Greedent,Normal,,120,95,95,55,75,20,460,76.66666667,32.23179934,8,Medium Fast,1000000,1,90,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.6,6,16.7 +821,Rookidee,Flying,,38,47,35,33,35,57,245,40.83333333,8.532617157,8,Medium Slow,1059860,0,255,0,0,0,0,1,1,1,2,0.5,2,0.5,1,0,1,1,0.5,2,1,1,1,1,1,0.2,1.8,45 +822,Corvisquire,Flying,,68,67,55,43,55,77,365,60.83333333,11.08176681,8,Medium Slow,1059860,0,120,0,0,0,0,1,1,1,2,0.5,2,0.5,1,0,1,1,0.5,2,1,1,1,1,1,0.8,16,25 +823,Corviknight,Flying,Steel,98,87,105,53,85,67,495,82.5,17.7176936,8,Medium Slow,1059860,1,45,0,0,0,0,0.5,2,1,2,0.25,1,1,0,0,0.5,0.5,0.25,1,1,0.5,1,0.5,0.5,2.2,75,15.5 +824,Blipbug,Bug,,25,20,20,25,45,45,180,30,10.8012345,8,Medium Fast,1000000,0,255,0,0,0,0,1,2,1,1,0.5,1,0.5,1,0.5,2,1,1,2,1,1,1,1,1,0.4,8,50 +825,Dottler,Bug,Psychic,50,35,80,50,90,30,335,55.83333333,22.06367049,8,Medium Fast,1000000,0,120,0,0,0,0,1,2,1,1,0.5,1,0.25,1,0.5,2,0.5,2,2,2,1,2,1,1,0.4,19.5,121.9 +826,Orbeetle,Bug,Psychic,60,45,110,80,120,90,505,84.16666667,26.20697532,8,Medium Fast,1000000,1,45,0,0,0,0,1,2,1,1,0.5,1,0.25,1,0.5,2,0.5,2,2,2,1,2,1,1,0.4,40.8,255 +827,Nickit,Dark,,40,28,28,47,52,50,245,40.83333333,9.805044053,8,Fast,800000,0,255,0,0,0,0,1,1,1,1,1,1,2,1,1,1,0,2,1,0.5,1,0.5,1,2,0.6,8.9,24.7 +828,Thievul,Dark,,70,58,58,87,92,90,455,75.83333333,14.47315523,8,Fast,800000,1,127,0,0,0,0,1,1,1,1,1,1,2,1,1,1,0,2,1,0.5,1,0.5,1,2,1.2,19.9,13.8 +829,Gossifleur,Grass,,40,40,60,40,60,10,250,41.66666667,16.7497927,8,Medium Fast,1000000,0,190,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.4,2.2,13.8 +830,Eldegoss,Grass,,60,50,90,80,120,60,460,76.66666667,23.57022604,8,Medium Fast,1000000,1,75,0,0,0,0,1,2,0.5,0.5,0.5,2,1,2,0.5,2,1,2,1,1,1,1,1,1,0.5,2.5,10 +831,Wooloo,Normal,,42,40,55,40,45,48,270,45,5.291502622,8,Medium Fast,1000000,0,255,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,0.6,6,16.7 +832,Dubwool,Normal,,72,80,100,60,90,88,490,81.66666667,12.98289473,8,Medium Fast,1000000,1,127,0,0,0,0,1,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,1,1.3,43,25.4 +833,Chewtle,Water,,50,64,50,38,38,44,284,47.33333333,8.919392107,8,Medium Fast,1000000,0,255,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.3,8.5,94.4 +834,Drednaw,Water,Rock,90,115,90,48,68,74,485,80.83333333,20.91583664,8,Medium Fast,1000000,1,75,0,0,0,0,0.5,0.25,1,2,4,0.5,2,0.5,2,0.5,1,1,1,1,1,1,1,1,1,115.5,115.5 +835,Yamper,Electric,,59,45,50,40,50,26,270,45,10.26320288,8,Fast,800000,0,255,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,0.3,13.5,150 +836,Boltund,Electric,,69,90,60,90,60,121,490,81.66666667,21.54581681,8,Fast,800000,1,45,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,1,34,34 +837,Rolycoly,Rock,,30,40,50,40,50,30,240,40,8.164965809,8,Medium Slow,1059860,0,255,0,0,0,0,0.5,0.5,2,1,2,1,2,0.5,2,0.5,1,1,1,1,1,1,2,1,0.3,12,133.3 +838,Carkol,Rock,Fire,80,60,90,60,70,50,410,68.33333333,13.43709625,8,Medium Slow,1059860,0,120,0,0,0,0,0.5,0.25,4,1,1,0.5,2,0.5,4,0.5,1,0.5,2,1,1,1,1,0.5,1.1,78,64.5 +839,Coalossal,Rock,Fire,110,80,120,80,90,30,510,85,28.72281323,8,Medium Slow,1059860,1,45,0,0,0,0,0.5,0.25,4,1,1,0.5,2,0.5,4,0.5,1,0.5,2,1,1,1,1,0.5,2.8,310.5,39.6 +840,Applin,Grass,Dragon,40,40,80,40,40,20,260,43.33333333,17.95054936,8,Erratic,600000,0,255,0,0,0,0,1,1,0.25,0.25,0.25,4,1,2,0.5,2,1,2,1,1,2,1,1,2,0.2,0.5,12.5 +841,Flapple,Grass,Dragon,70,110,80,95,60,70,485,80.83333333,16.93533453,8,Erratic,600000,1,45,0,0,0,0,1,1,0.25,0.25,0.25,4,1,2,0.5,2,1,2,1,1,2,1,1,2,0.3,1,11.1 +842,Appletun,Grass,Dragon,110,85,80,100,80,30,485,80.83333333,25.23500655,8,Erratic,600000,1,45,0,0,0,0,1,1,0.25,0.25,0.25,4,1,2,0.5,2,1,2,1,1,2,1,1,2,0.4,13,81.3 +843,Silicobra,Ground,,52,57,75,35,50,46,315,52.5,12.12091856,8,Medium Fast,1000000,0,255,0,0,0,0,1,1,2,0,2,2,1,0.5,1,1,1,1,0.5,1,1,1,1,1,2.2,7.6,1.6 +844,Sandaconda,Ground,,72,107,125,65,70,71,510,85,22.6347815,8,Medium Fast,1000000,1,120,0,0,0,0,1,1,2,0,2,2,1,0.5,1,1,1,1,0.5,1,1,1,1,1,3.8,65.5,4.5 +845,Cramorant,Flying,Water,70,85,55,85,95,85,475,79.16666667,13.04372987,8,Medium Fast,1000000,1,45,0,0,0,0,1,0.5,0.5,4,1,1,0.5,1,0,1,1,0.5,2,1,1,1,0.5,1,0.8,18,28.1 +846,Arrokuda,Water,,41,63,40,40,30,66,280,46.66666667,13.16139135,8,Slow,1250000,0,255,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,0.5,1,4 +847,Barraskewda,Water,,61,123,60,60,50,136,490,81.66666667,34.22799374,8,Slow,1250000,1,60,0,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,1,1,1,1,1,1,1,0.5,1,1.3,30,17.8 +848,Toxel,Electric,Poison,40,38,35,54,35,40,242,40.33333333,6.446359869,8,Medium Slow,1059860,0,75,0,0,0,0,1,1,1,0.5,0.5,1,0.5,0.5,4,0.5,2,0.5,1,1,1,1,0.5,0.5,0.4,11,68.8 +849,Toxtricity,Electric,Poison,75,98,70,114,70,75,502,83.66666667,16.57977349,8,Medium Slow,1059860,0,45,0,0,0,0,1,1,1,0.5,0.5,1,0.5,0.5,4,0.5,2,0.5,1,1,1,1,0.5,0.5,1.6,40,15.6 +850,Sizzlipede,Fire,Bug,50,65,45,50,50,45,305,50.83333333,6.718548124,8,Medium Fast,1000000,0,190,0,0,0,0,1,1,2,1,0.25,0.5,0.5,1,1,2,1,0.5,4,1,1,1,0.5,0.5,0.7,1,2 +851,Centiskorch,Fire,Bug,100,115,65,90,90,65,525,87.5,17.96988221,8,Medium Fast,1000000,1,75,0,0,0,0,1,1,2,1,0.25,0.5,0.5,1,1,2,1,0.5,4,1,1,1,0.5,0.5,3,120,13.3 +852,Clobbopus,Fighting,,50,68,60,50,50,32,310,51.66666667,11.04033011,8,Medium Slow,1059860,0,180,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,0.6,4,11.1 +853,Grapploct,Fighting,,80,118,90,70,80,42,480,80,22.68626604,8,Medium Slow,1059860,1,45,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,1.6,39,15.2 +854,Sinistea,Ghost,,40,45,45,74,54,50,308,51.33333333,11.04033011,8,Medium Fast,1000000,0,120,0,0,0,0,0,1,1,1,1,1,0,0.5,1,1,1,0.5,1,2,1,2,1,1,0.1,0.2,20 +855,Polteageist,Ghost,,60,65,65,134,114,70,508,84.66666667,28.55209663,8,Medium Fast,1000000,1,60,0,0,0,0,0,1,1,1,1,1,0,0.5,1,1,1,0.5,1,2,1,2,1,1,0.2,0.4,10 +856,Hatenna,Psychic,,42,30,45,56,53,39,265,44.16666667,8.668269083,8,Slow,1250000,0,235,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.4,3.4,21.3 +857,Hattrem,Psychic,,57,40,65,86,73,49,370,61.66666667,15.18405597,8,Slow,1250000,0,120,0,0,0,0,1,1,1,1,1,1,0.5,1,1,1,0.5,2,1,2,1,2,1,1,0.6,4.8,13.3 +858,Hatterene,Psychic,Fairy,57,90,95,136,103,29,510,85,34.08323146,8,Slow,1250000,1,45,0,0,0,0,1,1,1,1,1,1,0.25,2,1,1,0.5,1,1,2,0,1,2,1,2.1,5,1.1 +859,Impidimp,Dark,Fairy,45,45,30,55,40,50,265,44.16666667,7.861650943,8,Medium Fast,1000000,0,255,0,0,0,0,1,1,1,1,1,1,1,2,1,1,0,1,1,0.5,0,0.25,2,2,0.4,5.5,34.4 +860,Morgrem,Dark,Fairy,65,60,45,75,55,70,370,61.66666667,9.860132972,8,Medium Fast,1000000,0,120,0,0,0,0,1,1,1,1,1,1,1,2,1,1,0,1,1,0.5,0,0.25,2,2,0.8,12.5,19.5 +861,Grimmsnarl,Dark,Fairy,95,120,65,95,75,60,510,85,20.61552813,8,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,1,1,1,1,2,1,1,0,1,1,0.5,0,0.25,2,2,1.5,61,27.1 +862,Obstagoon,Dark,Normal,93,90,101,60,81,95,520,86.66666667,13.3499896,8,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,1,1,1,4,1,1,1,0,2,1,0,1,0.5,1,2,1.6,46,18 +863,Perrserker,Steel,,70,110,100,50,60,50,440,73.33333333,23.57022604,8,Medium Fast,1000000,1,90,0,0,0,0,0.5,2,1,1,0.5,0.5,2,0,2,0.5,0.5,0.5,0.5,1,0.5,1,0.5,0.5,0.8,28,43.8 +864,Cursola,Ghost,,60,95,50,145,130,30,510,85,42.03173404,8,Fast,800000,1,30,0,0,0,0,0,1,1,1,1,1,0,0.5,1,1,1,0.5,1,2,1,2,1,1,1,0.4,0.4 +865,Sirfetch'd,Fighting,,62,135,95,68,82,65,507,84.5,25.25041254,8,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,0.8,117,182.8 +866,Mr. Rime,Ice,Psychic,80,85,75,110,100,70,520,86.66666667,14.04358296,8,Medium Fast,1000000,1,45,0,0,0,0,1,2,1,1,1,0.5,1,1,1,1,0.5,2,2,2,1,2,2,1,1.5,58.2,25.9 +867,Runerigus,Ground,Ghost,58,95,145,50,105,30,483,80.5,38.63827981,8,Medium Fast,1000000,1,90,0,0,0,0,0,1,2,0,2,2,0,0.25,1,1,1,0.5,0.5,2,1,2,1,1,1.6,66.6,26 +868,Milcery,Fairy,,45,40,40,50,61,34,270,45,8.679477711,8,Medium Fast,1000000,0,200,0,0,0,0,1,1,1,1,1,1,0.5,2,1,1,1,0.5,1,1,0,0.5,2,1,0.2,0.3,7.5 +869,Alcremie,Fairy,,65,60,75,110,121,64,495,82.5,23.97741993,8,Medium Fast,1000000,1,100,0,0,0,0,1,1,1,1,1,1,0.5,2,1,1,1,0.5,1,1,0,0.5,2,1,0.3,0.5,5.6 +870,Falinks,Fighting,,65,100,100,70,60,75,470,78.33333333,15.98610508,8,Medium Fast,1000000,1,45,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,3,62,6.9 +871,Pincurchin,Electric,,48,101,95,91,85,15,435,72.5,30.88554139,8,Medium Fast,1000000,1,75,0,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,0.3,1,11.1 +872,Snom,Ice,Bug,30,25,35,45,30,20,185,30.83333333,7.861650943,8,Medium Fast,1000000,0,190,0,0,0,0,1,4,1,1,0.5,0.5,1,1,0.5,2,1,1,4,1,1,1,2,1,0.3,3.8,42.2 +873,Frosmoth,Ice,Bug,70,65,60,125,90,65,475,79.16666667,22.62311993,8,Medium Fast,1000000,1,75,0,0,0,0,1,4,1,1,0.5,0.5,1,1,0.5,2,1,1,4,1,1,1,2,1,1.3,42,24.9 +874,Stonjourner,Rock,,100,125,135,20,20,70,470,78.33333333,46.0675832,8,Slow,1250000,1,60,0,0,0,0,0.5,0.5,2,1,2,1,2,0.5,2,0.5,1,1,1,1,1,1,2,1,2.5,520,83.2 +875,Eiscue,Ice,,75,80,110,65,90,50,470,78.33333333,18.85618083,8,Slow,1250000,0,60,0,0,0,0,1,2,1,1,1,0.5,2,1,1,1,1,1,2,1,1,1,2,1,1.4,89,45.4 +875,Eiscue Noice Face,Ice,,75,80,70,65,50,130,470,78.33333333,24.94438258,8,Slow,1250000,0,60,0,0,0,0,1,2,1,1,1,0.5,2,1,1,1,1,1,2,1,1,1,2,1,1.4,89,45.4 +876,Indeedee,Psychic,Normal,60,65,55,105,95,95,475,79.16666667,19.66737287,8,Fast,800000,0,30,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0.5,2,1,0,1,2,1,1,0.9,28,34.6 +877,Morpeko,Electric,Dark,58,95,58,70,58,97,436,72.66666667,17.04569023,8,Medium Fast,1000000,1,180,0,0,0,0,1,1,1,0.5,1,1,2,1,2,0.5,0,2,1,0.5,1,0.5,0.5,2,0.3,3,33.3 +878,Cufant,Steel,,72,80,49,40,49,40,330,55,15.47040185,8,Medium Fast,1000000,0,190,0,0,0,0,0.5,2,1,1,0.5,0.5,2,0,2,0.5,0.5,0.5,0.5,1,0.5,1,0.5,0.5,1.2,100,69.4 +879,Copperajah,Steel,,122,130,69,80,69,30,500,83.33333333,34.00816895,8,Medium Fast,1000000,1,90,0,0,0,0,0.5,2,1,1,0.5,0.5,2,0,2,0.5,0.5,0.5,0.5,1,0.5,1,0.5,0.5,3,650,72.2 +880,Dracozolt,Electric,Dragon,90,100,90,80,70,75,505,84.16666667,10.17212968,8,Slow,1250000,1,45,0,0,0,0,1,0.5,0.5,0.25,0.5,2,1,1,2,0.5,1,1,1,1,2,1,0.5,2,1.8,190,58.6 +881,Arctozolt,Electric,Ice,90,100,90,90,80,55,505,84.16666667,14.26436897,8,Slow,1250000,1,45,0,0,0,0,1,2,1,0.5,1,0.5,2,1,2,0.5,1,1,2,1,1,1,1,1,2.3,150,28.4 +882,Dracovish,Water,Dragon,90,90,100,70,80,75,505,84.16666667,10.17212968,8,Slow,1250000,1,45,0,0,0,0,1,0.25,0.25,1,1,1,1,1,1,1,1,1,1,1,2,1,0.5,2,2.3,215,40.6 +883,Arctovish,Water,Ice,90,90,100,80,90,55,505,84.16666667,14.26436897,8,Slow,1250000,1,45,0,0,0,0,1,1,0.5,2,2,0.25,2,1,1,1,1,1,2,1,1,1,1,1,2,175,43.8 +884,Duraludon,Steel,Dragon,70,95,115,120,50,85,535,89.16666667,24.39546861,8,Medium Fast,1000000,1,45,0,0,0,0,0.5,1,0.5,0.5,0.25,1,2,0,2,0.5,0.5,0.5,0.5,1,1,1,0.5,1,1.8,40,12.3 +885,Dreepy,Dragon,Ghost,28,60,30,40,30,82,270,45,19.8242276,8,Slow,1250000,0,45,0,0,0,0,0,0.5,0.5,0.5,0.5,2,0,0.5,1,1,1,0.5,1,2,2,2,1,2,0.5,2,8 +886,Drakloak,Dragon,Ghost,68,80,50,60,50,102,410,68.33333333,18.30907486,8,Slow,1250000,0,45,0,0,0,0,0,0.5,0.5,0.5,0.5,2,0,0.5,1,1,1,0.5,1,2,2,2,1,2,1.4,11,5.6 +887,Dragapult,Dragon,Ghost,88,120,75,100,75,142,600,100,24.35159132,8,Slow,1250000,1,45,0,0,0,0,0,0.5,0.5,0.5,0.5,2,0,0.5,1,1,1,0.5,1,2,2,2,1,2,3,50,5.6 +888,Zacian,Fairy,,92,130,115,80,115,138,670,111.6666667,20.17148703,8,Slow,1250000,1,10,1,0,0,0,1,1,1,1,1,1,0.5,2,1,1,1,0.5,1,1,0,0.5,2,1,2.8,110,14 +888,Zacian Crowned Sword,Fairy,Steel,92,170,115,80,115,148,720,120,30.87069808,8,Slow,1250000,1,10,1,0,0,0,0.5,2,1,1,0.5,0.5,1,0,2,0.5,0.5,0.25,0.5,1,0,0.5,1,0.5,2.8,355,45.3 +889,Zamazenta,Fighting,,92,130,115,80,115,138,670,111.6666667,20.17148703,8,Slow,1250000,1,10,1,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,2.9,210,25 +889,Zamazenta Crowned Shield,Fighting,Steel,92,130,145,80,145,128,720,120,25.15949125,8,Slow,1250000,1,10,1,0,0,0,0.5,2,1,1,0.5,0.5,2,0,2,1,1,0.25,0.25,1,0.5,0.5,0.5,1,2.9,785,93.3 +890,Eternatus,Poison,Dragon,140,85,95,145,95,130,690,115,23.97915762,8,Slow,1250000,1,255,1,0,0,0,1,0.5,0.5,0.5,0.25,2,0.5,0.5,2,1,2,0.5,1,1,2,1,1,1,20,950,2.4 +891,Kubfu,Fighting,,60,90,60,53,50,72,385,64.16666667,13.47116262,8,Slow,1250000,0,3,1,0,0,0,1,1,1,1,1,1,1,1,1,2,2,0.5,0.5,1,1,0.5,1,2,0.6,12,33.3 +892,Urshifu Rapid Strike Style,Fighting,Water,100,130,100,63,60,97,550,91.66666667,24.01851138,8,Slow,1250000,1,3,1,0,0,0,1,0.5,0.5,2,2,0.5,1,1,1,2,2,0.5,0.5,1,1,0.5,0.5,2,1.9,105,29.1 +892,Urshifu Single Strike Style,Fighting,Dark,100,130,100,63,60,97,550,91.66666667,24.01851138,8,Slow,1250000,1,3,1,0,0,0,1,1,1,1,1,1,2,1,1,2,0,1,0.5,0.5,1,0.25,1,4,1.9,105,29.1 +893,Zarude,Dark,Grass,105,120,105,70,95,105,600,100,15.27525232,8,Slow,1250000,1,3,1,0,0,0,1,2,0.5,0.5,0.5,2,2,2,0.5,2,0,4,1,0.5,1,0.5,1,2,1.8,70,21.6 +894,Regieleki,Electric,,80,100,50,100,50,200,580,96.66666667,50.55250296,8,Slow,1250000,1,3,1,0,0,0,1,1,1,0.5,1,1,1,1,2,0.5,1,1,1,1,1,1,0.5,1,1.2,145,100.7 +895,Regidrago,Dragon,,200,100,50,100,50,80,580,96.66666667,50.55250296,8,Slow,1250000,1,3,1,0,0,0,1,0.5,0.5,0.5,0.5,2,1,1,1,1,1,1,1,1,2,1,1,2,2.1,200,45.4 +896,Glastrier,Ice,,100,145,130,65,110,30,580,96.66666667,38.9087251,8,Slow,1250000,1,3,1,0,0,0,1,2,1,1,1,0.5,2,1,1,1,1,1,2,1,1,1,2,1,2.2,800,165.3 +897,Spectrier,Ghost,,100,65,60,145,80,130,580,96.66666667,31.84162196,8,Slow,1250000,1,3,1,0,0,0,0,1,1,1,1,1,0,0.5,1,1,1,0.5,1,2,1,2,1,1,2,44.5,11.1 +898,Calyrex,Psychic,Grass,100,80,80,80,80,80,500,83.33333333,7.453559925,8,Slow,1250000,1,3,1,0,0,0,1,2,0.5,0.5,0.5,2,0.5,2,0.5,2,0.5,4,1,2,1,2,1,1,1.1,7.7,6.4 +898,Calyrex Ice Rider,Psychic,Ice,100,165,150,85,130,50,680,113.3333333,39.33474574,8,Slow,1250000,1,3,1,0,0,0,1,2,1,1,1,0.5,1,1,1,1,0.5,2,2,2,1,2,2,1,2.4,809.1,140.5 +898,Calyrex Shadow Rider,Psychic,Ghost,100,85,80,165,100,150,680,113.3333333,32.36081306,8,Slow,1250000,1,3,1,0,0,0,0,1,1,1,1,1,0,0.5,1,1,0.5,1,1,4,1,4,1,1,2.4,53.6,9.3 diff --git a/lib/tasks/project_components/persuasive_data_presentation_cards_starter/project_config.yml b/lib/tasks/project_components/persuasive_data_presentation_cards_starter/project_config.yml new file mode 100644 index 00000000..f5924bb1 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_cards_starter/project_config.yml @@ -0,0 +1,14 @@ +NAME: "Persuasive Data Presentation: Pokemon Cards" +IDENTIFIER: "data-cards-starter" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "pokemon" + extension: "csv" + location: "pokemon.csv" + index: 1 + default: false + diff --git a/lib/tasks/project_components/persuasive_data_presentation_dogs_example/dog_breed_characteristics.csv b/lib/tasks/project_components/persuasive_data_presentation_dogs_example/dog_breed_characteristics.csv new file mode 100644 index 00000000..b7255539 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_dogs_example/dog_breed_characteristics.csv @@ -0,0 +1,147 @@ +Affenpinscher,Toy,1000,37,147 +Afghan Hound,Sporting,2250,79,93 +Airedale Terrier,Terrier,700,29,55 +Akita,Working,1000,54,47 +Alaskan Malamute,Working,1350,50,59 +American Staffordshire Terrier,Terrier,900,34,83 +American Water Spaniel,Sporting,900,44,167 +Australian Cattle Dog/Blue Heeler,Herding,600,10,56 +Australian Shepherd,Terrier,700,42,17 +Australian Terrier,Terrier,1250,34,137 +Basenji,Hound,1100,78,84 +Basset Hound,Hound,400,71,39 +Beagle,Hound,650,72,6 +Bearded Collie,Herding,1300,34,125 +Bedlington Terrier,Terrier,1900,40,151 +Belgian Shepherd Dog Sheepdog,Herding,1300,15,120 +Belgian Shepherd Tervuren,Herding,1350,14,103 +Bernese Mountain Dog,Working,900,22,25 +Bichon Frise,Non Sporting,850,45,46 +Black and Tan Coonhound,Hound,350,44,130 +Black Labrador Retriever,Sporting,1500,7,1 +Bloodhound,Hound,1000,74,50 +Border Collie,Herding,700,1,38 +Border Terrier,Terrier,1300,30,92 +Borzoi,Hound,1100,75,102 +Boston Terrier,Non Sporting,750,54,21 +Bouvier des Flanders,Herding,1750,29,85 +Boxer,Working,900,49,11 +Briard,Herding,1100,30,127 +Brittany Spaniel,Sporting,750,19,26 +Bull Terrier,Terrier,1350,66,60 +Bullmastiff,Working,1350,69,51 +Cairn Terrier,Terrier,850,35,69 +Cattle Dog,Herding,600,10,56 +Cavalier King Charles Spaniel,Toy,1350,44,19 +Chesapeake Bay Retriever,Sporting,800,27,43 +Chihuahua,Toy,700,67,32 +Chinese Crested Dog,Toy,900,61,79 +Chocolate Labrador Retriever,Sporting,1500,7,1 +Chow Chow,Non Sporting,700,76,76 +Clumber Spaniel,Sporting,1000,37,140 +Cocker Spaniel,Sporting,700,20,29 +Collie,Herding,500,16,40 +Coonhound,Hound,350,44,130 +Corgi,Herding,1100,26,68 +Curly-Coated Retriever,Sporting,700,41,171 +Dachshund,Hound,600,49,13 +Dalmatian,Non Sporting,800,39,63 +Dandi Dinmont Terrier,Terrier,1500,62,182 +Doberman Pinscher,Working,900,5,16 +English Bulldog,Non Sporting,1600,77,5 +English Cocker Spaniel,Sporting,1050,18,52 +English Pointer,Sporting,450,43,113 +English Setter,Sporting,500,37,95 +English Springer Spaniel,Sporting,750,13,27 +Field Spaniel,Sporting,900,34,145 +Finnish Spitz,Non Sporting,600,43,177 +Flat-coated Retriever,Sporting,1100,18,96 +Fox Terrier,Terrier,850,40,122 +Foxhound,Hound,500,46,187 +French Bulldog,Non Sporting,3000,58,4 +German Shepherd Dog,Herding,1400,3,2 +German Shorthaired Pointer,Working,700,17,10 +German Wirehaired Pointer,Sporting,800,44,62 +Giant Schnauzer,Working,1250,28,80 +Golden Retriever,Sporting,1500,4,3 +Gordon Setter,Sporting,900,34,104 +Great Dane,Working,1000,48,14 +Great Pyrenees,Working,800,64,66 +Greyhound,Hound,650,46,156 +Hound,Hound,500,46,187 +Husky,Working,950,45,12 +Ibizan Hound,Hound,1000,53,165 +Irish Setter,Sporting,900,35,72 +Irish Terrier,Terrier,700,53,114 +Irish Water Spaniel,Sporting,900,24,164 +Irish Wolfhound,Hound,1900,41,73 +Italian Greyhound,Toy,900,60,74 +Japanese Chin,Toy,400,62,108 +Keeshond,Non Sporting,900,16,87 +Kerry Blue Terrier,Terrier,550,35,129 +Kuvasz,Working,1350,42,157 +Labrador Retriever,Sporting,1500,7,1 +Lakeland Terrier,Terrier,1500,62,138 +Lhasa Apso,Non Sporting,600,68,77 +Maltese,Toy,700,59,33 +Manchester Terrier,Terrier,800,32,135 +Mastiff,Working,1350,72,28 +Miniature Pinscher,Toy,500,37,71 +Mountain Dog,Working,900,22,25 +Newfoundland Dog,Working,1750,34,36 +Norfolk Terrier,Terrier,2250,56,128 +Norwegian Elkhound,Hound,600,36,91 +Norwich Terrier,Terrier,1700,38,105 +Old English Sheepdog,Herding,1350,63,70 +Otterhound,Hound,550,46,186 +Papillon,Toy,500,8,53 +Pekingese,Toy,700,73,88 +Petit Basset Griffon Vendeen,Hound,1400,62,160 +Pharaoh Hound,Hound,1900,37,174 +Pointer,Sporting,450,43,113 +Pomeranian,Toy,700,23,22 +Poodle,Non Sporting,1250,2,7 +Standard Poodle,Non Sporting,1250,2,7 +Pug,Toy,400,57,31 +Puli,Herding,1100,27,142 +Retriever,Sporting,1500,4,3 +Rhodesian Ridgeback,Hound,1150,52,41 +Rottweiler,Working,1600,9,8 +Saint Bernard,Working,1650,65,48 +Saluki,Hound,700,43,123 +Samoyed,Working,1350,33,57 +Schipperke,Non Sporting,800,15,110 +Schnauzer,Working,1350,18,90 +Scottish Deerhound,Hound,1100,47,168 +Scottish Terrier Scottie,Terrier,900,65,58 +Sealyham Terrier,Terrier,900,56,150 +Setter,Sporting,500,37,95 +Shar Pei,Non Sporting,1100,51,64 +Sheep Dog,Herding,1350,63,70 +Shepherd,Herding,1400,3,2 +Shetland Sheepdog Sheltie,Herding,900,6,24 +Shih Tzu,Toy,1000,70,20 +Siberian Husky,Working,950,45,12 +Silky Terrier,Toy,700,37,106 +Skye Terrier,Terrier,800,55,172 +Smooth Fox Terrier,Terrier,850,40,122 +Spaniel,Sporting,700,20,29 +Staffordshire Bull Terrier,Terrier,1750,49,82 +Terrier,Terrier,1050,47,42 +Tibetan Spaniel,Non Sporting,900,46,121 +Tibetan Terrier,Non Sporting,1600,62,101 +Weimaraner,Sporting,1750,21,34 +Welsh Corgi,Herding,1100,26,68 +Cardigan,Herding,1100,26,68 +Pembroke,Herding,1100,26,68 +Welsh Springer Spaniel,Sporting,1300,31,133 +Welsh Terrier,Terrier,1000,53,109 +West Highland White Terrier Westie,Terrier,1050,47,42 +Wheaten Terrier,Terrier,900,40,49 +Whippet,Hound,1000,51,61 +White German Shepherd,Herding,1400,3,2 +Wire Fox Terrier,Terrier,900,51,99 +Wire-haired Pointing Griffon,Sporting,700,46,65 +Wirehaired Terrier,Terrier,900,51,99 +Yellow Labrador Retriever,Sporting,1500,7,1 +Yorkshire Terrier Yorkie,Toy,800,27,9 diff --git a/lib/tasks/project_components/persuasive_data_presentation_dogs_example/main.py b/lib/tasks/project_components/persuasive_data_presentation_dogs_example/main.py new file mode 100644 index 00000000..03a20d5c --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_dogs_example/main.py @@ -0,0 +1,58 @@ +#!/bin/python3 + +# Data headings: 0 BreedName, 1 Type, 2 Average Price (American Dollars), 3 Intelligence score, 4 Popularity score US 2017 + +from pygal import * + +with open('dog_breed_characteristics.csv') as f: + data = f.read() + lines = data.splitlines() + +choice = 0 + +def main(): + + choice = input('Analysing Toy dogs. What would you like to see? \n1. Average price, \n2. Popularity, \n3. Intelligence, \nChoice:') + + if choice == '1': + chart = Bar(width=600, height=400, title=' 🐶 Average price of Toy dogs by breed 🐶 ') + for line in lines: + info = line.split(',') + BreedName = info[0] + Type = info[1] + AvgPrice = info[2] + if Type == 'Toy': + chart.add(BreedName, float(AvgPrice)) + chart.render() + main() + + if choice == '2': + chart = Pie(width=600, height=400, title='🐶 Popularity of Toy dogs by breed 🐶 ') + for line in lines: + info = line.split(',') + BreedName = info[0] + Type = info[1] + AvgPrice = info[2] + Intelligence = info[3] + Popularity = info[4] + if Type == 'Toy': + chart.add(BreedName, float(Popularity)) + chart.render() + main() + + if choice == '3': + chart = Bar(width=600, height=400, title='🐶 Intelligence of Toy dogs by breed 🐶') + for line in lines: + info = line.split(',') + BreedName = info[0] + Type = info[1] + AvgPrice = info[2] + Intelligence = info[3] + Popularity = info[4] + if Type == 'Toy': + chart.add(BreedName, float(Intelligence)) + chart.render() + main() + + +main() diff --git a/lib/tasks/project_components/persuasive_data_presentation_dogs_example/mercator.jpeg b/lib/tasks/project_components/persuasive_data_presentation_dogs_example/mercator.jpeg new file mode 100644 index 00000000..c964a51d Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_dogs_example/mercator.jpeg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_dogs_example/mercator_bw.png b/lib/tasks/project_components/persuasive_data_presentation_dogs_example/mercator_bw.png new file mode 100644 index 00000000..2123563e Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_dogs_example/mercator_bw.png differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_dogs_example/project_config.yml b/lib/tasks/project_components/persuasive_data_presentation_dogs_example/project_config.yml new file mode 100644 index 00000000..459eff0e --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_dogs_example/project_config.yml @@ -0,0 +1,17 @@ +NAME: "Persuasive Data Presentation: Toy Dog Analysis" +IDENTIFIER: "data-dogs-example" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "dog_breed_characteristics" + extension: "csv" + location: "dog_breed_characteristics.csv" + index: 1 + default: false + +IMAGES: + - "mercator.jpeg" + - "mercator_bw.png" diff --git a/lib/tasks/project_components/persuasive_data_presentation_dogs_starter/dog_breed_characteristics.csv b/lib/tasks/project_components/persuasive_data_presentation_dogs_starter/dog_breed_characteristics.csv new file mode 100644 index 00000000..b7255539 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_dogs_starter/dog_breed_characteristics.csv @@ -0,0 +1,147 @@ +Affenpinscher,Toy,1000,37,147 +Afghan Hound,Sporting,2250,79,93 +Airedale Terrier,Terrier,700,29,55 +Akita,Working,1000,54,47 +Alaskan Malamute,Working,1350,50,59 +American Staffordshire Terrier,Terrier,900,34,83 +American Water Spaniel,Sporting,900,44,167 +Australian Cattle Dog/Blue Heeler,Herding,600,10,56 +Australian Shepherd,Terrier,700,42,17 +Australian Terrier,Terrier,1250,34,137 +Basenji,Hound,1100,78,84 +Basset Hound,Hound,400,71,39 +Beagle,Hound,650,72,6 +Bearded Collie,Herding,1300,34,125 +Bedlington Terrier,Terrier,1900,40,151 +Belgian Shepherd Dog Sheepdog,Herding,1300,15,120 +Belgian Shepherd Tervuren,Herding,1350,14,103 +Bernese Mountain Dog,Working,900,22,25 +Bichon Frise,Non Sporting,850,45,46 +Black and Tan Coonhound,Hound,350,44,130 +Black Labrador Retriever,Sporting,1500,7,1 +Bloodhound,Hound,1000,74,50 +Border Collie,Herding,700,1,38 +Border Terrier,Terrier,1300,30,92 +Borzoi,Hound,1100,75,102 +Boston Terrier,Non Sporting,750,54,21 +Bouvier des Flanders,Herding,1750,29,85 +Boxer,Working,900,49,11 +Briard,Herding,1100,30,127 +Brittany Spaniel,Sporting,750,19,26 +Bull Terrier,Terrier,1350,66,60 +Bullmastiff,Working,1350,69,51 +Cairn Terrier,Terrier,850,35,69 +Cattle Dog,Herding,600,10,56 +Cavalier King Charles Spaniel,Toy,1350,44,19 +Chesapeake Bay Retriever,Sporting,800,27,43 +Chihuahua,Toy,700,67,32 +Chinese Crested Dog,Toy,900,61,79 +Chocolate Labrador Retriever,Sporting,1500,7,1 +Chow Chow,Non Sporting,700,76,76 +Clumber Spaniel,Sporting,1000,37,140 +Cocker Spaniel,Sporting,700,20,29 +Collie,Herding,500,16,40 +Coonhound,Hound,350,44,130 +Corgi,Herding,1100,26,68 +Curly-Coated Retriever,Sporting,700,41,171 +Dachshund,Hound,600,49,13 +Dalmatian,Non Sporting,800,39,63 +Dandi Dinmont Terrier,Terrier,1500,62,182 +Doberman Pinscher,Working,900,5,16 +English Bulldog,Non Sporting,1600,77,5 +English Cocker Spaniel,Sporting,1050,18,52 +English Pointer,Sporting,450,43,113 +English Setter,Sporting,500,37,95 +English Springer Spaniel,Sporting,750,13,27 +Field Spaniel,Sporting,900,34,145 +Finnish Spitz,Non Sporting,600,43,177 +Flat-coated Retriever,Sporting,1100,18,96 +Fox Terrier,Terrier,850,40,122 +Foxhound,Hound,500,46,187 +French Bulldog,Non Sporting,3000,58,4 +German Shepherd Dog,Herding,1400,3,2 +German Shorthaired Pointer,Working,700,17,10 +German Wirehaired Pointer,Sporting,800,44,62 +Giant Schnauzer,Working,1250,28,80 +Golden Retriever,Sporting,1500,4,3 +Gordon Setter,Sporting,900,34,104 +Great Dane,Working,1000,48,14 +Great Pyrenees,Working,800,64,66 +Greyhound,Hound,650,46,156 +Hound,Hound,500,46,187 +Husky,Working,950,45,12 +Ibizan Hound,Hound,1000,53,165 +Irish Setter,Sporting,900,35,72 +Irish Terrier,Terrier,700,53,114 +Irish Water Spaniel,Sporting,900,24,164 +Irish Wolfhound,Hound,1900,41,73 +Italian Greyhound,Toy,900,60,74 +Japanese Chin,Toy,400,62,108 +Keeshond,Non Sporting,900,16,87 +Kerry Blue Terrier,Terrier,550,35,129 +Kuvasz,Working,1350,42,157 +Labrador Retriever,Sporting,1500,7,1 +Lakeland Terrier,Terrier,1500,62,138 +Lhasa Apso,Non Sporting,600,68,77 +Maltese,Toy,700,59,33 +Manchester Terrier,Terrier,800,32,135 +Mastiff,Working,1350,72,28 +Miniature Pinscher,Toy,500,37,71 +Mountain Dog,Working,900,22,25 +Newfoundland Dog,Working,1750,34,36 +Norfolk Terrier,Terrier,2250,56,128 +Norwegian Elkhound,Hound,600,36,91 +Norwich Terrier,Terrier,1700,38,105 +Old English Sheepdog,Herding,1350,63,70 +Otterhound,Hound,550,46,186 +Papillon,Toy,500,8,53 +Pekingese,Toy,700,73,88 +Petit Basset Griffon Vendeen,Hound,1400,62,160 +Pharaoh Hound,Hound,1900,37,174 +Pointer,Sporting,450,43,113 +Pomeranian,Toy,700,23,22 +Poodle,Non Sporting,1250,2,7 +Standard Poodle,Non Sporting,1250,2,7 +Pug,Toy,400,57,31 +Puli,Herding,1100,27,142 +Retriever,Sporting,1500,4,3 +Rhodesian Ridgeback,Hound,1150,52,41 +Rottweiler,Working,1600,9,8 +Saint Bernard,Working,1650,65,48 +Saluki,Hound,700,43,123 +Samoyed,Working,1350,33,57 +Schipperke,Non Sporting,800,15,110 +Schnauzer,Working,1350,18,90 +Scottish Deerhound,Hound,1100,47,168 +Scottish Terrier Scottie,Terrier,900,65,58 +Sealyham Terrier,Terrier,900,56,150 +Setter,Sporting,500,37,95 +Shar Pei,Non Sporting,1100,51,64 +Sheep Dog,Herding,1350,63,70 +Shepherd,Herding,1400,3,2 +Shetland Sheepdog Sheltie,Herding,900,6,24 +Shih Tzu,Toy,1000,70,20 +Siberian Husky,Working,950,45,12 +Silky Terrier,Toy,700,37,106 +Skye Terrier,Terrier,800,55,172 +Smooth Fox Terrier,Terrier,850,40,122 +Spaniel,Sporting,700,20,29 +Staffordshire Bull Terrier,Terrier,1750,49,82 +Terrier,Terrier,1050,47,42 +Tibetan Spaniel,Non Sporting,900,46,121 +Tibetan Terrier,Non Sporting,1600,62,101 +Weimaraner,Sporting,1750,21,34 +Welsh Corgi,Herding,1100,26,68 +Cardigan,Herding,1100,26,68 +Pembroke,Herding,1100,26,68 +Welsh Springer Spaniel,Sporting,1300,31,133 +Welsh Terrier,Terrier,1000,53,109 +West Highland White Terrier Westie,Terrier,1050,47,42 +Wheaten Terrier,Terrier,900,40,49 +Whippet,Hound,1000,51,61 +White German Shepherd,Herding,1400,3,2 +Wire Fox Terrier,Terrier,900,51,99 +Wire-haired Pointing Griffon,Sporting,700,46,65 +Wirehaired Terrier,Terrier,900,51,99 +Yellow Labrador Retriever,Sporting,1500,7,1 +Yorkshire Terrier Yorkie,Toy,800,27,9 diff --git a/lib/tasks/project_components/persuasive_data_presentation_dogs_starter/main.py b/lib/tasks/project_components/persuasive_data_presentation_dogs_starter/main.py new file mode 100644 index 00000000..c766b140 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_dogs_starter/main.py @@ -0,0 +1,3 @@ +#!/bin/python3 + +# Data headings: 0 BreedName, 1 Type, 2 Average Price (American Dollars), 3 Intelligence score, 4 Popularity score US 2017 diff --git a/lib/tasks/project_components/persuasive_data_presentation_dogs_starter/mercator.jpeg b/lib/tasks/project_components/persuasive_data_presentation_dogs_starter/mercator.jpeg new file mode 100644 index 00000000..c964a51d Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_dogs_starter/mercator.jpeg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_dogs_starter/mercator_bw.png b/lib/tasks/project_components/persuasive_data_presentation_dogs_starter/mercator_bw.png new file mode 100644 index 00000000..2123563e Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_dogs_starter/mercator_bw.png differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_dogs_starter/project_config.yml b/lib/tasks/project_components/persuasive_data_presentation_dogs_starter/project_config.yml new file mode 100644 index 00000000..55f53b3f --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_dogs_starter/project_config.yml @@ -0,0 +1,17 @@ +NAME: "Persuasive Data Presentation: Dog Breed Characteristics" +IDENTIFIER: "data-dogs-starter" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "dog_breed_characteristics" + extension: "csv" + location: "dog_breed_characteristics.csv" + index: 1 + default: false + +IMAGES: + - "mercator.jpeg" + - "mercator_bw.png" diff --git a/lib/tasks/project_components/persuasive_data_presentation_happiness_starter/WHI_2019.csv b/lib/tasks/project_components/persuasive_data_presentation_happiness_starter/WHI_2019.csv new file mode 100644 index 00000000..54c0e8f8 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_happiness_starter/WHI_2019.csv @@ -0,0 +1,156 @@ +1,Finland,7.769,1.340,1.587,0.986,0.596,0.153,0.393 +2,Denmark,7.600,1.383,1.573,0.996,0.592,0.252,0.410 +3,Norway,7.554,1.488,1.582,1.028,0.603,0.271,0.341 +4,Iceland,7.494,1.380,1.624,1.026,0.591,0.354,0.118 +5,Netherlands,7.488,1.396,1.522,0.999,0.557,0.322,0.298 +6,Switzerland,7.480,1.452,1.526,1.052,0.572,0.263,0.343 +7,Sweden,7.343,1.387,1.487,1.009,0.574,0.267,0.373 +8,New Zealand,7.307,1.303,1.557,1.026,0.585,0.330,0.380 +9,Canada,7.278,1.365,1.505,1.039,0.584,0.285,0.308 +10,Austria,7.246,1.376,1.475,1.016,0.532,0.244,0.226 +11,Australia,7.228,1.372,1.548,1.036,0.557,0.332,0.290 +12,Costa Rica,7.167,1.034,1.441,0.963,0.558,0.144,0.093 +13,Israel,7.139,1.276,1.455,1.029,0.371,0.261,0.082 +14,Luxembourg,7.090,1.609,1.479,1.012,0.526,0.194,0.316 +15,United Kingdom,7.054,1.333,1.538,0.996,0.450,0.348,0.278 +16,Ireland,7.021,1.499,1.553,0.999,0.516,0.298,0.310 +17,Germany,6.985,1.373,1.454,0.987,0.495,0.261,0.265 +18,Belgium,6.923,1.356,1.504,0.986,0.473,0.160,0.210 +19,United States,6.892,1.433,1.457,0.874,0.454,0.280,0.128 +20,Czech Republic,6.852,1.269,1.487,0.920,0.457,0.046,0.036 +21,United Arab Emirates,6.825,1.503,1.310,0.825,0.598,0.262,0.182 +22,Malta,6.726,1.300,1.520,0.999,0.564,0.375,0.151 +23,Mexico,6.595,1.070,1.323,0.861,0.433,0.074,0.073 +24,France,6.592,1.324,1.472,1.045,0.436,0.111,0.183 +25,Taiwan,6.446,1.368,1.430,0.914,0.351,0.242,0.097 +26,Chile,6.444,1.159,1.369,0.920,0.357,0.187,0.056 +27,Guatemala,6.436,0.800,1.269,0.746,0.535,0.175,0.078 +28,Saudi Arabia,6.375,1.403,1.357,0.795,0.439,0.080,0.132 +29,Qatar,6.374,1.684,1.313,0.871,0.555,0.220,0.167 +30,Spain,6.354,1.286,1.484,1.062,0.362,0.153,0.079 +31,Panama,6.321,1.149,1.442,0.910,0.516,0.109,0.054 +32,Brazil,6.300,1.004,1.439,0.802,0.390,0.099,0.086 +33,Uruguay,6.293,1.124,1.465,0.891,0.523,0.127,0.150 +34,Singapore,6.262,1.572,1.463,1.141,0.556,0.271,0.453 +35,El Salvador,6.253,0.794,1.242,0.789,0.430,0.093,0.074 +36,Italy,6.223,1.294,1.488,1.039,0.231,0.158,0.030 +37,Bahrain,6.199,1.362,1.368,0.871,0.536,0.255,0.110 +38,Slovakia,6.198,1.246,1.504,0.881,0.334,0.121,0.014 +39,Trinidad & Tobago,6.192,1.231,1.477,0.713,0.489,0.185,0.016 +40,Poland,6.182,1.206,1.438,0.884,0.483,0.117,0.050 +41,Uzbekistan,6.174,0.745,1.529,0.756,0.631,0.322,0.240 +42,Lithuania,6.149,1.238,1.515,0.818,0.291,0.043,0.042 +43,Colombia,6.125,0.985,1.410,0.841,0.470,0.099,0.034 +44,Slovenia,6.118,1.258,1.523,0.953,0.564,0.144,0.057 +45,Nicaragua,6.105,0.694,1.325,0.835,0.435,0.200,0.127 +46,Kosovo,6.100,0.882,1.232,0.758,0.489,0.262,0.006 +47,Argentina,6.086,1.092,1.432,0.881,0.471,0.066,0.050 +48,Romania,6.070,1.162,1.232,0.825,0.462,0.083,0.005 +49,Cyprus,6.046,1.263,1.223,1.042,0.406,0.190,0.041 +50,Ecuador,6.028,0.912,1.312,0.868,0.498,0.126,0.087 +51,Kuwait,6.021,1.500,1.319,0.808,0.493,0.142,0.097 +52,Thailand,6.008,1.050,1.409,0.828,0.557,0.359,0.028 +53,Latvia,5.940,1.187,1.465,0.812,0.264,0.075,0.064 +54,South Korea,5.895,1.301,1.219,1.036,0.159,0.175,0.056 +55,Estonia,5.893,1.237,1.528,0.874,0.495,0.103,0.161 +56,Jamaica,5.890,0.831,1.478,0.831,0.490,0.107,0.028 +57,Mauritius,5.888,1.120,1.402,0.798,0.498,0.215,0.060 +58,Japan,5.886,1.327,1.419,1.088,0.445,0.069,0.140 +59,Honduras,5.860,0.642,1.236,0.828,0.507,0.246,0.078 +60,Kazakhstan,5.809,1.173,1.508,0.729,0.410,0.146,0.096 +61,Bolivia,5.779,0.776,1.209,0.706,0.511,0.137,0.064 +62,Hungary,5.758,1.201,1.410,0.828,0.199,0.081,0.020 +63,Paraguay,5.743,0.855,1.475,0.777,0.514,0.184,0.080 +64,Northern Cyprus,5.718,1.263,1.252,1.042,0.417,0.191,0.162 +65,Peru,5.697,0.960,1.274,0.854,0.455,0.083,0.027 +66,Portugal,5.693,1.221,1.431,0.999,0.508,0.047,0.025 +67,Pakistan,5.653,0.677,0.886,0.535,0.313,0.220,0.098 +68,Russia,5.648,1.183,1.452,0.726,0.334,0.082,0.031 +69,Philippines,5.631,0.807,1.293,0.657,0.558,0.117,0.107 +70,Serbia,5.603,1.004,1.383,0.854,0.282,0.137,0.039 +71,Moldova,5.529,0.685,1.328,0.739,0.245,0.181,0.000 +72,Libya,5.525,1.044,1.303,0.673,0.416,0.133,0.152 +73,Montenegro,5.523,1.051,1.361,0.871,0.197,0.142,0.080 +74,Tajikistan,5.467,0.493,1.098,0.718,0.389,0.230,0.144 +75,Croatia,5.432,1.155,1.266,0.914,0.296,0.119,0.022 +76,Hong Kong,5.430,1.438,1.277,1.122,0.440,0.258,0.287 +77,Dominican Republic,5.425,1.015,1.401,0.779,0.497,0.113,0.101 +78,Bosnia and Herzegovina,5.386,0.945,1.212,0.845,0.212,0.263,0.006 +79,Turkey,5.373,1.183,1.360,0.808,0.195,0.083,0.106 +80,Malaysia,5.339,1.221,1.171,0.828,0.508,0.260,0.024 +81,Belarus,5.323,1.067,1.465,0.789,0.235,0.094,0.142 +82,Greece,5.287,1.181,1.156,0.999,0.067,0.000,0.034 +83,Mongolia,5.285,0.948,1.531,0.667,0.317,0.235,0.038 +84,North Macedonia,5.274,0.983,1.294,0.838,0.345,0.185,0.034 +85,Nigeria,5.265,0.696,1.111,0.245,0.426,0.215,0.041 +86,Kyrgyzstan,5.261,0.551,1.438,0.723,0.508,0.300,0.023 +87,Turkmenistan,5.247,1.052,1.538,0.657,0.394,0.244,0.028 +88,Algeria,5.211,1.002,1.160,0.785,0.086,0.073,0.114 +89,Morocco,5.208,0.801,0.782,0.782,0.418,0.036,0.076 +90,Azerbaijan,5.208,1.043,1.147,0.769,0.351,0.035,0.182 +91,Lebanon,5.197,0.987,1.224,0.815,0.216,0.166,0.027 +92,Indonesia,5.192,0.931,1.203,0.660,0.491,0.498,0.028 +93,China,5.191,1.029,1.125,0.893,0.521,0.058,0.100 +94,Vietnam,5.175,0.741,1.346,0.851,0.543,0.147,0.073 +95,Bhutan,5.082,0.813,1.321,0.604,0.457,0.370,0.167 +96,Cameroon,5.044,0.549,0.910,0.331,0.381,0.187,0.037 +97,Bulgaria,5.011,1.092,1.513,0.815,0.311,0.081,0.004 +98,Ghana,4.996,0.611,0.868,0.486,0.381,0.245,0.040 +99,Ivory Coast,4.944,0.569,0.808,0.232,0.352,0.154,0.090 +100,Nepal,4.913,0.446,1.226,0.677,0.439,0.285,0.089 +101,Jordan,4.906,0.837,1.225,0.815,0.383,0.110,0.130 +102,Benin,4.883,0.393,0.437,0.397,0.349,0.175,0.082 +103,Congo (Brazzaville),4.812,0.673,0.799,0.508,0.372,0.105,0.093 +104,Gabon,4.799,1.057,1.183,0.571,0.295,0.043,0.055 +105,Laos,4.796,0.764,1.030,0.551,0.547,0.266,0.164 +106,South Africa,4.722,0.960,1.351,0.469,0.389,0.130,0.055 +107,Albania,4.719,0.947,0.848,0.874,0.383,0.178,0.027 +108,Venezuela,4.707,0.960,1.427,0.805,0.154,0.064,0.047 +109,Cambodia,4.700,0.574,1.122,0.637,0.609,0.232,0.062 +110,Palestinian Territories,4.696,0.657,1.247,0.672,0.225,0.103,0.066 +111,Senegal,4.681,0.450,1.134,0.571,0.292,0.153,0.072 +112,Somalia,4.668,0.000,0.698,0.268,0.559,0.243,0.270 +113,Namibia,4.639,0.879,1.313,0.477,0.401,0.070,0.056 +114,Niger,4.628,0.138,0.774,0.366,0.318,0.188,0.102 +115,Burkina Faso,4.587,0.331,1.056,0.380,0.255,0.177,0.113 +116,Armenia,4.559,0.850,1.055,0.815,0.283,0.095,0.064 +117,Iran,4.548,1.100,0.842,0.785,0.305,0.270,0.125 +118,Guinea,4.534,0.380,0.829,0.375,0.332,0.207,0.086 +119,Georgia,4.519,0.886,0.666,0.752,0.346,0.043,0.164 +120,Gambia,4.516,0.308,0.939,0.428,0.382,0.269,0.167 +121,Kenya,4.509,0.512,0.983,0.581,0.431,0.372,0.053 +122,Mauritania,4.490,0.570,1.167,0.489,0.066,0.106,0.088 +123,Mozambique,4.466,0.204,0.986,0.390,0.494,0.197,0.138 +124,Tunisia,4.461,0.921,1.000,0.815,0.167,0.059,0.055 +125,Bangladesh,4.456,0.562,0.928,0.723,0.527,0.166,0.143 +126,Iraq,4.437,1.043,0.980,0.574,0.241,0.148,0.089 +127,Congo (Kinshasa),4.418,0.094,1.125,0.357,0.269,0.212,0.053 +128,Mali,4.390,0.385,1.105,0.308,0.327,0.153,0.052 +129,Sierra Leone,4.374,0.268,0.841,0.242,0.309,0.252,0.045 +130,Sri Lanka,4.366,0.949,1.265,0.831,0.470,0.244,0.047 +131,Myanmar,4.360,0.710,1.181,0.555,0.525,0.566,0.172 +132,Chad,4.350,0.350,0.766,0.192,0.174,0.198,0.078 +133,Ukraine,4.332,0.820,1.390,0.739,0.178,0.187,0.010 +134,Ethiopia,4.286,0.336,1.033,0.532,0.344,0.209,0.100 +135,Swaziland,4.212,0.811,1.149,0.000,0.313,0.074,0.135 +136,Uganda,4.189,0.332,1.069,0.443,0.356,0.252,0.060 +137,Egypt,4.166,0.913,1.039,0.644,0.241,0.076,0.067 +138,Zambia,4.107,0.578,1.058,0.426,0.431,0.247,0.087 +139,Togo,4.085,0.275,0.572,0.410,0.293,0.177,0.085 +140,India,4.015,0.755,0.765,0.588,0.498,0.200,0.085 +141,Liberia,3.975,0.073,0.922,0.443,0.370,0.233,0.033 +142,Comoros,3.973,0.274,0.757,0.505,0.142,0.275,0.078 +143,Madagascar,3.933,0.274,0.916,0.555,0.148,0.169,0.041 +144,Lesotho,3.802,0.489,1.169,0.168,0.359,0.107,0.093 +145,Burundi,3.775,0.046,0.447,0.380,0.220,0.176,0.180 +146,Zimbabwe,3.663,0.366,1.114,0.433,0.361,0.151,0.089 +147,Haiti,3.597,0.323,0.688,0.449,0.026,0.419,0.110 +148,Botswana,3.488,1.041,1.145,0.538,0.455,0.025,0.100 +149,Syria,3.462,0.619,0.378,0.440,0.013,0.331,0.141 +150,Malawi,3.410,0.191,0.560,0.495,0.443,0.218,0.089 +151,Yemen,3.380,0.287,1.163,0.463,0.143,0.108,0.077 +152,Rwanda,3.334,0.359,0.711,0.614,0.555,0.217,0.411 +153,Tanzania,3.231,0.476,0.885,0.499,0.417,0.276,0.147 +154,Afghanistan,3.203,0.350,0.517,0.361,0.000,0.158,0.025 +155,Central African Republic,3.083,0.026,0.000,0.105,0.225,0.235,0.035 +156,South Sudan,2.853,0.306,0.575,0.295,0.010,0.202,0.091 diff --git a/lib/tasks/project_components/persuasive_data_presentation_happiness_starter/main.py b/lib/tasks/project_components/persuasive_data_presentation_happiness_starter/main.py new file mode 100644 index 00000000..ad233581 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_happiness_starter/main.py @@ -0,0 +1,3 @@ +#!/bin/python3 + +# Data headings: 0 Overall rank, 1 Country or region, 2 Score, 3 GDP per capita, 4 Social support, 5 Healthy life expectancy, 6 Freedom to make life choices, 7 Generosity, 8 Perceptions of corruption diff --git a/lib/tasks/project_components/persuasive_data_presentation_happiness_starter/project_config.yml b/lib/tasks/project_components/persuasive_data_presentation_happiness_starter/project_config.yml new file mode 100644 index 00000000..1429dc50 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_happiness_starter/project_config.yml @@ -0,0 +1,13 @@ +NAME: "Persuasive Data Presentation: World Happiness Index" +IDENTIFIER: "data-happiness-starter" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "WHI_2019" + extension: "csv" + location: "WHI_2019.csv" + index: 1 + default: false diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_example/be.jpg b/lib/tasks/project_components/persuasive_data_presentation_iss_example/be.jpg new file mode 100644 index 00000000..183159d3 Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_iss_example/be.jpg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_example/ca.jpg b/lib/tasks/project_components/persuasive_data_presentation_iss_example/ca.jpg new file mode 100644 index 00000000..0820ee03 Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_iss_example/ca.jpg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_example/fr.jpg b/lib/tasks/project_components/persuasive_data_presentation_iss_example/fr.jpg new file mode 100644 index 00000000..6c001870 Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_iss_example/fr.jpg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_example/gb.jpg b/lib/tasks/project_components/persuasive_data_presentation_iss_example/gb.jpg new file mode 100644 index 00000000..3af0a1d6 Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_iss_example/gb.jpg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_example/gm.jpg b/lib/tasks/project_components/persuasive_data_presentation_iss_example/gm.jpg new file mode 100644 index 00000000..42076125 Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_iss_example/gm.jpg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_example/iss-expedition-data.csv b/lib/tasks/project_components/persuasive_data_presentation_iss_example/iss-expedition-data.csv new file mode 100644 index 00000000..b75e25a0 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_iss_example/iss-expedition-data.csv @@ -0,0 +1,344 @@ +1,United States of America,William Shepherd,31/10/2000 +1,Russia,Sergei Krikalev,31/10/2000 +1,Russia,Yuri Gidzenko,31/10/2000 +2,Russia,Yury Usachov,08/03/2001 +2,United States of America,James S. Voss,08/03/2001 +2,United States of America,Susan Helms,08/03/2001 +3,United States of America,Frank L. Culbertson Jr.,10/08/2001 +3,Russia,Mikhail Tyurin,10/08/2001 +3,Russia,Vladimir Dezhurov,10/08/2001 +4,Russia,Yury Onufriyenko,05/12/2001 +4,United States of America,Carl E. Walz,05/12/2001 +4,United States of America,Daniel W. Bursch,05/12/2001 +5,Russia,Valery Korzun,05/06/2002 +5,Russia,Sergei Treshchov,05/06/2002 +5,United States of America,Peggy Whitson,05/06/2002 +6,United States of America,Ken Bowersox,24/11/2002 +6,United States of America,Donald Pettit,24/11/2002 +6,Russia,Nikolai Budarin,24/11/2002 +7,Russia,Yuri Malenchenko,26/04/2003 +7,United States of America,Ed Lu,26/04/2003 +8,United States of America,Michael Foale,18/10/2003 +8,Russia,Aleksandr Kaleri,18/10/2003 +9,Russia,Gennady Padalka,19/04/2004 +9,United States of America,Michael Fincke,19/04/2004 +10,United States of America,Leroy Chiao,24/10/2004 +10,Russia,Salizhan Sharipov,24/10/2004 +11,Russia,Sergei Krikalev,15/04/2005 +11,United States of America,John L. Phillips,15/04/2005 +12,United States of America,William S. McArthur,01/10/2005 +12,Russia,Valeri Tokarev,01/10/2005 +13,Russia,Pavel Vinogradov,30/03/2006 +13,United States of America,Jeffrey Williams,30/03/2006 +13,Germany,Thomas Reiter,30/03/2006 +14,United States of America,Michael Lpez-Alegra,18/09/2006 +14,Russia,Mikhail Tyurin,18/09/2006 +14,Germany,Thomas Reiter,18/09/2006 +14,United States of America,Sunita Williams,18/09/2006 +15,Russia,Fyodor Yurchikhin,07/04/2007 +15,Russia,Oleg Kotov,07/04/2007 +15,United States of America,Sunita Williams,07/04/2007 +15,United States of America,Clayton Anderson,07/04/2007 +16,United States of America,Peggy Whitson,10/10/2007 +16,Russia,Yuri Malenchenko,10/10/2007 +16,United States of America,Clayton Anderson,10/10/2007 +16,United States of America,Daniel M. Tani,10/10/2007 +16,France,Lopold Eyharts,10/10/2007 +16,United States of America,Garrett Reisman,10/10/2007 +17,Russia,Sergey Volkov,08/04/2008 +17,Russia,Oleg Kononenko,08/04/2008 +17,United States of America,Garrett Reisman,08/04/2008 +17,United States of America,Gregory Chamitoff,08/04/2008 +18,United States of America,Michael Fincke,12/10/2008 +18,Russia,Yury Lonchakov,12/10/2008 +18,United States of America,Gregory Chamitoff,12/10/2008 +18,United States of America,Sandra Magnus,12/10/2008 +18,Japan,Koichi Wakata,12/10/2008 +19,Russia,Gennady Padalka,26/03/2009 +19,United States of America,Michael Barratt,26/03/2009 +19,Japan,Koichi Wakata,26/03/2009 +20,Russia,Gennady Padalka,15/07/2009 +20,United States of America,Michael Barratt,15/07/2009 +20,Japan,Koichi Wakata,15/07/2009 +20,United States of America,Timothy Kopra,15/07/2009 +20,Belgium,Frank De Winne,15/07/2009 +20,Russia,Roman Romanenko,15/07/2009 +20,Canada,Robert Thirsk,15/07/2009 +20,United States of America,Nicole Stott,15/07/2009 +21,Belgium,Frank De Winne,30/09/2009 +21,Russia,Roman Romanenko,30/09/2009 +21,Canada,Robert Thirsk,30/09/2009 +21,United States of America,Nicole Stott,30/09/2009 +21,United States of America,Jeffrey Williams,30/09/2009 +21,Russia,Maksim Surayev,30/09/2009 +22,United States of America,Jeffrey Williams,20/12/2009 +22,Russia,Maksim Surayev,20/12/2009 +22,Russia,Oleg Kotov,20/12/2009 +22,United States of America,Timothy Creamer,20/12/2009 +22,Japan,Soichi Noguchi,20/12/2009 +23,Russia,Oleg Kotov,02/04/2010 +23,United States of America,Timothy Creamer,02/04/2010 +23,Japan,Soichi Noguchi,02/04/2010 +23,Russia,Aleksandr Skvortsov,02/04/2010 +23,Russia,Mikhail Kornienko,02/04/2010 +23,United States of America,Tracy Caldwell Dyson,02/04/2010 +24,Russia,Aleksandr Skvortsov,15/06/2010 +24,Russia,Mikhail Kornienko,15/06/2010 +24,United States of America,Tracy Caldwell Dyson,15/06/2010 +24,United States of America,Douglas H. Wheelock,15/06/2010 +24,United States of America,Shannon Walker,15/06/2010 +24,Russia,Fyodor Yurchikhin,15/06/2010 +25,United States of America,Douglas H. Wheelock,07/10/2010 +25,United States of America,Shannon Walker,07/10/2010 +25,Russia,Fyodor Yurchikhin,07/10/2010 +25,United States of America,Scott Kelly,07/10/2010 +25,Russia,Aleksandr Kaleri,07/10/2010 +25,Russia,Oleg Skripochka,07/10/2010 +26,United States of America,Scott Kelly,15/12/2010 +26,Russia,Aleksandr Kaleri,15/12/2010 +26,Russia,Oleg Skripochka,15/12/2010 +26,Russia,Dmitri Kondratyev,15/12/2010 +26,United States of America,Catherine Coleman,15/12/2010 +26,Italy,Paolo Nespoli,15/12/2010 +27,Russia,Dmitri Kondratyev,04/04/2011 +27,United States of America,Catherine Coleman,04/04/2011 +27,Italy,Paolo Nespoli,04/04/2011 +27,Russia,Andrei Borisenko,04/04/2011 +27,Russia,Aleksandr Samokutyayev,04/04/2011 +27,United States of America,Ronald J. Garan Jr.,04/04/2011 +28,Russia,Andrei Borisenko,07/06/2011 +28,Russia,Aleksandr Samokutyayev,07/06/2011 +28,United States of America,Ronald J. Garan Jr.,07/06/2011 +28,United States of America,Michael E. Fossum,07/06/2011 +28,Russia,Sergey Volkov,07/06/2011 +28,Japan,Satoshi Furukawa,07/06/2011 +29,United States of America,Michael E. Fossum,14/11/2011 +29,Russia,Sergey Volkov,14/11/2011 +29,Japan,Satoshi Furukawa,14/11/2011 +29,United States of America,Daniel C. Burbank,14/11/2011 +29,Russia,Anton Shkaplerov,14/11/2011 +29,Russia,Anatoli Ivanishin,14/11/2011 +30,United States of America,Daniel C. Burbank,21/12/2011 +30,Russia,Anton Shkaplerov,21/12/2011 +30,Russia,Anatoli Ivanishin,21/12/2011 +30,Russia,Oleg Kononenko,21/12/2011 +30,United States of America,Donald Pettit,21/12/2011 +30,Netherlands,Andre Kuipers,21/12/2011 +31,Russia,Oleg Kononenko,15/05/2012 +31,United States of America,Donald Pettit,15/05/2012 +31,Netherlands,Andre Kuipers,15/05/2012 +31,Russia,Gennady Padalka,15/05/2012 +31,Russia,Sergei Revin,15/05/2012 +31,United States of America,Joseph M. Acaba,15/05/2012 +32,Russia,Gennady Padalka,15/07/2012 +32,Russia,Sergei Revin,15/07/2012 +32,United States of America,Joseph M. Acaba,15/07/2012 +32,United States of America,Sunita Williams,15/07/2012 +32,Russia,Yuri Malenchenko,15/07/2012 +32,Japan,Akihiko Hoshide,15/07/2012 +33,United States of America,Sunita Williams,23/10/2012 +33,Russia,Yuri Malenchenko,23/10/2012 +33,Japan,Akihiko Hoshide,23/10/2012 +33,United States of America,Kevin A. Ford,23/10/2012 +33,Russia,Oleg Novitsky,23/10/2012 +33,Russia,Evgeny Tarelkin,23/10/2012 +34,United States of America,Kevin A. Ford,19/12/2012 +34,Russia,Oleg Novitsky,19/12/2012 +34,Russia,Evgeny Tarelkin,19/12/2012 +34,Canada,Chris Hadfield,19/12/2012 +34,Russia,Roman Romanenko,19/12/2012 +34,United States of America,Thomas Marshburn,19/12/2012 +35,Canada,Chris Hadfield,28/03/2013 +35,Russia,Roman Romanenko,28/03/2013 +35,United States of America,Thomas Marshburn,28/03/2013 +35,Russia,Pavel Vinogradov,28/03/2013 +35,Russia,Alexander Misurkin,28/03/2013 +35,United States of America,Christopher Cassidy,28/03/2013 +36,Russia,Pavel Vinogradov,28/05/2013 +36,Russia,Alexander Misurkin,28/05/2013 +36,United States of America,Christopher Cassidy,28/05/2013 +36,Russia,Fyodor Yurchikhin,28/05/2013 +36,United States of America,Karen Nyberg,28/05/2013 +36,Italy,Luca Parmitano,28/05/2013 +37,Russia,Fyodor Yurchikhin,25/09/2013 +37,United States of America,Karen Nyberg,25/09/2013 +37,Italy,Luca Parmitano,25/09/2013 +37,Russia,Oleg Kotov,25/09/2013 +37,Russia,Sergey Ryazansky,25/09/2013 +37,United States of America,Michael S. Hopkins,25/09/2013 +38,Russia,Oleg Kotov,06/11/2013 +38,Russia,Sergey Ryazansky,06/11/2013 +38,United States of America,Michael S. Hopkins,06/11/2013 +38,Japan,Koichi Wakata,06/11/2013 +38,Russia,Mikhail Tyurin,06/11/2013 +38,United States of America,Richard Mastracchio,06/11/2013 +39,Japan,Koichi Wakata,25/03/2014 +39,Russia,Mikhail Tyurin,25/03/2014 +39,United States of America,Richard Mastracchio,25/03/2014 +39,Russia,Aleksandr Skvortsov,25/03/2014 +39,Russia,Oleg Artemyev,25/03/2014 +39,United States of America,Steven Swanson,25/03/2014 +40,United States of America,Steven Swanson,28/05/2014 +40,Russia,Aleksandr Skvortsov,28/05/2014 +40,Russia,Oleg Artemyev,28/05/2014 +40,United States of America,Gregory R. Wiseman,28/05/2014 +40,Russia,Maksim Surayev,28/05/2014 +40,Germany,Alexander Gerst,28/05/2014 +41,Russia,Maksim Surayev,25/09/2014 +41,United States of America,Gregory R. Wiseman,25/09/2014 +41,Germany,Alexander Gerst,25/09/2014 +41,Russia,Aleksandr Samokutyayev,25/09/2014 +41,Russia,Yelena Serova,25/09/2014 +41,United States of America,Barry E. Wilmore,25/09/2014 +42,United States of America,Barry E. Wilmore,23/11/2014 +42,Russia,Aleksandr Samokutyayev,23/11/2014 +42,Russia,Yelena Serova,23/11/2014 +42,Russia,Anton Shkaplerov,23/11/2014 +42,Italy,Samantha Cristoforetti,23/11/2014 +42,United States of America,Terry W. Virts,23/11/2014 +43,United States of America,Terry W. Virts,27/03/2015 +43,Russia,Anton Shkaplerov,27/03/2015 +43,Italy,Samantha Cristoforetti,27/03/2015 +43,Russia,Gennady Padalka,27/03/2015 +43,Russia,Mikhail Kornienko,27/03/2015 +43,United States of America,Scott Kelly,27/03/2015 +44,Russia,Gennady Padalka,22/07/2015 +44,Russia,Mikhail Kornienko,22/07/2015 +44,United States of America,Scott Kelly,22/07/2015 +44,Russia,Oleg Kononenko,22/07/2015 +44,Japan,Kimiya Yui,22/07/2015 +44,United States of America,Kjell N. Lindgren,22/07/2015 +45,United States of America,Scott Kelly,02/09/2015 +45,Russia,Mikhail Kornienko,02/09/2015 +45,Russia,Oleg Kononenko,02/09/2015 +45,Japan,Kimiya Yui,02/09/2015 +45,United States of America,Kjell N. Lindgren,02/09/2015 +45,Russia,Sergey Volkov,02/09/2015 +46,United States of America,Scott Kelly,15/12/2015 +46,Russia,Mikhail Kornienko,15/12/2015 +46,Russia,Sergey Volkov,15/12/2015 +46,Russia,Yuri Malenchenko,15/12/2015 +46,United Kingdom,Tim Peake,15/12/2015 +46,United States of America,Timothy Kopra,15/12/2015 +47,United States of America,Timothy Kopra,18/03/2016 +47,United Kingdom,Tim Peake,18/03/2016 +47,Russia,Yuri Malenchenko,18/03/2016 +47,Russia,Aleksey Ovchinin,18/03/2016 +47,Russia,Oleg Skripochka,18/03/2016 +47,United States of America,Jeffrey Williams,18/03/2016 +48,United States of America,Jeffrey Williams,07/07/2016 +48,Russia,Oleg Skripochka,07/07/2016 +48,Russia,Aleksey Ovchinin,07/07/2016 +48,Russia,Anatoli Ivanishin,07/07/2016 +48,Japan,Takuya Onishi,07/07/2016 +48,United States of America,Kathleen Rubins,07/07/2016 +49,Russia,Anatoli Ivanishin,19/10/2016 +49,Japan,Takuya Onishi,19/10/2016 +49,United States of America,Kathleen Rubins,19/10/2016 +49,United States of America,Shane Kimbrough,19/10/2016 +49,Russia,Andrei Borisenko,19/10/2016 +49,Russia,Sergey Ryzhikov,19/10/2016 +50,United States of America,Shane Kimbrough,17/11/2016 +50,Russia,Andrei Borisenko,17/11/2016 +50,Russia,Sergey Ryzhikov,17/11/2016 +50,United States of America,Peggy Whitson,17/11/2016 +50,Russia,Oleg Novitskiy,17/11/2016 +50,France,Thomas Pesquet,17/11/2016 +51,Russia,Oleg Novitsky,20/04/2017 +51,France,Thomas Pesquet,20/04/2017 +51,United States of America,Peggy Whitson,20/04/2017 +51,Russia,Fyodor Yurchikhin,20/04/2017 +51,United States of America,Jack D. Fischer,20/04/2017 +52,Russia,Fyodor Yurchikhin,28/07/2017 +52,United States of America,Jack D. Fischer,28/07/2017 +52,United States of America,Peggy Whitson,28/07/2017 +52,United States of America,Randolph Bresnik,28/07/2017 +52,Italy,Paolo Nespoli,28/07/2017 +52,Russia,Sergey Ryazansky,28/07/2017 +53,United States of America,Randolph Bresnik,12/09/2017 +53,Italy,Paolo Nespoli,12/09/2017 +53,Russia,Sergey Ryazansky,12/09/2017 +53,Russia,Alexander Misurkin,12/09/2017 +53,United States of America,Mark T. Vande Hei,12/09/2017 +53,United States of America,Joseph M. Acaba,12/09/2017 +54,Russia,Alexander Misurkin,17/12/2017 +54,United States of America,Mark T. Vande Hei,17/12/2017 +54,United States of America,Joseph M. Acaba,17/12/2017 +54,Russia,Anton Shkaplerov,17/12/2017 +54,United States of America,Scott D. Tingle,17/12/2017 +54,Japan,Norishige Kanai,17/12/2017 +55,Russia,Anton Shkaplerov,21/03/2018 +55,United States of America,Scott D. Tingle,21/03/2018 +55,Japan,Norishige Kanai,21/03/2018 +55,United States of America,Andrew J. Feustel,21/03/2018 +55,Russia,Oleg Artemyev,21/03/2018 +55,United States of America,Richard R. Arnold,21/03/2018 +56,United States of America,Andrew J. Feustel,06/06/2018 +56,Russia,Oleg Artemyev,06/06/2018 +56,United States of America,Richard R. Arnold,06/06/2018 +56,Germany,Alexander Gerst,06/06/2018 +56,Russia,Sergey Prokopyev,06/06/2018 +56,United States of America,Serena Aunon-Chancellor,06/06/2018 +57,Germany,Alexander Gerst,03/12/2018 +57,Russia,Sergey Prokopyev,03/12/2018 +57,United States of America,Serena Aunon-Chancellor,03/12/2018 +57,Russia,Oleg Kononenko,03/12/2018 +57,Canada,David Saint-Jacques,03/12/2018 +57,United States of America,Anne McClain,03/12/2018 +58,Russia,Oleg Kononenko,14/03/2019 +58,Canada,David Saint-Jacques,14/03/2019 +58,United States of America,Anne McClain,14/03/2019 +59,Russia,Oleg Kononenko,14/03/2019 +59,Canada,David Saint-Jacques,14/03/2019 +59,United States of America,Anne McClain,14/03/2019 +59,Russia,Aleksey Ovchinin,14/03/2019 +59,United States of America,Nick Hague,14/03/2019 +59,United States of America,Christina Koch,14/03/2019 +60,Russia,Aleksey Ovchinin,20/07/2019 +60,United States of America,Nick Hague,20/07/2019 +60,United States of America,Christina Koch,20/07/2019 +60,Russia,Aleksandr Skvortsov,20/07/2019 +60,Italy,Luca Parmitano,20/07/2019 +60,United States of America,Andrew R. Morgan,20/07/2019 +61,Italy,Luca Parmitano,25/09/2019 +61,Russia,Aleksandr Skvortsov,25/09/2019 +61,United States of America,Christina Koch,25/09/2019 +61,United States of America,Andrew R. Morgan,25/09/2019 +61,Russia,Oleg Skripochka,25/09/2019 +61,United States of America,Jessica Meir,25/09/2019 +62,Russia,Oleg Skripochka,09/04/2020 +62,United States of America,Jessica Meir,09/04/2020 +62,United States of America,Andrew R. Morgan,09/04/2020 +62,United States of America,Christopher Cassidy,09/04/2020 +62,Russia,Anatoli Ivanishin,09/04/2020 +62,Russia,Ivan Vagner,09/04/2020 +63,United States of America,Christopher Cassidy,30/05/2020 +63,Russia,Anatoli Ivanishin,30/05/2020 +63,Russia,Ivan Vagner,30/05/2020 +63,United States of America,Doug Hurley,30/05/2020 +63,United States of America,Bob Behnken[24],30/05/2020 +63,Russia,Sergey Ryzhikov,30/05/2020 +63,Russia,Sergey Kud-Sverchkov,30/05/2020 +63,United States of America,Kathleen Rubins,30/05/2020 +64,Russia,Sergey Ryzhikov,16/11/2020 +64,Russia,Sergey Kud-Sverchkov,16/11/2020 +64,United States of America,Kathleen Rubins,16/11/2020 +64,United States of America,Michael Hopkins,16/11/2020 +64,United States of America,Victor Glover,16/11/2020 +64,Japan,Soichi Noguchi,16/11/2020 +64,United States of America,Shannon Walker,16/11/2020 +64,Russia,Oleg Novitsky,16/11/2020 +64,Russia,Pyotr Dubrov,16/11/2020 +64,United States of America,Mark Vande Hei,16/11/2020 +65,United States of America,Shannon Walker,23/04/2021 +65,United States of America,Michael Hopkins,23/04/2021 +65,United States of America,Victor Glover,23/04/2021 +65,Japan,Soichi Noguchi,23/04/2021 +65,Russia,Oleg Novitsky,23/04/2021 +65,Russia,Pyotr Dubrov,23/04/2021 +65,United States of America,Mark Vande Hei,23/04/2021 +65,Japan,Akihiko Hoshide,23/04/2021 +65,United States of America,Shane Kimbrough,23/04/2021 +65,United States of America,K. Megan McArthur,23/04/2021 +65,France,Thomas Pesquet,23/04/2021 +65,Russia,Anton Shkaplerov,23/04/2021 diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_example/iss.jpg b/lib/tasks/project_components/persuasive_data_presentation_iss_example/iss.jpg new file mode 100644 index 00000000..8436854e Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_iss_example/iss.jpg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_example/it.jpg b/lib/tasks/project_components/persuasive_data_presentation_iss_example/it.jpg new file mode 100644 index 00000000..3a9db3a8 Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_iss_example/it.jpg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_example/jp.jpg b/lib/tasks/project_components/persuasive_data_presentation_iss_example/jp.jpg new file mode 100644 index 00000000..d802cc07 Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_iss_example/jp.jpg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_example/main.py b/lib/tasks/project_components/persuasive_data_presentation_iss_example/main.py new file mode 100644 index 00000000..0c126470 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_iss_example/main.py @@ -0,0 +1,123 @@ +#!/bin/python3 +from p5 import * + +def setup(): + + size(400, 400) + global iss, be_flag, ca_flag, fr_flag, uk_flag, gm_flag, it_flag, jp_flag + global ne_flag, ru_flag, us_flag + + iss = load_image('iss.jpg') + be_flag = load_image('be.jpg') + ca_flag = load_image('ca.jpg') + fr_flag = load_image('fr.jpg') + uk_flag = load_image('gb.jpg') + gm_flag = load_image('gm.jpg') + it_flag = load_image('it.jpg') + jp_flag = load_image('jp.jpg') + ne_flag = load_image('ne.jpg') + ru_flag = load_image('ru.jpg') + us_flag = load_image('us.jpg') + + load_data('iss-expedition-data.csv') + + date = (expedition_date(chosen_expedition)) + astronauts = (expedition_astronauts(chosen_expedition)) + countries = (expedition_countries(chosen_expedition)) + + print('Expedition: ' + chosen_expedition) + print('Mission launch date: '+ date + '\n') + print('Astronauts:') + for astronaut in astronauts: + print(astronaut) + + print('\nRepresenting countries:') + for country in countries: + print(country) + +def load_data(file_name): + + # Create a dictionary for each siting based on the data in the csv file + + global expeditions + + expeditions = [] + + with open(file_name) as f: + for line in f: + info = line.strip('\n') + info = info.split(',') + expedition_dict = { + 'expedition number': info[0], + 'representing country': info[1], + 'astronaut': info[2], + 'mission launch date': info[3] + } + expeditions.append(expedition_dict) # Store dictionary in a list + +def expedition_date(number): + + for expedition in expeditions: + if expedition['expedition number'] == number: + date = expedition['mission launch date'] + + return date + +def expedition_astronauts(number): + + astronauts = [] + + for expedition in expeditions: + if expedition['expedition number'] == number: + astronaut = expedition['astronaut'] + astronauts.append(astronaut) + + return astronauts + +def expedition_countries(number): + + countries = [] + + for expedition in expeditions: + if expedition['expedition number'] == number: + country = expedition['representing country'] + if country not in countries: + countries.append(country) + + return countries + +def draw(): + + f_width = 60 + f_height = 35 + + flag_positions = [[45, 145], [130, 60], [210, 310], [300, 220], [300, 70]] + + country_dict = { + 'United States of America' : us_flag, + 'Russia' : ru_flag, + 'Netherlands' : ne_flag, + 'Japan' : jp_flag, + 'Italy' : it_flag, + 'Germany' : gm_flag, + 'United Kingdom' : uk_flag, + 'France' : fr_flag, + 'Canada' : ca_flag, + 'Belgium' : be_flag + } + + image(iss, 0, 0, width, height) + + countries = expedition_countries(chosen_expedition) + + num_countries = len(countries) + + for x in range(num_countries): + flag = countries[x] + flag_image = country_dict[flag] + image(flag_image, flag_positions[x][0], flag_positions[x][1], f_width, f_height) + +print('Choose an ISS expedition. Enter a number from 1 to 65:') +chosen_expedition = input() + +run() diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_example/ne.jpg b/lib/tasks/project_components/persuasive_data_presentation_iss_example/ne.jpg new file mode 100644 index 00000000..5ea86e33 Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_iss_example/ne.jpg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_example/project_config.yml b/lib/tasks/project_components/persuasive_data_presentation_iss_example/project_config.yml new file mode 100644 index 00000000..e3c704d3 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_iss_example/project_config.yml @@ -0,0 +1,26 @@ +NAME: "Persuasive Data Presentation: ISS Expeditions Example" +IDENTIFIER: "data-iss-example" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "iss-expedition-data" + extension: "csv" + location: "iss-expedition-data.csv" + index: 1 + default: false + +IMAGES: + - "be.jpg" + - "ca.jpg" + - "fr.jpg" + - "gb.jpg" + - "gm.jpg" + - "iss.jpg" + - "it.jpg" + - "jp.jpg" + - "ne.jpg" + - "ru.jpg" + - "us.jpg" diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_example/ru.jpg b/lib/tasks/project_components/persuasive_data_presentation_iss_example/ru.jpg new file mode 100644 index 00000000..88d593f0 Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_iss_example/ru.jpg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_example/us.jpg b/lib/tasks/project_components/persuasive_data_presentation_iss_example/us.jpg new file mode 100644 index 00000000..2a9fa472 Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_iss_example/us.jpg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_starter/be.jpg b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/be.jpg new file mode 100644 index 00000000..183159d3 Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/be.jpg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_starter/ca.jpg b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/ca.jpg new file mode 100644 index 00000000..0820ee03 Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/ca.jpg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_starter/fr.jpg b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/fr.jpg new file mode 100644 index 00000000..6c001870 Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/fr.jpg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_starter/gb.jpg b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/gb.jpg new file mode 100644 index 00000000..3af0a1d6 Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/gb.jpg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_starter/gm.jpg b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/gm.jpg new file mode 100644 index 00000000..42076125 Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/gm.jpg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_starter/iss-expedition-data.csv b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/iss-expedition-data.csv new file mode 100644 index 00000000..b75e25a0 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/iss-expedition-data.csv @@ -0,0 +1,344 @@ +1,United States of America,William Shepherd,31/10/2000 +1,Russia,Sergei Krikalev,31/10/2000 +1,Russia,Yuri Gidzenko,31/10/2000 +2,Russia,Yury Usachov,08/03/2001 +2,United States of America,James S. Voss,08/03/2001 +2,United States of America,Susan Helms,08/03/2001 +3,United States of America,Frank L. Culbertson Jr.,10/08/2001 +3,Russia,Mikhail Tyurin,10/08/2001 +3,Russia,Vladimir Dezhurov,10/08/2001 +4,Russia,Yury Onufriyenko,05/12/2001 +4,United States of America,Carl E. Walz,05/12/2001 +4,United States of America,Daniel W. Bursch,05/12/2001 +5,Russia,Valery Korzun,05/06/2002 +5,Russia,Sergei Treshchov,05/06/2002 +5,United States of America,Peggy Whitson,05/06/2002 +6,United States of America,Ken Bowersox,24/11/2002 +6,United States of America,Donald Pettit,24/11/2002 +6,Russia,Nikolai Budarin,24/11/2002 +7,Russia,Yuri Malenchenko,26/04/2003 +7,United States of America,Ed Lu,26/04/2003 +8,United States of America,Michael Foale,18/10/2003 +8,Russia,Aleksandr Kaleri,18/10/2003 +9,Russia,Gennady Padalka,19/04/2004 +9,United States of America,Michael Fincke,19/04/2004 +10,United States of America,Leroy Chiao,24/10/2004 +10,Russia,Salizhan Sharipov,24/10/2004 +11,Russia,Sergei Krikalev,15/04/2005 +11,United States of America,John L. Phillips,15/04/2005 +12,United States of America,William S. McArthur,01/10/2005 +12,Russia,Valeri Tokarev,01/10/2005 +13,Russia,Pavel Vinogradov,30/03/2006 +13,United States of America,Jeffrey Williams,30/03/2006 +13,Germany,Thomas Reiter,30/03/2006 +14,United States of America,Michael Lpez-Alegra,18/09/2006 +14,Russia,Mikhail Tyurin,18/09/2006 +14,Germany,Thomas Reiter,18/09/2006 +14,United States of America,Sunita Williams,18/09/2006 +15,Russia,Fyodor Yurchikhin,07/04/2007 +15,Russia,Oleg Kotov,07/04/2007 +15,United States of America,Sunita Williams,07/04/2007 +15,United States of America,Clayton Anderson,07/04/2007 +16,United States of America,Peggy Whitson,10/10/2007 +16,Russia,Yuri Malenchenko,10/10/2007 +16,United States of America,Clayton Anderson,10/10/2007 +16,United States of America,Daniel M. Tani,10/10/2007 +16,France,Lopold Eyharts,10/10/2007 +16,United States of America,Garrett Reisman,10/10/2007 +17,Russia,Sergey Volkov,08/04/2008 +17,Russia,Oleg Kononenko,08/04/2008 +17,United States of America,Garrett Reisman,08/04/2008 +17,United States of America,Gregory Chamitoff,08/04/2008 +18,United States of America,Michael Fincke,12/10/2008 +18,Russia,Yury Lonchakov,12/10/2008 +18,United States of America,Gregory Chamitoff,12/10/2008 +18,United States of America,Sandra Magnus,12/10/2008 +18,Japan,Koichi Wakata,12/10/2008 +19,Russia,Gennady Padalka,26/03/2009 +19,United States of America,Michael Barratt,26/03/2009 +19,Japan,Koichi Wakata,26/03/2009 +20,Russia,Gennady Padalka,15/07/2009 +20,United States of America,Michael Barratt,15/07/2009 +20,Japan,Koichi Wakata,15/07/2009 +20,United States of America,Timothy Kopra,15/07/2009 +20,Belgium,Frank De Winne,15/07/2009 +20,Russia,Roman Romanenko,15/07/2009 +20,Canada,Robert Thirsk,15/07/2009 +20,United States of America,Nicole Stott,15/07/2009 +21,Belgium,Frank De Winne,30/09/2009 +21,Russia,Roman Romanenko,30/09/2009 +21,Canada,Robert Thirsk,30/09/2009 +21,United States of America,Nicole Stott,30/09/2009 +21,United States of America,Jeffrey Williams,30/09/2009 +21,Russia,Maksim Surayev,30/09/2009 +22,United States of America,Jeffrey Williams,20/12/2009 +22,Russia,Maksim Surayev,20/12/2009 +22,Russia,Oleg Kotov,20/12/2009 +22,United States of America,Timothy Creamer,20/12/2009 +22,Japan,Soichi Noguchi,20/12/2009 +23,Russia,Oleg Kotov,02/04/2010 +23,United States of America,Timothy Creamer,02/04/2010 +23,Japan,Soichi Noguchi,02/04/2010 +23,Russia,Aleksandr Skvortsov,02/04/2010 +23,Russia,Mikhail Kornienko,02/04/2010 +23,United States of America,Tracy Caldwell Dyson,02/04/2010 +24,Russia,Aleksandr Skvortsov,15/06/2010 +24,Russia,Mikhail Kornienko,15/06/2010 +24,United States of America,Tracy Caldwell Dyson,15/06/2010 +24,United States of America,Douglas H. Wheelock,15/06/2010 +24,United States of America,Shannon Walker,15/06/2010 +24,Russia,Fyodor Yurchikhin,15/06/2010 +25,United States of America,Douglas H. Wheelock,07/10/2010 +25,United States of America,Shannon Walker,07/10/2010 +25,Russia,Fyodor Yurchikhin,07/10/2010 +25,United States of America,Scott Kelly,07/10/2010 +25,Russia,Aleksandr Kaleri,07/10/2010 +25,Russia,Oleg Skripochka,07/10/2010 +26,United States of America,Scott Kelly,15/12/2010 +26,Russia,Aleksandr Kaleri,15/12/2010 +26,Russia,Oleg Skripochka,15/12/2010 +26,Russia,Dmitri Kondratyev,15/12/2010 +26,United States of America,Catherine Coleman,15/12/2010 +26,Italy,Paolo Nespoli,15/12/2010 +27,Russia,Dmitri Kondratyev,04/04/2011 +27,United States of America,Catherine Coleman,04/04/2011 +27,Italy,Paolo Nespoli,04/04/2011 +27,Russia,Andrei Borisenko,04/04/2011 +27,Russia,Aleksandr Samokutyayev,04/04/2011 +27,United States of America,Ronald J. Garan Jr.,04/04/2011 +28,Russia,Andrei Borisenko,07/06/2011 +28,Russia,Aleksandr Samokutyayev,07/06/2011 +28,United States of America,Ronald J. Garan Jr.,07/06/2011 +28,United States of America,Michael E. Fossum,07/06/2011 +28,Russia,Sergey Volkov,07/06/2011 +28,Japan,Satoshi Furukawa,07/06/2011 +29,United States of America,Michael E. Fossum,14/11/2011 +29,Russia,Sergey Volkov,14/11/2011 +29,Japan,Satoshi Furukawa,14/11/2011 +29,United States of America,Daniel C. Burbank,14/11/2011 +29,Russia,Anton Shkaplerov,14/11/2011 +29,Russia,Anatoli Ivanishin,14/11/2011 +30,United States of America,Daniel C. Burbank,21/12/2011 +30,Russia,Anton Shkaplerov,21/12/2011 +30,Russia,Anatoli Ivanishin,21/12/2011 +30,Russia,Oleg Kononenko,21/12/2011 +30,United States of America,Donald Pettit,21/12/2011 +30,Netherlands,Andre Kuipers,21/12/2011 +31,Russia,Oleg Kononenko,15/05/2012 +31,United States of America,Donald Pettit,15/05/2012 +31,Netherlands,Andre Kuipers,15/05/2012 +31,Russia,Gennady Padalka,15/05/2012 +31,Russia,Sergei Revin,15/05/2012 +31,United States of America,Joseph M. Acaba,15/05/2012 +32,Russia,Gennady Padalka,15/07/2012 +32,Russia,Sergei Revin,15/07/2012 +32,United States of America,Joseph M. Acaba,15/07/2012 +32,United States of America,Sunita Williams,15/07/2012 +32,Russia,Yuri Malenchenko,15/07/2012 +32,Japan,Akihiko Hoshide,15/07/2012 +33,United States of America,Sunita Williams,23/10/2012 +33,Russia,Yuri Malenchenko,23/10/2012 +33,Japan,Akihiko Hoshide,23/10/2012 +33,United States of America,Kevin A. Ford,23/10/2012 +33,Russia,Oleg Novitsky,23/10/2012 +33,Russia,Evgeny Tarelkin,23/10/2012 +34,United States of America,Kevin A. Ford,19/12/2012 +34,Russia,Oleg Novitsky,19/12/2012 +34,Russia,Evgeny Tarelkin,19/12/2012 +34,Canada,Chris Hadfield,19/12/2012 +34,Russia,Roman Romanenko,19/12/2012 +34,United States of America,Thomas Marshburn,19/12/2012 +35,Canada,Chris Hadfield,28/03/2013 +35,Russia,Roman Romanenko,28/03/2013 +35,United States of America,Thomas Marshburn,28/03/2013 +35,Russia,Pavel Vinogradov,28/03/2013 +35,Russia,Alexander Misurkin,28/03/2013 +35,United States of America,Christopher Cassidy,28/03/2013 +36,Russia,Pavel Vinogradov,28/05/2013 +36,Russia,Alexander Misurkin,28/05/2013 +36,United States of America,Christopher Cassidy,28/05/2013 +36,Russia,Fyodor Yurchikhin,28/05/2013 +36,United States of America,Karen Nyberg,28/05/2013 +36,Italy,Luca Parmitano,28/05/2013 +37,Russia,Fyodor Yurchikhin,25/09/2013 +37,United States of America,Karen Nyberg,25/09/2013 +37,Italy,Luca Parmitano,25/09/2013 +37,Russia,Oleg Kotov,25/09/2013 +37,Russia,Sergey Ryazansky,25/09/2013 +37,United States of America,Michael S. Hopkins,25/09/2013 +38,Russia,Oleg Kotov,06/11/2013 +38,Russia,Sergey Ryazansky,06/11/2013 +38,United States of America,Michael S. Hopkins,06/11/2013 +38,Japan,Koichi Wakata,06/11/2013 +38,Russia,Mikhail Tyurin,06/11/2013 +38,United States of America,Richard Mastracchio,06/11/2013 +39,Japan,Koichi Wakata,25/03/2014 +39,Russia,Mikhail Tyurin,25/03/2014 +39,United States of America,Richard Mastracchio,25/03/2014 +39,Russia,Aleksandr Skvortsov,25/03/2014 +39,Russia,Oleg Artemyev,25/03/2014 +39,United States of America,Steven Swanson,25/03/2014 +40,United States of America,Steven Swanson,28/05/2014 +40,Russia,Aleksandr Skvortsov,28/05/2014 +40,Russia,Oleg Artemyev,28/05/2014 +40,United States of America,Gregory R. Wiseman,28/05/2014 +40,Russia,Maksim Surayev,28/05/2014 +40,Germany,Alexander Gerst,28/05/2014 +41,Russia,Maksim Surayev,25/09/2014 +41,United States of America,Gregory R. Wiseman,25/09/2014 +41,Germany,Alexander Gerst,25/09/2014 +41,Russia,Aleksandr Samokutyayev,25/09/2014 +41,Russia,Yelena Serova,25/09/2014 +41,United States of America,Barry E. Wilmore,25/09/2014 +42,United States of America,Barry E. Wilmore,23/11/2014 +42,Russia,Aleksandr Samokutyayev,23/11/2014 +42,Russia,Yelena Serova,23/11/2014 +42,Russia,Anton Shkaplerov,23/11/2014 +42,Italy,Samantha Cristoforetti,23/11/2014 +42,United States of America,Terry W. Virts,23/11/2014 +43,United States of America,Terry W. Virts,27/03/2015 +43,Russia,Anton Shkaplerov,27/03/2015 +43,Italy,Samantha Cristoforetti,27/03/2015 +43,Russia,Gennady Padalka,27/03/2015 +43,Russia,Mikhail Kornienko,27/03/2015 +43,United States of America,Scott Kelly,27/03/2015 +44,Russia,Gennady Padalka,22/07/2015 +44,Russia,Mikhail Kornienko,22/07/2015 +44,United States of America,Scott Kelly,22/07/2015 +44,Russia,Oleg Kononenko,22/07/2015 +44,Japan,Kimiya Yui,22/07/2015 +44,United States of America,Kjell N. Lindgren,22/07/2015 +45,United States of America,Scott Kelly,02/09/2015 +45,Russia,Mikhail Kornienko,02/09/2015 +45,Russia,Oleg Kononenko,02/09/2015 +45,Japan,Kimiya Yui,02/09/2015 +45,United States of America,Kjell N. Lindgren,02/09/2015 +45,Russia,Sergey Volkov,02/09/2015 +46,United States of America,Scott Kelly,15/12/2015 +46,Russia,Mikhail Kornienko,15/12/2015 +46,Russia,Sergey Volkov,15/12/2015 +46,Russia,Yuri Malenchenko,15/12/2015 +46,United Kingdom,Tim Peake,15/12/2015 +46,United States of America,Timothy Kopra,15/12/2015 +47,United States of America,Timothy Kopra,18/03/2016 +47,United Kingdom,Tim Peake,18/03/2016 +47,Russia,Yuri Malenchenko,18/03/2016 +47,Russia,Aleksey Ovchinin,18/03/2016 +47,Russia,Oleg Skripochka,18/03/2016 +47,United States of America,Jeffrey Williams,18/03/2016 +48,United States of America,Jeffrey Williams,07/07/2016 +48,Russia,Oleg Skripochka,07/07/2016 +48,Russia,Aleksey Ovchinin,07/07/2016 +48,Russia,Anatoli Ivanishin,07/07/2016 +48,Japan,Takuya Onishi,07/07/2016 +48,United States of America,Kathleen Rubins,07/07/2016 +49,Russia,Anatoli Ivanishin,19/10/2016 +49,Japan,Takuya Onishi,19/10/2016 +49,United States of America,Kathleen Rubins,19/10/2016 +49,United States of America,Shane Kimbrough,19/10/2016 +49,Russia,Andrei Borisenko,19/10/2016 +49,Russia,Sergey Ryzhikov,19/10/2016 +50,United States of America,Shane Kimbrough,17/11/2016 +50,Russia,Andrei Borisenko,17/11/2016 +50,Russia,Sergey Ryzhikov,17/11/2016 +50,United States of America,Peggy Whitson,17/11/2016 +50,Russia,Oleg Novitskiy,17/11/2016 +50,France,Thomas Pesquet,17/11/2016 +51,Russia,Oleg Novitsky,20/04/2017 +51,France,Thomas Pesquet,20/04/2017 +51,United States of America,Peggy Whitson,20/04/2017 +51,Russia,Fyodor Yurchikhin,20/04/2017 +51,United States of America,Jack D. Fischer,20/04/2017 +52,Russia,Fyodor Yurchikhin,28/07/2017 +52,United States of America,Jack D. Fischer,28/07/2017 +52,United States of America,Peggy Whitson,28/07/2017 +52,United States of America,Randolph Bresnik,28/07/2017 +52,Italy,Paolo Nespoli,28/07/2017 +52,Russia,Sergey Ryazansky,28/07/2017 +53,United States of America,Randolph Bresnik,12/09/2017 +53,Italy,Paolo Nespoli,12/09/2017 +53,Russia,Sergey Ryazansky,12/09/2017 +53,Russia,Alexander Misurkin,12/09/2017 +53,United States of America,Mark T. Vande Hei,12/09/2017 +53,United States of America,Joseph M. Acaba,12/09/2017 +54,Russia,Alexander Misurkin,17/12/2017 +54,United States of America,Mark T. Vande Hei,17/12/2017 +54,United States of America,Joseph M. Acaba,17/12/2017 +54,Russia,Anton Shkaplerov,17/12/2017 +54,United States of America,Scott D. Tingle,17/12/2017 +54,Japan,Norishige Kanai,17/12/2017 +55,Russia,Anton Shkaplerov,21/03/2018 +55,United States of America,Scott D. Tingle,21/03/2018 +55,Japan,Norishige Kanai,21/03/2018 +55,United States of America,Andrew J. Feustel,21/03/2018 +55,Russia,Oleg Artemyev,21/03/2018 +55,United States of America,Richard R. Arnold,21/03/2018 +56,United States of America,Andrew J. Feustel,06/06/2018 +56,Russia,Oleg Artemyev,06/06/2018 +56,United States of America,Richard R. Arnold,06/06/2018 +56,Germany,Alexander Gerst,06/06/2018 +56,Russia,Sergey Prokopyev,06/06/2018 +56,United States of America,Serena Aunon-Chancellor,06/06/2018 +57,Germany,Alexander Gerst,03/12/2018 +57,Russia,Sergey Prokopyev,03/12/2018 +57,United States of America,Serena Aunon-Chancellor,03/12/2018 +57,Russia,Oleg Kononenko,03/12/2018 +57,Canada,David Saint-Jacques,03/12/2018 +57,United States of America,Anne McClain,03/12/2018 +58,Russia,Oleg Kononenko,14/03/2019 +58,Canada,David Saint-Jacques,14/03/2019 +58,United States of America,Anne McClain,14/03/2019 +59,Russia,Oleg Kononenko,14/03/2019 +59,Canada,David Saint-Jacques,14/03/2019 +59,United States of America,Anne McClain,14/03/2019 +59,Russia,Aleksey Ovchinin,14/03/2019 +59,United States of America,Nick Hague,14/03/2019 +59,United States of America,Christina Koch,14/03/2019 +60,Russia,Aleksey Ovchinin,20/07/2019 +60,United States of America,Nick Hague,20/07/2019 +60,United States of America,Christina Koch,20/07/2019 +60,Russia,Aleksandr Skvortsov,20/07/2019 +60,Italy,Luca Parmitano,20/07/2019 +60,United States of America,Andrew R. Morgan,20/07/2019 +61,Italy,Luca Parmitano,25/09/2019 +61,Russia,Aleksandr Skvortsov,25/09/2019 +61,United States of America,Christina Koch,25/09/2019 +61,United States of America,Andrew R. Morgan,25/09/2019 +61,Russia,Oleg Skripochka,25/09/2019 +61,United States of America,Jessica Meir,25/09/2019 +62,Russia,Oleg Skripochka,09/04/2020 +62,United States of America,Jessica Meir,09/04/2020 +62,United States of America,Andrew R. Morgan,09/04/2020 +62,United States of America,Christopher Cassidy,09/04/2020 +62,Russia,Anatoli Ivanishin,09/04/2020 +62,Russia,Ivan Vagner,09/04/2020 +63,United States of America,Christopher Cassidy,30/05/2020 +63,Russia,Anatoli Ivanishin,30/05/2020 +63,Russia,Ivan Vagner,30/05/2020 +63,United States of America,Doug Hurley,30/05/2020 +63,United States of America,Bob Behnken[24],30/05/2020 +63,Russia,Sergey Ryzhikov,30/05/2020 +63,Russia,Sergey Kud-Sverchkov,30/05/2020 +63,United States of America,Kathleen Rubins,30/05/2020 +64,Russia,Sergey Ryzhikov,16/11/2020 +64,Russia,Sergey Kud-Sverchkov,16/11/2020 +64,United States of America,Kathleen Rubins,16/11/2020 +64,United States of America,Michael Hopkins,16/11/2020 +64,United States of America,Victor Glover,16/11/2020 +64,Japan,Soichi Noguchi,16/11/2020 +64,United States of America,Shannon Walker,16/11/2020 +64,Russia,Oleg Novitsky,16/11/2020 +64,Russia,Pyotr Dubrov,16/11/2020 +64,United States of America,Mark Vande Hei,16/11/2020 +65,United States of America,Shannon Walker,23/04/2021 +65,United States of America,Michael Hopkins,23/04/2021 +65,United States of America,Victor Glover,23/04/2021 +65,Japan,Soichi Noguchi,23/04/2021 +65,Russia,Oleg Novitsky,23/04/2021 +65,Russia,Pyotr Dubrov,23/04/2021 +65,United States of America,Mark Vande Hei,23/04/2021 +65,Japan,Akihiko Hoshide,23/04/2021 +65,United States of America,Shane Kimbrough,23/04/2021 +65,United States of America,K. Megan McArthur,23/04/2021 +65,France,Thomas Pesquet,23/04/2021 +65,Russia,Anton Shkaplerov,23/04/2021 diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_starter/iss.jpg b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/iss.jpg new file mode 100644 index 00000000..8436854e Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/iss.jpg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_starter/it.jpg b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/it.jpg new file mode 100644 index 00000000..3a9db3a8 Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/it.jpg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_starter/jp.jpg b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/jp.jpg new file mode 100644 index 00000000..d802cc07 Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/jp.jpg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_starter/main.py b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/main.py new file mode 100644 index 00000000..a631012f --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/main.py @@ -0,0 +1,3 @@ +#!/bin/python3 + +# Data headings: 0 Expedition number, 1 Representing country, 2 Astronaut, 3 Mission launch date diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_starter/ne.jpg b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/ne.jpg new file mode 100644 index 00000000..5ea86e33 Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/ne.jpg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_starter/project_config.yml b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/project_config.yml new file mode 100644 index 00000000..37f0e6f9 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/project_config.yml @@ -0,0 +1,26 @@ +NAME: "Persuasive Data Presentation: ISS Expeditions" +IDENTIFIER: "data-iss-starter" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "iss-expedition-data" + extension: "csv" + location: "iss-expedition-data.csv" + index: 1 + default: false + +IMAGES: + - "be.jpg" + - "ca.jpg" + - "fr.jpg" + - "gb.jpg" + - "gm.jpg" + - "iss.jpg" + - "it.jpg" + - "jp.jpg" + - "ne.jpg" + - "ru.jpg" + - "us.jpg" diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_starter/ru.jpg b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/ru.jpg new file mode 100644 index 00000000..88d593f0 Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/ru.jpg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_iss_starter/us.jpg b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/us.jpg new file mode 100644 index 00000000..2a9fa472 Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_iss_starter/us.jpg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_periodic_table/main.py b/lib/tasks/project_components/persuasive_data_presentation_periodic_table/main.py new file mode 100644 index 00000000..f3a89793 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_periodic_table/main.py @@ -0,0 +1,69 @@ +#!/bin/python3 +from p5 import * +from random import randint + +pt_dict = {} +pt_dict_group = {} +pt_dict_period = {} + +# Put code to run once here +def setup(): + global map + load_pt_data('pt.csv') + setup_coords() + size(1024, 576) + map = load_image('pt.png') + +def setup_coords(): + + for i in range(18): + pt_dict_group[i + 1] = {} + pt_dict_group[i + 1]['min_x'] = 25 + (i * 54) + pt_dict_group[i + 1]['max_x'] = 25 + (i * 54) + 55 + + for i in range(9): + pt_dict_period[i + 1] = {} + pt_dict_period[i + 1]['min_y'] = 35 + (i * 54) + pt_dict_period[i + 1]['max_y'] = 35 + (i * 54) + 55 + +# Put code to run every frame here +def draw(): + image( + map, # The image to draw + 0, # The x of the top-left corner + 0, # The y of the top-left corner + width, # The width of the image + height # The height of the image + ) + +# Put code to run when the mouse is pressed here +def mouse_pressed(): + x_coord = mouse.x + y_coord = mouse.y + if y_coord > 415: + x_coord -= 30 + + for x in pt_dict_group: + if pt_dict_group[x]['min_x'] <= x_coord <= pt_dict_group[x]['max_x']: + group = x + for y in pt_dict_period: + if pt_dict_period[y]['min_y'] <= y_coord <= pt_dict_period[y]['max_y']: + period = y + for element in pt_dict: + if pt_dict[element]['group'] == group and pt_dict[element]['period'] == period: + print(pt_dict[element]['name'], 'is a', pt_dict[element]['appearance'], 'and is a', pt_dict[element]['phase']) + + +def load_pt_data(file_name): + with open(file_name) as f: + for line in f: + info = line.strip().split(',') + pt_dict[int(info[0])] = { + 'name': info[1], + 'period': int(info[7]), + 'group': int(info[8]), + 'phase': info[9], + 'appearance': info[28] + } + +run() diff --git a/lib/tasks/project_components/persuasive_data_presentation_periodic_table/project_config.yml b/lib/tasks/project_components/persuasive_data_presentation_periodic_table/project_config.yml new file mode 100644 index 00000000..40730ab2 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_periodic_table/project_config.yml @@ -0,0 +1,16 @@ +NAME: "Persuasive Data Presentation: Periodic Table" +IDENTIFIER: "periodic-table-example" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "pt" + extension: "csv" + location: "pt.csv" + index: 1 + default: false + +IMAGES: + - "pt.png" diff --git a/lib/tasks/project_components/persuasive_data_presentation_periodic_table/pt.csv b/lib/tasks/project_components/persuasive_data_presentation_periodic_table/pt.csv new file mode 100644 index 00000000..10b79086 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_periodic_table/pt.csv @@ -0,0 +1,118 @@ +1,Hydrogen,H,1.007,0,1,1,1,1,gas,,yes,,yes,,Nonmetal,0.79,2.2,13.5984,8.99E-05,14.175,20.28,3,Cavendish,1766,14.304,1,1,colorless gas +2,Helium,He,4.002,2,2,2,1,18,gas,,yes,,yes,,Noble Gas,0.49,,24.5874,1.79E-04,,4.22,5,Janssen,1868,5.193,1,,colorless gas, exhibiting a red-orange glow when placed in a high-voltage electric field +3,Lithium,Li,6.941,4,3,3,2,1,solid,,yes,yes,,,Alkali Metal,2.1,0.98,5.3917,5.34E-01,453.85,1615,5,Arfvedson,1817,3.582,2,1,silvery-white +4,Beryllium,Be,9.012,5,4,4,2,2,solid,,yes,yes,,,Alkaline Earth Metal,1.4,1.57,9.3227,1.85E+00,1560.15,2742,6,Vaulquelin,1798,1.825,2,2,white-gray metallic +5,Boron,B,10.811,6,5,5,2,13,solid,,yes,,,yes,Metalloid,1.2,2.04,8.298,2.34E+00,2573.15,4200,6,Gay-Lussac,1808,1.026,2,3,black-brown +6,Carbon,C,12.011,6,6,6,2,14,solid,,yes,,yes,,Nonmetal,0.91,2.55,11.2603,2.27E+00,3948.15,4300,7,Prehistoric,,0.709,2,4,graphite: black, diamond: clear +7,Nitrogen,N,14.007,7,7,7,2,15,gas,,yes,,yes,,Nonmetal,0.75,3.04,14.5341,1.25E-03,63.29,77.36,8,Rutherford,1772,1.04,2,5,colorless gas, liquid or solid +8,Oxygen,O,15.999,8,8,8,2,16,gas,,yes,,yes,,Nonmetal,0.65,3.44,13.6181,1.43E-03,50.5,90.2,8,Priestley/Scheele,1774,0.918,2,6,gas: colorless, liquid: pale blue +9,Fluorine,F,18.998,10,9,9,2,17,gas,,yes,,yes,,Halogen,0.57,3.98,17.4228,1.70E-03,53.63,85.03,6,Moissan,1886,0.824,2,7,gas: very pale yellow +10,Neon,Ne,20.18,10,10,10,2,18,gas,,yes,,yes,,Noble Gas,0.51,,21.5645,9.00E-04,24.703,27.07,8,Ramsay and Travers,1898,1.03,2,8,colorless gas exhibiting an orange-red glow when placed in a high voltage electric field +11,Sodium,Na,22.99,12,11,11,3,1,solid,,yes,yes,,,Alkali Metal,2.2,0.93,5.1391,9.71E-01,371.15,1156,7,Davy,1807,1.228,3,1,silvery white metallic +12,Magnesium,Mg,24.305,12,12,12,3,2,solid,,yes,yes,,,Alkaline Earth Metal,1.7,1.31,7.6462,1.74E+00,923.15,1363,8,Black,1755,1.023,3,2,shiny grey solid +13,Aluminum,Al,26.982,14,13,13,3,13,solid,,yes,yes,,,Metal,1.8,1.61,5.9858,2.70E+00,933.4,2792,8,Wshler,1827,0.897,3,3,silvery gray metallic +14,Silicon,Si,28.086,14,14,14,3,14,solid,,yes,,,yes,Metalloid,1.5,1.9,8.1517,2.33E+00,1683.15,3538,8,Berzelius,1824,0.705,3,4,crystalline, reflective with bluish-tinged faces +15,Phosphorus,P,30.974,16,15,15,3,15,solid,,yes,,yes,,Nonmetal,1.2,2.19,10.4867,1.82E+00,317.25,553,7,BranBrand,1669,0.769,3,5,colourless, waxy white, yellow, scarlet, red, violet, black +16,Sulfur,S,32.065,16,16,16,3,16,solid,,yes,,yes,,Nonmetal,1.1,2.58,10.36,2.07E+00,388.51,717.8,10,Prehistoric,,0.71,3,6,lemon yellow sintered microcrystals +17,Chlorine,Cl,35.453,18,17,17,3,17,gas,,yes,,yes,,Halogen,0.97,3.16,12.9676,3.21E-03,172.31,239.11,11,Scheele,1774,0.479,3,7,pale yellow-green gas +18,Argon,Ar,39.948,22,18,18,3,18,gas,,yes,,yes,,Noble Gas,0.88,,15.7596,1.78E-03,83.96,87.3,8,Rayleigh and Ramsay,1894,0.52,3,8,colorless gas exhibiting a lilac/violet glow when placed in a high voltage electric field +19,Potassium,K,39.098,20,19,19,4,1,solid,,yes,yes,,,Alkali Metal,2.8,0.82,4.3407,8.62E-01,336.5,1032,10,Davy,1807,0.757,4,1,silvery gray +20,Calcium,Ca,40.078,20,20,20,4,2,solid,,yes,yes,,,Alkaline Earth Metal,2.2,1,6.1132,1.54E+00,1112.15,1757,14,Davy,1808,0.647,4,2,dull gray, silver; with a pale yellow tint +21,Scandium,Sc,44.956,24,21,21,4,3,solid,,yes,yes,,,Transition Metal,2.1,1.36,6.5615,2.99E+00,1812.15,3109,15,Nilson,1878,0.568,4,,silvery white +22,Titanium,Ti,47.867,26,22,22,4,4,solid,,yes,yes,,,Transition Metal,2,1.54,6.8281,4.54E+00,1933.15,3560,9,Gregor,1791,0.523,4,,silvery grey-white metallic +23,Vanadium,V,50.942,28,23,23,4,5,solid,,yes,yes,,,Transition Metal,1.9,1.63,6.7462,6.11E+00,2175.15,3680,9,del Rio,1801,0.489,4,,blue-silver-grey metal +24,Chromium,Cr,51.996,28,24,24,4,6,solid,,yes,yes,,,Transition Metal,1.9,1.66,6.7665,7.15E+00,2130.15,2944,9,Vauquelin,1797,0.449,4,,silvery metallic +25,Manganese,Mn,54.938,30,25,25,4,7,solid,,yes,yes,,,Transition Metal,1.8,1.55,7.434,7.44E+00,1519.15,2334,11,Gahn, Scheele,1774,0.479,4,,silvery metallic +26,Iron,Fe,55.845,30,26,26,4,8,solid,,yes,yes,,,Transition Metal,1.7,1.83,7.9024,7.87E+00,1808.15,3134,10,Prehistoric,,0.449,4,,lustrous metallic with a grayish tinge +27,Cobalt,Co,58.933,32,27,27,4,9,solid,,yes,yes,,,Transition Metal,1.7,1.88,7.881,8.86E+00,1768.15,3200,14,Brandt,1735,0.421,4,,hard lustrous bluish gray metal +28,Nickel,Ni,58.693,31,28,28,4,10,solid,,yes,yes,,,Transition Metal,1.6,1.91,7.6398,8.91E+00,1726.15,3186,11,Cronstedt,1751,0.444,4,,lustrous, metallic, and silver with a gold tinge +29,Copper,Cu,63.546,35,29,29,4,11,solid,,yes,yes,,,Transition Metal,1.6,1.9,7.7264,8.96E+00,1357.75,2835,11,Prehistoric,,0.385,4,,red-orange metallic luster +30,Zinc,Zn,65.38,35,30,30,4,12,solid,,yes,yes,,,Transition Metal,1.5,1.65,9.3942,7.13E+00,692.88,1180,15,Prehistoric,,0.388,4,,silver-gray +31,Gallium,Ga,69.723,39,31,31,4,13,solid,,yes,yes,,,Metal,1.8,1.81,5.9993,5.91E+00,302.91,2477,14,de Boisbaudran,1875,0.371,4,3,silvery blue +32,Germanium,Ge,72.64,41,32,32,4,14,solid,,yes,,,yes,Metalloid,1.5,2.01,7.8994,5.32E+00,1211.45,3106,17,Winkler,1886,0.32,4,4,grayish-white +33,Arsenic,As,74.922,42,33,33,4,15,solid,,yes,,,yes,Metalloid,1.3,2.18,9.7886,5.78E+00,1090.15,887,14,Albertus Magnus,1250,0.329,4,5,metallic grey +34,Selenium,Se,78.96,45,34,34,4,16,solid,,yes,,yes,,Nonmetal,1.2,2.55,9.7524,4.81E+00,494.15,958,20,Berzelius,1817,0.321,4,6,black, red, and gray (not pictured) allotropes +35,Bromine,Br,79.904,45,35,35,4,17,liq,,yes,,yes,,Halogen,1.1,2.96,11.8138,3.12E+00,266.05,332,19,Balard,1826,0.474,4,7,reddish-brown +36,Krypton,Kr,83.798,48,36,36,4,18,gas,,yes,,yes,,Noble Gas,1,,13.9996,3.73E-03,115.93,119.93,23,Ramsay and Travers,1898,0.248,4,8,colorless gas, exhibiting a whitish glow in a high electric field +37,Rubidium,Rb,85.468,48,37,37,5,1,solid,,yes,yes,,,Alkali Metal,3,0.82,4.1771,1.53E+00,312.79,961,20,Bunsen and Kirchoff,1861,0.363,5,1,grey white +38,Strontium,Sr,87.62,50,38,38,5,2,solid,,yes,yes,,,Alkaline Earth Metal,2.5,0.95,5.6949,2.64E+00,1042.15,1655,18,Davy,1808,0.301,5,2,silvery white metallic; with a pale yellow tint +39,Yttrium,Y,88.906,50,39,39,5,3,solid,,yes,yes,,,Transition Metal,2.3,1.22,6.2173,4.47E+00,1799.15,3609,21,Gadolin,1794,0.298,5,,silvery white +40,Zirconium,Zr,91.224,51,40,40,5,4,solid,,yes,yes,,,Transition Metal,2.2,1.33,6.6339,6.51E+00,2125.15,4682,20,Klaproth,1789,0.278,5,,silvery white +41,Niobium,Nb,92.906,52,41,41,5,5,solid,,yes,yes,,,Transition Metal,2.1,1.6,6.7589,8.57E+00,2741.15,5017,24,Hatchett,1801,0.265,5,,gray metallic, bluish when oxidized +42,Molybdenum,Mo,95.96,54,42,42,5,6,solid,,yes,yes,,,Transition Metal,2,2.16,7.0924,1.02E+01,2890.15,4912,20,Scheele,1778,0.251,5,,gray metallic +43,Technetium,Tc,98,55,43,43,5,7,artificial,yes,,yes,,,Transition Metal,2,1.9,7.28,1.15E+01,2473.15,5150,23,Perrier and Segr�,1937,,5,,shiny gray metal +44,Ruthenium,Ru,101.07,57,44,44,5,8,solid,,yes,yes,,,Transition Metal,1.9,2.2,7.3605,1.24E+01,2523.15,4423,16,Klaus,1844,0.238,5,,silvery white metallic +45,Rhodium,Rh,102.906,58,45,45,5,9,solid,,yes,yes,,,Transition Metal,1.8,2.28,7.4589,1.24E+01,2239.15,3968,20,Wollaston,1803,0.243,5,,silvery white metallic +46,Palladium,Pd,106.42,60,46,46,5,10,solid,,yes,yes,,,Transition Metal,1.8,2.2,8.3369,1.20E+01,1825.15,3236,21,Wollaston,1803,0.244,5,,silvery white +47,Silver,Ag,107.868,61,47,47,5,11,solid,,yes,yes,,,Transition Metal,1.8,1.93,7.5762,1.05E+01,1234.15,2435,27,Prehistoric,,0.235,5,,lustrous white metal +48,Cadmium,Cd,112.411,64,48,48,5,12,solid,,yes,yes,,,Transition Metal,1.7,1.69,8.9938,8.69E+00,594.33,1040,22,Stromeyer,1817,0.232,5,,silvery bluish-gray metallic +49,Indium,In,114.818,66,49,49,5,13,solid,,yes,yes,,,Metal,2,1.78,5.7864,7.31E+00,429.91,2345,34,Reich and Richter,1863,0.233,5,3,silvery lustrous gray +50,Tin,Sn,118.71,69,50,50,5,14,solid,,yes,yes,,,Metal,1.7,1.96,7.3439,7.29E+00,505.21,2875,28,Prehistoric,,0.228,5,4,silvery-white (beta, ?) or gray (alpha, ?) +51,Antimony,Sb,121.76,71,51,51,5,15,solid,,yes,,,yes,Metalloid,1.5,2.05,8.6084,6.69E+00,904.05,1860,29,Early historic times,,0.207,5,5,silvery lustrous gray +52,Tellurium,Te,127.6,76,52,52,5,16,solid,,yes,,,yes,Metalloid,1.4,2.1,9.0096,6.23E+00,722.8,1261,29,von Reichenstein,1782,0.202,5,6,silvery lustrous gray (crystalline),, brown-black powder (amorphous) +53,Iodine,I,126.904,74,53,53,5,17,solid,,yes,,yes,,Halogen,1.3,2.66,10.4513,4.93E+00,386.65,457.4,24,Courtois,1811,0.214,5,7,lustrous metallic gray, violet as a gas +54,Xenon,Xe,131.293,77,54,54,5,18,gas,,yes,,yes,,Noble Gas,1.2,,12.1298,5.89E-03,161.45,165.03,31,Ramsay and Travers,1898,0.158,5,8,colorless gas, exhibiting a blue glow when placed in a high voltage electric field +55,Cesium,Cs,132.905,78,55,55,6,1,solid,,yes,yes,,,Alkali Metal,3.3,0.79,3.8939,1.87E+00,301.7,944,22,Bunsen and Kirchoff,1860,0.242,6,1,pale gold +56,Barium,Ba,137.327,81,56,56,6,2,solid,,yes,yes,,,Alkaline Earth Metal,2.8,0.89,5.2117,3.59E+00,1002.15,2170,25,Davy,1808,0.204,6,2,silvery gray; with a pale yellow tint +57,Lanthanum,La,138.905,82,57,57,8,3,solid,,yes,yes,,,Lanthanide,2.7,1.1,5.5769,6.15E+00,1193.15,3737,19,Mosander,1839,0.195,6,,silvery white +58,Cerium,Ce,140.116,82,58,58,8,4,solid,,yes,yes,,,Lanthanide,2.7,1.12,5.5387,6.77E+00,1071.15,3716,19,Berzelius,1803,0.192,6,,silvery white +59,Praseodymium,Pr,140.908,82,59,59,8,5,solid,,yes,yes,,,Lanthanide,2.7,1.13,5.473,6.77E+00,1204.15,3793,15,von Welsbach,1885,0.193,6,,grayish white +60,Neodymium,Nd,144.242,84,60,60,8,6,solid,,yes,yes,,,Lanthanide,2.6,1.14,5.525,7.01E+00,1289.15,3347,16,von Welsbach,1885,0.19,6,,silvery white +61,Promethium,Pm,145,84,61,61,8,7,artificial,yes,,yes,,,Lanthanide,2.6,1.13,5.582,7.26E+00,1204.15,3273,14,Marinsky et al.,1945,,6,,metallic +62,Samarium,Sm,150.36,88,62,62,8,8,solid,,yes,yes,,,Lanthanide,2.6,1.17,5.6437,7.52E+00,1345.15,2067,17,Boisbaudran,1879,0.197,6,,silvery white +63,Europium,Eu,151.964,89,63,63,8,9,solid,,yes,yes,,,Lanthanide,2.6,1.2,5.6704,5.24E+00,1095.15,1802,21,Demarcay,1901,0.182,6,,silvery white, with a pale yellow tint; but rarely seen without oxide discoloration +64,Gadolinium,Gd,157.25,93,64,64,8,10,solid,,yes,yes,,,Lanthanide,2.5,1.2,6.1501,7.90E+00,1585.15,3546,17,de Marignac,1880,0.236,6,,silvery white +65,Terbium,Tb,158.925,94,65,65,8,11,solid,,yes,yes,,,Lanthanide,2.5,1.2,5.8638,8.23E+00,1630.15,3503,24,Mosander,1843,0.182,6,,silvery white +66,Dysprosium,Dy,162.5,97,66,66,8,12,solid,,yes,yes,,,Lanthanide,2.5,1.22,5.9389,8.55E+00,1680.15,2840,21,de Boisbaudran,1886,0.17,6,,silvery white +67,Holmium,Ho,164.93,98,67,67,8,13,solid,,yes,yes,,,Lanthanide,2.5,1.23,6.0215,8.80E+00,1743.15,2993,29,Delafontaine and Soret,1878,0.165,6,,silvery white +68,Erbium,Er,167.259,99,68,68,8,14,solid,,yes,yes,,,Lanthanide,2.5,1.24,6.1077,9.07E+00,1795.15,3503,16,Mosander,1843,0.168,6,,silvery white +69,Thulium,Tm,168.934,100,69,69,8,15,solid,,yes,yes,,,Lanthanide,2.4,1.25,6.1843,9.32E+00,1818.15,2223,18,Cleve,1879,0.16,6,,silvery gray +70,Ytterbium,Yb,173.054,103,70,70,8,16,solid,,yes,yes,,,Lanthanide,2.4,1.1,6.2542,6.97E+00,1097.15,1469,16,Marignac,1878,0.155,6,,silvery white; with a pale yellow tint +71,Lutetium,Lu,174.967,104,71,71,8,17,solid,,yes,yes,,,Lanthanide,2.3,1.27,5.4259,9.84E+00,1936.15,3675,22,Urbain/ von Welsbach,1907,0.154,6,,silvery white +72,Hafnium,Hf,178.49,106,72,72,8,4,solid,,yes,yes,,,Transition Metal,2.2,1.3,6.8251,1.33E+01,2500.15,4876,17,Coster and von Hevesy,1923,0.144,6,,steel gray +73,Tantalum,Ta,180.948,108,73,73,6,5,solid,,yes,yes,,,Transition Metal,2.1,1.5,7.5496,1.67E+01,3269.15,5731,19,Ekeberg,1801,0.14,6,,gray blue +74,Wolfram,W,183.84,110,74,74,6,6,solid,,yes,yes,,,Transition Metal,2,2.36,7.864,1.93E+01,3680.15,5828,22,J. and F. d'Elhuyar,1783,0.132,6,,grayish white, lustrous +75,Rhenium,Re,186.207,111,75,75,6,7,solid,,yes,yes,,,Transition Metal,2,1.9,7.8335,2.10E+01,3453.15,5869,21,Noddack, Berg, and Tacke,1925,0.137,6,,silvery-grayish +76,Osmium,Os,190.23,114,76,76,6,8,solid,,yes,yes,,,Transition Metal,1.9,2.2,8.4382,2.26E+01,3300.15,5285,19,Tennant,1803,0.13,6,,silvery, blue cast +77,Iridium,Ir,192.217,115,77,77,6,9,solid,,yes,yes,,,Transition Metal,1.9,2.2,8.967,2.26E+01,2716.15,4701,25,Tennant,1804,0.131,6,,silvery white +78,Platinum,Pt,195.084,117,78,78,6,10,solid,,yes,yes,,,Transition Metal,1.8,2.28,8.9587,2.15E+01,2045.15,4098,32,Ulloa/Wood,1735,0.133,6,,silvery white +79,Gold,Au,196.967,118,79,79,6,11,solid,,yes,yes,,,Transition Metal,1.8,2.54,9.2255,1.93E+01,1337.73,3129,21,Prehistoric,,0.129,6,,metallic yellow +80,Mercury,Hg,200.59,121,80,80,6,12,liq,,yes,yes,,,Transition Metal,1.8,2,10.4375,1.35E+01,234.43,630,26,Prehistoric,,0.14,6,,silvery +81,Thallium,Tl,204.383,123,81,81,6,13,solid,,yes,yes,,,Metal,2.1,2.04,6.1082,1.19E+01,577.15,1746,28,Crookes,1861,0.129,6,3,silvery white +82,Lead,Pb,207.2,125,82,82,6,14,solid,,yes,yes,,,Metal,1.8,2.33,7.4167,1.13E+01,600.75,2022,29,Prehistoric,,0.129,6,4,metallic gray +83,Bismuth,Bi,208.98,126,83,83,6,15,solid,,yes,yes,,,Metal,1.6,2.02,7.2856,9.81E+00,544.67,1837,19,Geoffroy the Younger,1753,0.122,6,5,lustrous brownish silver +84,Polonium,Po,210,126,84,84,6,16,solid,yes,yes,,,yes,Metalloid,1.5,2,8.417,9.32E+00,527.15,1235,34,Curie,1898,,6,6,silvery +85,Astatine,At,210,125,85,85,6,17,solid,yes,yes,,yes,,Noble Gas,1.4,2.2,9.3,7.00E+00,575.15,610,21,Corson et al.,1940,,6,7,unknown, probably metallic +86,Radon,Rn,222,136,86,86,6,18,gas,yes,yes,yes,,,Alkali Metal,1.3,,10.7485,9.73E-03,202.15,211.3,20,Dorn,1900,0.094,6,8,colorless gas, occasionally glows green or red in discharge tubes +87,Francium,Fr,223,136,87,87,7,1,solid,yes,yes,yes,,,Alkaline Earth Metal,,0.7,4.0727,1.87E+00,300.15,950,21,Perey,1939,,7,1,? +88,Radium,Ra,226,138,88,88,7,2,solid,yes,yes,yes,,,Actinide,,0.9,5.2784,5.50E+00,973.15,2010,15,Pierre and Marie Curie,1898,,7,2,silvery white metallic +89,Actinium,Ac,227,138,89,89,9,3,solid,yes,yes,yes,,,Actinide,,1.1,5.17,1.01E+01,1323.15,3471,11,Debierne/Giesel,1899,0.12,7,,silvery-white, glowing with an eerie blue light; sometimes with a golden cast +90,Thorium,Th,232.038,142,90,90,9,4,solid,yes,yes,yes,,,Actinide,,1.3,6.3067,1.17E+01,2028.15,5061,12,Berzelius,1828,0.113,7,,silvery, often with black tarnish +91,Protactinium,Pa,231.036,140,91,91,9,5,solid,yes,yes,yes,,,Actinide,,1.5,5.89,1.54E+01,1873.15,4300,14,Hahn and Meitner,1917,,7,,bright, silvery metallic luster +92,Uranium,U,238.029,146,92,92,9,6,solid,yes,yes,yes,,,Actinide,,1.38,6.1941,1.90E+01,1405.15,4404,15,Peligot,1841,0.116,7,,silvery gray metallic; corrodes to a spalling black oxide coat in air +93,Neptunium,Np,237,144,93,93,9,7,artificial,yes,,yes,,,Actinide,,1.36,6.2657,2.05E+01,913.15,4273,153,McMillan and Abelson,1940,,7,,silvery metallic +94,Plutonium,Pu,244,150,94,94,9,8,artificial,yes,,yes,,,Actinide,,1.28,6.0262,1.98E+01,913.15,3501,163,Seaborg et al.,1940,,7,,silvery white, tarnishing to dark gray in air +95,Americium,Am,243,148,95,95,9,9,artificial,yes,,yes,,,Actinide,,1.3,5.9738,1.37E+01,1267.15,2880,133,Seaborg et al.,1944,,7,,silvery white +96,Curium,Cm,247,151,96,96,9,10,artificial,yes,,yes,,,Actinide,,1.3,5.9915,1.35E+01,1340.15,3383,133,Seaborg et al.,1944,,7,,silvery metallic, glows purple in the dark +97,Berkelium,Bk,247,150,97,97,9,11,artificial,yes,,yes,,,Actinide,,1.3,6.1979,1.48E+01,1259.15,983,83,Seaborg et al.,1949,,7,,silvery +98,Californium,Cf,251,153,98,98,9,12,artificial,yes,,yes,,,Actinide,,1.3,6.2817,1.51E+01,1925.15,1173,123,Seaborg et al.,1950,,7,,silvery +99,Einsteinium,Es,252,153,99,99,9,13,artificial,yes,,yes,,,Actinide,,1.3,6.42,1.35E+01,1133.15,,123,Ghiorso et al.,1952,,7,,silvery; glows blue in the dark +100,Fermium,Fm,257,157,100,100,9,14,artificial,yes,,yes,,,Actinide,,1.3,6.5,,,,103,Ghiorso et al.,1953,,7,,? +101,Mendelevium,Md,258,157,101,101,9,15,artificial,yes,,yes,,,Actinide,,1.3,6.58,,,,33,Ghiorso et al.,1955,,7,,? +102,Nobelium,No,259,157,102,102,9,16,artificial,yes,,yes,,,Actinide,,1.3,6.65,,,,73,Ghiorso et al.,1958,,7,,? +103,Lawrencium,Lr,262,159,103,103,9,17,artificial,yes,,yes,,,Actinide,,,,,,,203,Ghiorso et al.,1961,,7,,silvery (predicted) +104,Rutherfordium,Rf,261,157,104,104,7,4,artificial,yes,,yes,,,Transactinide,,,,1.81E+01,,,,Ghiorso et al.,1969,,7,,? +105,Dubnium,Db,262,157,105,105,7,5,artificial,yes,,yes,,,Transactinide,,,,3.90E+01,,,,Ghiorso et al.,1970,,7,,? +106,Seaborgium,Sg,266,160,106,106,7,6,artificial,yes,,yes,,,Transactinide,,,,3.50E+01,,,,Ghiorso et al.,1974,,7,,? +107,Bohrium,Bh,264,157,107,107,7,7,artificial,yes,,yes,,,Transactinide,,,,3.70E+01,,,,Armbruster and M�nzenberg,1981,,7,,silvery (predicted) +108,Hassium,Hs,267,159,108,108,7,8,artificial,yes,,yes,,,Transactinide,,,,4.10E+01,,,,Armbruster and M�nzenberg,1983,,7,,? +109,Meitnerium,Mt,268,159,109,109,7,9,artificial,yes,,yes,,,Transactinide,,,,3.50E+01,,,,GSI, Darmstadt, West Germany,1982,,7,,? +110,Darmstadtium,Ds,271,161,110,110,7,10,artificial,yes,,yes,,,Transactinide,,,,,,,,,1994,,7,,silvery (predicted) +111,Roentgenium,Rg,272,161,111,111,7,11,artificial,yes,,yes,,,Transactinide,,,,,,,,,1994,,7,,? +112,Copernicium,Cn,285,173,112,112,7,12,artificial,yes,,yes,,,Transactinide,,,,,,,,,1996,,7,,? +113,Nihonium,Nh,284,171,113,113,7,13,artificial,yes,,yes,,,,,,,,,,,,2004,,7,3,? +114,Flerovium,Fl,289,175,114,114,7,14,artificial,yes,,yes,,,Transactinide,,,,,,,,,1999,,7,4,? +115,Moscovium,Mc,288,173,115,115,7,15,artificial,yes,,yes,,,,,,,,,,,,2010,,7,5,? +116,Livermorium,Lv,292,176,116,116,7,16,artificial,yes,,yes,,,Transactinide,,,,,,,,,2000,,7,6,semimetallic (predicted) +117,Tennessine,Ts,295,178,117,117,7,17,artificial,yes,,,yes,,,,,,,,,,,2010,,7,7,? +118,Oganesson,Og,294,176,118,118,7,18,artificial,yes,,,yes,,Noble Gas,,,,,,,,,2006,,7,8,? diff --git a/lib/tasks/project_components/persuasive_data_presentation_periodic_table/pt.png b/lib/tasks/project_components/persuasive_data_presentation_periodic_table/pt.png new file mode 100644 index 00000000..529ffbf0 Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_periodic_table/pt.png differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_ufo_example/main.py b/lib/tasks/project_components/persuasive_data_presentation_ufo_example/main.py new file mode 100644 index 00000000..29c8cf9f --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_ufo_example/main.py @@ -0,0 +1,123 @@ +#!/bin/python3 +from p5 import * + +from xy import get_xy_coords + +# Draw the UFO on the map +def draw_ufo(shape, x, y): + + global fireball, circle, tri, light, disk, misc, cylinder + fireball = Color(252, 186, 3) + circle = Color(32, 201, 49) + tri = Color(241, 245, 32) + light = Color(247, 247, 245) + disk = Color(189, 189, 172) + misc = Color(255, 0, 0) + cylinder = Color(73, 99, 230) + + if shape == 'fireball': + fill(fireball) + ellipse(x, y, 15, 10) + elif shape == 'circle': + fill(circle) + ellipse(x, y, 8, 8) + elif shape == 'triangle': + fill(tri) + triangle(x-8, y-15, x, y, x+8, y-15) + elif shape == 'light': + fill(light) + ellipse(x, y, 15, 15) + elif shape == 'disk': + fill(disk) + ellipse(x, y, 20, 10) + elif shape == 'cylinder' or shape == 'cigar': + fill(cylinder) + rect(x, y, 20, 10) + else: + fill(misc) + ellipse(x, y, 10, 10) + +def setup(): + + size(991, 768) + global map + map = load_image('mercator.jpeg') + load_data('ufo-sightings.csv') + +def load_data(file_name): + + # Create a dictionary for each siting based on the data in the csv file + + global ufo_sightings + + ufo_sightings = [] + + with open(file_name) as f: + for line in f: + info = line.split(',') + ufo_dict = { + 'date': info[0], + 'time': info[1], + 'state': info[2], + 'country': info[3], + 'shape': info[4], + 'duration': info[5], + 'latitude': info[6], + 'longitude': info[7] + + } + ufo_sightings.append(ufo_dict) # Store dictionary in a list + +def draw_data(): + + # Use the lat and long data to calculate the x y coords for the shape + + for sighting in ufo_sightings: + + longitude = float(sighting['longitude']) + latitude = float(sighting['latitude']) + + region_coords = get_xy_coords(longitude, latitude) + + region_x = region_coords['x'] + region_y = region_coords['y'] + + shape = sighting['shape'] + + draw_ufo(shape, region_x, region_y) + +def draw(): + + image( + map, # The image to draw + 0, # The x of the top-left corner + 0, # The y of the top-left corner + width, # The width of the image + height # The height of the image + ) + draw_data() + + +def mouse_pressed(): + + # Display a message depending on what shape the user has pressed + + pixel_colour = Color(get(mouse_x, mouse_y)) + if pixel_colour == fireball: + print('A fireball UFO was spotted here!') + elif pixel_colour == circle: + print('A circle shaped UFO was spotted here!') + elif pixel_colour == tri: + print('A triangle shaped UFO was spotted here!') + elif pixel_colour == light: + print('A UFO made of light was spotted here!') + elif pixel_colour == disk: + print('A disk shaped UFO was spotted here!') + elif pixel_colour == misc: + print('A random shaped UFO was spotted here!') + elif pixel_colour == cylinder: + print('A cylinder shaped UFO was spotted here!') + else: + print('There were no UFO sightings in this area!') + +run() diff --git a/lib/tasks/project_components/persuasive_data_presentation_ufo_example/mercator.jpeg b/lib/tasks/project_components/persuasive_data_presentation_ufo_example/mercator.jpeg new file mode 100644 index 00000000..c964a51d Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_ufo_example/mercator.jpeg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_ufo_example/mercator_bw.png b/lib/tasks/project_components/persuasive_data_presentation_ufo_example/mercator_bw.png new file mode 100644 index 00000000..2123563e Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_ufo_example/mercator_bw.png differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_ufo_example/project_config.yml b/lib/tasks/project_components/persuasive_data_presentation_ufo_example/project_config.yml new file mode 100644 index 00000000..a3ca568f --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_ufo_example/project_config.yml @@ -0,0 +1,22 @@ +NAME: "Persuasive Data Presentation: UFO Sightings Example" +IDENTIFIER: "data-ufo-example" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "xy" + extension: "py" + location: "xy.py" + index: 1 + default: false + - name: "ufo-sightings" + extension: "csv" + location: "ufo-sightings.csv" + index: 2 + default: false + +IMAGES: + - "mercator.jpeg" + - "mercator_bw.png" diff --git a/lib/tasks/project_components/persuasive_data_presentation_ufo_example/ufo-sightings.csv b/lib/tasks/project_components/persuasive_data_presentation_ufo_example/ufo-sightings.csv new file mode 100644 index 00000000..a07a6d76 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_ufo_example/ufo-sightings.csv @@ -0,0 +1,220 @@ +9/30/2000,02:00,tx,us,fireball,10,31.968599,-99.901813 +9/30/2000,18:24,ca,us,sphere,300,34.2011111,-118.5972222 +9/30/2000,20:00,az,us,circle,15,33.3941667,-110.7858333 +9/30/2000,20:00,az,us,circle,30,33.3941667,-110.7858333 +9/30/2000,20:00,me,us,triangle,15,44.4911,-68.319185 +9/30/2000,20:00,tn,us,light,120,35.1494444,-90.0488889 +9/30/2000,20:00,az,us,other,5,33.4483333,-112.0733333 +9/30/2000,20:00,az,us,fireball,5,33.5091667,-111.8983333 +9/30/2000,21:30,ca,us,circle,600,34.182578,-118.439676 +9/30/2000,21:45,ca,us,formation,120,34.0522222,-118.2427778 +9/30/2000,21:45,ca,us,changing,300,34.1722222,-118.3780556 +9/30/2000,21:47,ca,us,light,180,34.182578,-118.439676 +9/30/2000,22:00,ca,us,light,900,34.25046,-118.433834 +9/30/2000,22:10,,gb,sphere,8,52.083333,1.166667 +9/30/2000,22:25,nv,us,sphere,40,36.175,-115.1363889 +9/30/2000,22:30,ca,us,formation,300,34.182578,-118.439676 +9/30/2000,23:00,ca,us,triangle,480,34.0522222,-118.2427778 +9/30/2000,23:30,tx,us,changing,900,29.4238889,-98.4933333 +9/30/2001,01:05,az,us,fireball,10,33.4483333,-112.0733333 +9/30/2001,01:30,az,us,other,60,33.4147222,-111.9086111 +9/30/2001,01:53,ny,us,light,4,40.7141667,-74.0063889 +9/30/2001,10:00,ca,us,disk,1200,33.8169444,-118.0363889 +9/30/2001,14:25,ca,us,disk,10,36.3275,-119.6447222 +9/30/2001,17:26,or,us,changing,1076,45.5230556,-122.9886111 +9/30/2001,19:00,mo,us,sphere,1200,39.0997222,-94.5783333 +9/30/2001,19:15,or,us,formation,5,45.5236111,-122.675 +9/30/2001,19:45,co,us,sphere,300,39.7047222,-105.0808333 +9/30/2001,20:00,co,us,circle,300,39.7047222,-105.0808333 +9/30/2001,20:00,co,us,sphere,1200,39.7047222,-105.0808333 +9/30/2001,20:00,co,us,sphere,300,39.7047222,-105.0808333 +9/30/2001,21:00,me,us,oval,3600,44.1197222,-70.1080556 +9/30/2001,21:30,ca,us,light,600,36.677737,-121.655501 +9/30/2001,21:50,ca,us,fireball,10,34.2077778,-117.1083333 +9/30/2001,22:00,on,ca,circle,300,45.416667,-75.7 +9/30/2001,23:35,,au,fireball,1200,-34.424,150.893448 +9/30/2002,00:00,,nl,light,1800,52.091874,5.096623 +9/30/2002,04:00,oh,us,disk,900,41.5930556,-81.5269444 +9/30/2002,18:00,oh,us,light,600,39.8438889,-84.1247222 +9/30/2002,18:30,pa,us,oval,30,41.2616667,-75.8972222 +9/30/2002,20:50,mi,us,circle,60,42.7008333,-82.9591667 +9/30/2003,00:30,ok,us,disk,40,35.5066667,-97.7622222 +9/30/2003,01:15,tx,us,oval,12,31.968599,-99.901813 +9/30/2003,03:30,ut,us,other,2,38.7725,-112.0833333 +9/30/2003,12:00,ut,us,sphere,1,38.3122222,-109.2475 +9/30/2003,19:30,ny,us,fireball,10800,44.4988889,-75.3430556 +9/30/2003,19:45,ca,us,unknown,30,37.775,-122.4183333 +9/30/2003,21:00,ny,us,triangle,5,41.0358333,-71.955 +9/30/2003,21:00,ma,us,triangle,20,41.2833333,-70.1 +9/30/2003,22:34,il,us,light,600,42.3683333,-88.8219444 +9/30/2003,24:00:00,tx,us,cylinder,600,31.968599,-99.901813 +9/30/2004,12:00,ma,us,unknown,420,42.3583333,-71.0602778 +9/30/2004,16:00,tn,us,oval,300,36.2433333,-84.67 +9/30/2004,18:00,in,us,disk,2,41.6347222,-84.9994444 +9/30/2004,20:00,wa,us,diamond,120,47.4180556,-122.6297222 +9/30/2004,22:00,ca,us,light,600,38.545,-121.7394444 +9/30/2004,22:10,wa,us,light,3,47.6063889,-122.3308333 +9/30/2004,23:10,ut,us,circle,2,40.7608333,-111.8902778 +9/30/2005,02:10,az,us,fireball,360,34.61,-112.315 +9/30/2005,04:45,il,us,triangle,300,41.5119444,-87.9655556 +9/30/2005,04:55,ky,us,triangle,480,37.0833333,-88.6 +9/30/2005,05:04,ut,us,rectangle,25,40.9805556,-111.8866667 +9/30/2005,07:50,in,us,cigar,360,41.0705556,-85.0144444 +9/30/2005,07:50,ca,us,disk,600,38.3566667,-121.9866667 +9/30/2005,09:30,tx,us,light,240,29.4238889,-98.4933333 +9/30/2005,10:00,pa,us,cigar,7200,40.9133333,-77.7786111 +9/30/2005,15:15,ky,us,rectangle,1830,36.8297222,-84.8491667 +9/30/2005,16:00,ny,us,other,600,40.7141667,-74.0063889 +9/30/2005,18:28,fl,us,disk,60,26.2708333,-80.2708333 +9/30/2005,18:45,nv,us,fireball,60,39.5297222,-119.8127778 +9/30/2005,19:20,il,us,light,8,41.1416667,-87.875 +9/30/2005,19:35,,mn,disk,180,47.92,106.92 +9/30/2005,20:15,ny,us,light,900,42.244601,-73.891173 +9/30/2005,20:20,az,us,sphere,40,34.3908333,-110.5525 +9/30/2005,20:30,il,us,flash,120,41.7880556,-87.8102778 +9/30/2005,20:52,ca,us,sphere,8,34.2783333,-119.2922222 +9/30/2005,21:15,il,us,light,180,41.85,-87.65 +9/30/2005,21:45,co,us,triangle,20,38.2544444,-104.6086111 +9/30/2005,22:00,in,us,light,20,38.7327778,-86.4736111 +9/30/2005,22:30,pa,us,circle,2700,40.7816667,-76.3461111 +9/30/2005,22:30,il,us,cigar,240,42.2411111,-88.3161111 +9/30/2005,23:00,il,us,light,300,41.5119444,-87.9655556 +9/30/2005,23:00,il,us,light,1200,41.6027778,-87.7438889 +9/30/2005,23:00,il,us,sphere,600,41.6027778,-87.7438889 +9/30/2005,23:00,il,us,triangle,1800,41.6027778,-87.7438889 +9/30/2005,23:00,il,us,light,900,41.5852778,-87.8430556 +9/30/2005,23:00,il,us,unknown,900,41.5852778,-87.8430556 +9/30/2005,23:00,il,us,circle,7200,41.6302778,-87.8538889 +9/30/2005,23:00,il,us,light,2700,41.6302778,-87.8538889 +9/30/2005,23:00,il,us,light,2700,41.6302778,-87.8538889 +9/30/2005,23:00,il,us,light,420,41.6302778,-87.8538889 +9/30/2005,23:00,il,us,other,900,41.6302778,-87.8538889 +9/30/2005,23:00,il,us,circle,900,41.5733333,-87.7844444 +9/30/2005,23:00,il,us,light,1800,41.5733333,-87.7844444 +9/30/2005,23:00,il,us,light,3600,41.5733333,-87.7844444 +9/30/2005,23:00,il,us,light,600,41.5733333,-87.7844444 +9/30/2005,23:00,il,us,light,900,41.5733333,-87.7844444 +9/30/2005,23:00,il,us,triangle,1200,41.5733333,-87.7844444 +9/30/2005,23:00,il,us,unknown,1800,41.5733333,-87.7844444 +9/30/2005,23:10,il,us,light,1500,41.599289,-87.961718 +9/30/2005,23:15,il,us,circle,1200,41.6027778,-87.7438889 +9/30/2005,23:15,il,us,light,1800,41.6027778,-87.7438889 +9/30/2005,23:15,il,us,sphere,600,41.6027778,-87.7438889 +9/30/2005,23:15,il,us,formation,1500,41.6302778,-87.8538889 +9/30/2005,23:15,il,us,light,900,41.7613889,-88.4436111 +9/30/2005,23:15,il,us,unknown,900,41.5733333,-87.7844444 +9/30/2005,23:18,il,us,circle,600,41.5733333,-87.7844444 +9/30/2005,23:23,il,us,light,300,41.6680556,-87.7963889 +9/30/2005,23:25,il,us,light,600,41.6302778,-87.8538889 +9/30/2005,23:25,il,us,light,600,41.5733333,-87.7844444 +9/30/2005,23:30,ab,ca,light,8,55.166667,-118.8 +9/30/2005,23:30,il,us,circle,300,41.6027778,-87.7438889 +9/30/2005,23:30,il,us,triangle,900,41.6302778,-87.8538889 +9/30/2005,23:30,il,us,changing,1200,41.5733333,-87.7844444 +9/30/2005,23:30,il,us,circle,1200,41.5733333,-87.7844444 +9/30/2005,23:45,az,us,light,30,32.2216667,-110.9258333 +9/30/2005,23:50,il,us,light,1200,41.6302778,-87.8538889 +9/30/2006,01:00,hi,us,light,60,21.9811111,-159.3711111 +9/30/2006,03:00,va,us,triangle,720,36.8255556,-79.3983333 +9/30/2006,08:30,ca,us,light,1200,33.7669444,-118.1883333 +9/30/2006,14:00,ak,us,disk,2700,61.2180556,-149.9002778 +9/30/2006,14:30,ak,us,disk,1800,61.2180556,-149.9002778 +9/30/2006,19:00,nm,us,unknown,2,35.0844444,-106.6505556 +9/30/2006,19:00,oh,us,sphere,600,39.5030556,-82.0847222 +9/30/2006,22:00,il,us,diamond,600,41.525,-88.0816667 +9/30/2006,23:00,nm,us,triangle,3600,32.3122222,-106.7777778 +9/30/2006,23:30,ut,us,teardrop,20,40.5,-111.95 +9/30/2007,00:11,ga,us,flash,20,34.7697222,-84.9702778 +9/30/2007,00:25,ne,us,triangle,120,41.1838889,-96.0308333 +9/30/2007,01:00,ga,us,light,900,32.4608333,-84.9877778 +9/30/2007,12:00,ca,us,circle,1200,37.9358333,-122.3466667 +9/30/2007,16:50,ca,us,sphere,180,33.6188889,-117.9280556 +9/30/2007,17:30,ne,us,cigar,1,33.639236,-111.007724 +9/30/2007,18:30,nc,us,other,300,34.4872222,-78.6563889 +9/30/2007,18:30,wy,us,other,1500,41.3113889,-105.5905556 +9/30/2007,19:30,il,us,sphere,300,42.3702778,-87.9019444 +9/30/2007,19:53,ar,us,light,15,35.0011111,-92.6297222 +9/30/2007,20:20,pa,us,unknown,240,39.8277778,-77.9036111 +9/30/2007,21:14,az,us,other,120,33.4147222,-111.9086111 +9/30/2007,21:35,mb,ca,triangle,10,49.883333,-97.166667 +9/30/2007,21:45,co,us,formation,10,40.3977778,-105.0744444 +9/30/2007,22:00,ga,us,triangle,90,32.5380556,-81.9325 +9/30/2007,22:00,ga,us,triangle,90,32.5380556,-81.9325 +9/30/2008,01:25,nm,us,diamond,120,35.5938889,-105.2233333 +9/30/2008,06:15,tx,us,other,5,30.2669444,-97.7427778 +9/30/2008,08:00,ga,us,other,600,33.9411111,-84.2136111 +9/30/2008,13:00,tx,us,other,240,29.7630556,-95.3630556 +9/30/2008,20:30,nc,us,light,120,35.0525,-78.8786111 +9/30/2009,07:36,az,us,disk,60,34.3616667,-110.2947222 +9/30/2009,16:00,,gb,other,1,52.166667,-2.166667 +9/30/2009,19:30,tx,us,circle,1200,29.7630556,-95.3630556 +9/30/2009,19:35,mo,us,disk,20,38.6272222,-90.1977778 +9/30/2009,21:00,il,us,triangle,7200,42.19,-87.9083333 +9/30/2009,21:30,il,us,light,5,42.1538889,-88.1361111 +9/30/2009,22:30,fl,us,cigar,120,27.273049,-80.358226 +9/30/2010,02:25,in,us,flash,35,40.2794444,-86.5108333 +9/30/2010,02:50,tx,us,triangle,30,32.7252778,-97.3205556 +9/30/2010,05:30,wa,us,triangle,600,47.6733333,-117.2383333 +9/30/2010,07:00,mi,us,sphere,480,42.6388889,-83.2911111 +9/30/2010,10:30,sc,us,changing,1800,34.0013889,-81.7722222 +9/30/2010,10:37,tx,us,disk,300,33.0197222,-96.6986111 +9/30/2010,13:05,ia,us,triangle,0.5,42.0083333,-91.6438889 +9/30/2010,19:00,wi,us,diamond,3600,42.6780556,-88.2761111 +9/30/2010,19:19,ut,us,light,1200,40.8716667,-111.8913889 +9/30/2010,20:00,mi,us,sphere,600,42.6183333,-82.5311111 +9/30/2010,20:23,ca,us,light,480,34.4263889,-117.3 +9/30/2010,21:00,tn,us,disk,15,36.163287,-86.782412 +9/30/2010,21:30,il,us,light,600,41.85,-87.65 +9/30/2010,21:55,wi,us,triangle,7,43.319727,-87.953423 +9/30/2010,22:00,co,us,triangle,3,37.9452778,-104.8347222 +9/30/2010,22:30,ga,us,light,30,33.3047222,-83.6833333 +9/30/2010,22:30,mn,us,light,3600,47.8325,-96.1330556 +9/30/2010,23:00,ca,us,unknown,1800,33.8675,-117.9972222 +9/30/2010,23:00,ky,us,triangle,180,37.0833333,-88.6 +9/30/2011,03:00,fl,us,chevron,1200,25.7902778,-80.1302778 +9/30/2011,03:46,nj,us,circle,5,40.8041667,-74.0125 +9/30/2011,12:19,ny,us,cigar,45,42.9911111,-76.8025 +9/30/2011,17:40,tn,us,sphere,30,36.4194444,-82.3041667 +9/30/2011,19:35,tn,us,oval,300,35.9605556,-83.9208333 +9/30/2011,20:00,wi,us,triangle,300,42.9763889,-88.1083333 +9/30/2011,20:30,ct,us,fireball,900,41.5622222,-72.6511111 +9/30/2011,20:30,nj,us,unknown,300,39.1533333,-74.6933333 +9/30/2011,21:00,ne,us,sphere,3600,41.1366667,-95.8905556 +9/30/2011,21:07,tx,us,other,10,31.1238889,-97.9027778 +9/30/2011,21:48,ne,us,chevron,60,41.2586111,-95.9375 +9/30/2011,21:50,ar,us,diamond,120,35.2505556,-91.7361111 +9/30/2011,21:51,tx,us,unknown,10,31.1238889,-97.9027778 +9/30/2011,22:30,tx,us,light,15,29.8986111,-93.9286111 +9/30/2011,22:45,az,us,triangle,30,35.022485,-114.58927 +9/30/2011,23:00,wa,us,fireball,300,45.6388889,-122.6602778 +9/30/2011,23:00,wa,us,light,240,45.6388889,-122.6602778 +9/30/2011,23:15,wa,us,fireball,30,45.6388889,-122.6602778 +9/30/2011,23:30,fl,us,formation,4,29.599252,-81.188856 +9/30/2012,00:00,fl,us,circle,300,26.4611111,-80.0730556 +9/30/2012,00:00,in,us,fireball,300,39.7683333,-86.1580556 +9/30/2012,00:16,mn,us,fireball,180,44.7894444,-93.6019444 +9/30/2012,00:30,,gb,circle,300,51.514125,-0.093689 +9/30/2012,01:00,wa,us,light,3600,47.6105556,-122.1994444 +9/30/2012,04:00,nh,us,cigar,38,43.1977778,-70.8741667 +9/30/2012,04:55,ks,us,circle,360,38.8791667,-99.3263889 +9/30/2012,07:15,tn,us,circle,1200,36.3047222,-86.62 +9/30/2012,08:20,mo,us,triangle,180,36.7958333,-89.9577778 +9/30/2012,15:50,ca,us,oval,900,34.0522222,-118.2427778 +9/30/2012,18:45,on,ca,sphere,30,43.433333,-79.666667 +9/30/2012,19:00,hi,us,cone,18000,20.9541667,-156.6897222 +9/30/2012,20:00,wa,us,other,420,47.6588889,-117.425 +9/30/2012,20:15,or,us,fireball,180,45.5236111,-122.675 +9/30/2012,21:40,ca,us,triangle,300,34.0852778,-117.96 +9/30/2012,21:45,il,us,fireball,600,42.3333333,-88.2666667 +9/30/2012,22:00,ny,us,flash,5,41.9269444,-73.9977778 +9/30/2012,23:00,qc,ca,triangle,300,45.433333,-75.733333 +9/30/2013,00:10,ny,us,formation,420,40.579532,-74.150201 +9/30/2013,03:30,ny,us,changing,3600,44.505,-73.4805556 +9/30/2013,07:30,mi,us,teardrop,600,43.2341667,-86.2483333 +9/30/2013,18:10,tn,us,cylinder,240,35.2016667,-88.2391667 +9/30/2013,19:00,ma,us,oval,1200,42.4369444,-71.5061111 +9/30/2013,20:00,wi,us,light,1200,43.9680556,-88.9433333 +9/30/2013,20:10,md,us,unknown,240,39.6236111,-77.4111111 +9/30/2013,20:30,mn,us,triangle,2700,44.8041667,-93.1666667 +9/30/2013,21:30,ma,us,triangle,120,41.6894444,-70.1569444 +9/30/2013,22:30,nj,us,unknown,1200,40.6966667,-74.9411111 diff --git a/lib/tasks/project_components/persuasive_data_presentation_ufo_example/xy.py b/lib/tasks/project_components/persuasive_data_presentation_ufo_example/xy.py new file mode 100644 index 00000000..2947f63c --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_ufo_example/xy.py @@ -0,0 +1,26 @@ +#!/bin/python3 +from math import radians, pi, log, tan + +def convert_lat_long(latitude, longitude, map_width, map_height): + + false_easting = 180 + radius = map_width / (2 * pi) + latitude = radians(latitude) + longitude = radians(longitude + false_easting) + + x_coord = longitude * radius + + y_dist_from_equator = radius * log(tan(pi / 4 + latitude / 2)) + y_coord = map_height / 2 - y_dist_from_equator + + coords = {'x': x_coord, 'y': y_coord} + + return coords + + +def get_xy_coords(longitude, latitude, map_width=991, map_height=768): + + coords = None + + coords = convert_lat_long(latitude, longitude, map_width, map_height) + return coords diff --git a/lib/tasks/project_components/persuasive_data_presentation_ufo_starter/main.py b/lib/tasks/project_components/persuasive_data_presentation_ufo_starter/main.py new file mode 100644 index 00000000..f38e7ec4 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_ufo_starter/main.py @@ -0,0 +1,3 @@ +#!/bin/python3 + +# CSV Headings: 0 Year, 1 Month, 2 Day, 3 Name, 4 Location, 5 Country, 6 Latitude, 7 Longitude, 8 Elevation, 9 Type, 10 Status diff --git a/lib/tasks/project_components/persuasive_data_presentation_ufo_starter/mercator.jpeg b/lib/tasks/project_components/persuasive_data_presentation_ufo_starter/mercator.jpeg new file mode 100644 index 00000000..c964a51d Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_ufo_starter/mercator.jpeg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_ufo_starter/mercator_bw.png b/lib/tasks/project_components/persuasive_data_presentation_ufo_starter/mercator_bw.png new file mode 100644 index 00000000..2123563e Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_ufo_starter/mercator_bw.png differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_ufo_starter/project_config.yml b/lib/tasks/project_components/persuasive_data_presentation_ufo_starter/project_config.yml new file mode 100644 index 00000000..4df63641 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_ufo_starter/project_config.yml @@ -0,0 +1,22 @@ +NAME: "Persuasive Data Presentation: UFO Sightings" +IDENTIFIER: "data-ufo-starter" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "xy" + extension: "py" + location: "xy.py" + index: 1 + default: false + - name: "ufo-sightings" + extension: "csv" + location: "ufo-sightings.csv" + index: 2 + default: false + +IMAGES: + - "mercator.jpeg" + - "mercator_bw.png" diff --git a/lib/tasks/project_components/persuasive_data_presentation_ufo_starter/ufo-sightings.csv b/lib/tasks/project_components/persuasive_data_presentation_ufo_starter/ufo-sightings.csv new file mode 100644 index 00000000..a07a6d76 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_ufo_starter/ufo-sightings.csv @@ -0,0 +1,220 @@ +9/30/2000,02:00,tx,us,fireball,10,31.968599,-99.901813 +9/30/2000,18:24,ca,us,sphere,300,34.2011111,-118.5972222 +9/30/2000,20:00,az,us,circle,15,33.3941667,-110.7858333 +9/30/2000,20:00,az,us,circle,30,33.3941667,-110.7858333 +9/30/2000,20:00,me,us,triangle,15,44.4911,-68.319185 +9/30/2000,20:00,tn,us,light,120,35.1494444,-90.0488889 +9/30/2000,20:00,az,us,other,5,33.4483333,-112.0733333 +9/30/2000,20:00,az,us,fireball,5,33.5091667,-111.8983333 +9/30/2000,21:30,ca,us,circle,600,34.182578,-118.439676 +9/30/2000,21:45,ca,us,formation,120,34.0522222,-118.2427778 +9/30/2000,21:45,ca,us,changing,300,34.1722222,-118.3780556 +9/30/2000,21:47,ca,us,light,180,34.182578,-118.439676 +9/30/2000,22:00,ca,us,light,900,34.25046,-118.433834 +9/30/2000,22:10,,gb,sphere,8,52.083333,1.166667 +9/30/2000,22:25,nv,us,sphere,40,36.175,-115.1363889 +9/30/2000,22:30,ca,us,formation,300,34.182578,-118.439676 +9/30/2000,23:00,ca,us,triangle,480,34.0522222,-118.2427778 +9/30/2000,23:30,tx,us,changing,900,29.4238889,-98.4933333 +9/30/2001,01:05,az,us,fireball,10,33.4483333,-112.0733333 +9/30/2001,01:30,az,us,other,60,33.4147222,-111.9086111 +9/30/2001,01:53,ny,us,light,4,40.7141667,-74.0063889 +9/30/2001,10:00,ca,us,disk,1200,33.8169444,-118.0363889 +9/30/2001,14:25,ca,us,disk,10,36.3275,-119.6447222 +9/30/2001,17:26,or,us,changing,1076,45.5230556,-122.9886111 +9/30/2001,19:00,mo,us,sphere,1200,39.0997222,-94.5783333 +9/30/2001,19:15,or,us,formation,5,45.5236111,-122.675 +9/30/2001,19:45,co,us,sphere,300,39.7047222,-105.0808333 +9/30/2001,20:00,co,us,circle,300,39.7047222,-105.0808333 +9/30/2001,20:00,co,us,sphere,1200,39.7047222,-105.0808333 +9/30/2001,20:00,co,us,sphere,300,39.7047222,-105.0808333 +9/30/2001,21:00,me,us,oval,3600,44.1197222,-70.1080556 +9/30/2001,21:30,ca,us,light,600,36.677737,-121.655501 +9/30/2001,21:50,ca,us,fireball,10,34.2077778,-117.1083333 +9/30/2001,22:00,on,ca,circle,300,45.416667,-75.7 +9/30/2001,23:35,,au,fireball,1200,-34.424,150.893448 +9/30/2002,00:00,,nl,light,1800,52.091874,5.096623 +9/30/2002,04:00,oh,us,disk,900,41.5930556,-81.5269444 +9/30/2002,18:00,oh,us,light,600,39.8438889,-84.1247222 +9/30/2002,18:30,pa,us,oval,30,41.2616667,-75.8972222 +9/30/2002,20:50,mi,us,circle,60,42.7008333,-82.9591667 +9/30/2003,00:30,ok,us,disk,40,35.5066667,-97.7622222 +9/30/2003,01:15,tx,us,oval,12,31.968599,-99.901813 +9/30/2003,03:30,ut,us,other,2,38.7725,-112.0833333 +9/30/2003,12:00,ut,us,sphere,1,38.3122222,-109.2475 +9/30/2003,19:30,ny,us,fireball,10800,44.4988889,-75.3430556 +9/30/2003,19:45,ca,us,unknown,30,37.775,-122.4183333 +9/30/2003,21:00,ny,us,triangle,5,41.0358333,-71.955 +9/30/2003,21:00,ma,us,triangle,20,41.2833333,-70.1 +9/30/2003,22:34,il,us,light,600,42.3683333,-88.8219444 +9/30/2003,24:00:00,tx,us,cylinder,600,31.968599,-99.901813 +9/30/2004,12:00,ma,us,unknown,420,42.3583333,-71.0602778 +9/30/2004,16:00,tn,us,oval,300,36.2433333,-84.67 +9/30/2004,18:00,in,us,disk,2,41.6347222,-84.9994444 +9/30/2004,20:00,wa,us,diamond,120,47.4180556,-122.6297222 +9/30/2004,22:00,ca,us,light,600,38.545,-121.7394444 +9/30/2004,22:10,wa,us,light,3,47.6063889,-122.3308333 +9/30/2004,23:10,ut,us,circle,2,40.7608333,-111.8902778 +9/30/2005,02:10,az,us,fireball,360,34.61,-112.315 +9/30/2005,04:45,il,us,triangle,300,41.5119444,-87.9655556 +9/30/2005,04:55,ky,us,triangle,480,37.0833333,-88.6 +9/30/2005,05:04,ut,us,rectangle,25,40.9805556,-111.8866667 +9/30/2005,07:50,in,us,cigar,360,41.0705556,-85.0144444 +9/30/2005,07:50,ca,us,disk,600,38.3566667,-121.9866667 +9/30/2005,09:30,tx,us,light,240,29.4238889,-98.4933333 +9/30/2005,10:00,pa,us,cigar,7200,40.9133333,-77.7786111 +9/30/2005,15:15,ky,us,rectangle,1830,36.8297222,-84.8491667 +9/30/2005,16:00,ny,us,other,600,40.7141667,-74.0063889 +9/30/2005,18:28,fl,us,disk,60,26.2708333,-80.2708333 +9/30/2005,18:45,nv,us,fireball,60,39.5297222,-119.8127778 +9/30/2005,19:20,il,us,light,8,41.1416667,-87.875 +9/30/2005,19:35,,mn,disk,180,47.92,106.92 +9/30/2005,20:15,ny,us,light,900,42.244601,-73.891173 +9/30/2005,20:20,az,us,sphere,40,34.3908333,-110.5525 +9/30/2005,20:30,il,us,flash,120,41.7880556,-87.8102778 +9/30/2005,20:52,ca,us,sphere,8,34.2783333,-119.2922222 +9/30/2005,21:15,il,us,light,180,41.85,-87.65 +9/30/2005,21:45,co,us,triangle,20,38.2544444,-104.6086111 +9/30/2005,22:00,in,us,light,20,38.7327778,-86.4736111 +9/30/2005,22:30,pa,us,circle,2700,40.7816667,-76.3461111 +9/30/2005,22:30,il,us,cigar,240,42.2411111,-88.3161111 +9/30/2005,23:00,il,us,light,300,41.5119444,-87.9655556 +9/30/2005,23:00,il,us,light,1200,41.6027778,-87.7438889 +9/30/2005,23:00,il,us,sphere,600,41.6027778,-87.7438889 +9/30/2005,23:00,il,us,triangle,1800,41.6027778,-87.7438889 +9/30/2005,23:00,il,us,light,900,41.5852778,-87.8430556 +9/30/2005,23:00,il,us,unknown,900,41.5852778,-87.8430556 +9/30/2005,23:00,il,us,circle,7200,41.6302778,-87.8538889 +9/30/2005,23:00,il,us,light,2700,41.6302778,-87.8538889 +9/30/2005,23:00,il,us,light,2700,41.6302778,-87.8538889 +9/30/2005,23:00,il,us,light,420,41.6302778,-87.8538889 +9/30/2005,23:00,il,us,other,900,41.6302778,-87.8538889 +9/30/2005,23:00,il,us,circle,900,41.5733333,-87.7844444 +9/30/2005,23:00,il,us,light,1800,41.5733333,-87.7844444 +9/30/2005,23:00,il,us,light,3600,41.5733333,-87.7844444 +9/30/2005,23:00,il,us,light,600,41.5733333,-87.7844444 +9/30/2005,23:00,il,us,light,900,41.5733333,-87.7844444 +9/30/2005,23:00,il,us,triangle,1200,41.5733333,-87.7844444 +9/30/2005,23:00,il,us,unknown,1800,41.5733333,-87.7844444 +9/30/2005,23:10,il,us,light,1500,41.599289,-87.961718 +9/30/2005,23:15,il,us,circle,1200,41.6027778,-87.7438889 +9/30/2005,23:15,il,us,light,1800,41.6027778,-87.7438889 +9/30/2005,23:15,il,us,sphere,600,41.6027778,-87.7438889 +9/30/2005,23:15,il,us,formation,1500,41.6302778,-87.8538889 +9/30/2005,23:15,il,us,light,900,41.7613889,-88.4436111 +9/30/2005,23:15,il,us,unknown,900,41.5733333,-87.7844444 +9/30/2005,23:18,il,us,circle,600,41.5733333,-87.7844444 +9/30/2005,23:23,il,us,light,300,41.6680556,-87.7963889 +9/30/2005,23:25,il,us,light,600,41.6302778,-87.8538889 +9/30/2005,23:25,il,us,light,600,41.5733333,-87.7844444 +9/30/2005,23:30,ab,ca,light,8,55.166667,-118.8 +9/30/2005,23:30,il,us,circle,300,41.6027778,-87.7438889 +9/30/2005,23:30,il,us,triangle,900,41.6302778,-87.8538889 +9/30/2005,23:30,il,us,changing,1200,41.5733333,-87.7844444 +9/30/2005,23:30,il,us,circle,1200,41.5733333,-87.7844444 +9/30/2005,23:45,az,us,light,30,32.2216667,-110.9258333 +9/30/2005,23:50,il,us,light,1200,41.6302778,-87.8538889 +9/30/2006,01:00,hi,us,light,60,21.9811111,-159.3711111 +9/30/2006,03:00,va,us,triangle,720,36.8255556,-79.3983333 +9/30/2006,08:30,ca,us,light,1200,33.7669444,-118.1883333 +9/30/2006,14:00,ak,us,disk,2700,61.2180556,-149.9002778 +9/30/2006,14:30,ak,us,disk,1800,61.2180556,-149.9002778 +9/30/2006,19:00,nm,us,unknown,2,35.0844444,-106.6505556 +9/30/2006,19:00,oh,us,sphere,600,39.5030556,-82.0847222 +9/30/2006,22:00,il,us,diamond,600,41.525,-88.0816667 +9/30/2006,23:00,nm,us,triangle,3600,32.3122222,-106.7777778 +9/30/2006,23:30,ut,us,teardrop,20,40.5,-111.95 +9/30/2007,00:11,ga,us,flash,20,34.7697222,-84.9702778 +9/30/2007,00:25,ne,us,triangle,120,41.1838889,-96.0308333 +9/30/2007,01:00,ga,us,light,900,32.4608333,-84.9877778 +9/30/2007,12:00,ca,us,circle,1200,37.9358333,-122.3466667 +9/30/2007,16:50,ca,us,sphere,180,33.6188889,-117.9280556 +9/30/2007,17:30,ne,us,cigar,1,33.639236,-111.007724 +9/30/2007,18:30,nc,us,other,300,34.4872222,-78.6563889 +9/30/2007,18:30,wy,us,other,1500,41.3113889,-105.5905556 +9/30/2007,19:30,il,us,sphere,300,42.3702778,-87.9019444 +9/30/2007,19:53,ar,us,light,15,35.0011111,-92.6297222 +9/30/2007,20:20,pa,us,unknown,240,39.8277778,-77.9036111 +9/30/2007,21:14,az,us,other,120,33.4147222,-111.9086111 +9/30/2007,21:35,mb,ca,triangle,10,49.883333,-97.166667 +9/30/2007,21:45,co,us,formation,10,40.3977778,-105.0744444 +9/30/2007,22:00,ga,us,triangle,90,32.5380556,-81.9325 +9/30/2007,22:00,ga,us,triangle,90,32.5380556,-81.9325 +9/30/2008,01:25,nm,us,diamond,120,35.5938889,-105.2233333 +9/30/2008,06:15,tx,us,other,5,30.2669444,-97.7427778 +9/30/2008,08:00,ga,us,other,600,33.9411111,-84.2136111 +9/30/2008,13:00,tx,us,other,240,29.7630556,-95.3630556 +9/30/2008,20:30,nc,us,light,120,35.0525,-78.8786111 +9/30/2009,07:36,az,us,disk,60,34.3616667,-110.2947222 +9/30/2009,16:00,,gb,other,1,52.166667,-2.166667 +9/30/2009,19:30,tx,us,circle,1200,29.7630556,-95.3630556 +9/30/2009,19:35,mo,us,disk,20,38.6272222,-90.1977778 +9/30/2009,21:00,il,us,triangle,7200,42.19,-87.9083333 +9/30/2009,21:30,il,us,light,5,42.1538889,-88.1361111 +9/30/2009,22:30,fl,us,cigar,120,27.273049,-80.358226 +9/30/2010,02:25,in,us,flash,35,40.2794444,-86.5108333 +9/30/2010,02:50,tx,us,triangle,30,32.7252778,-97.3205556 +9/30/2010,05:30,wa,us,triangle,600,47.6733333,-117.2383333 +9/30/2010,07:00,mi,us,sphere,480,42.6388889,-83.2911111 +9/30/2010,10:30,sc,us,changing,1800,34.0013889,-81.7722222 +9/30/2010,10:37,tx,us,disk,300,33.0197222,-96.6986111 +9/30/2010,13:05,ia,us,triangle,0.5,42.0083333,-91.6438889 +9/30/2010,19:00,wi,us,diamond,3600,42.6780556,-88.2761111 +9/30/2010,19:19,ut,us,light,1200,40.8716667,-111.8913889 +9/30/2010,20:00,mi,us,sphere,600,42.6183333,-82.5311111 +9/30/2010,20:23,ca,us,light,480,34.4263889,-117.3 +9/30/2010,21:00,tn,us,disk,15,36.163287,-86.782412 +9/30/2010,21:30,il,us,light,600,41.85,-87.65 +9/30/2010,21:55,wi,us,triangle,7,43.319727,-87.953423 +9/30/2010,22:00,co,us,triangle,3,37.9452778,-104.8347222 +9/30/2010,22:30,ga,us,light,30,33.3047222,-83.6833333 +9/30/2010,22:30,mn,us,light,3600,47.8325,-96.1330556 +9/30/2010,23:00,ca,us,unknown,1800,33.8675,-117.9972222 +9/30/2010,23:00,ky,us,triangle,180,37.0833333,-88.6 +9/30/2011,03:00,fl,us,chevron,1200,25.7902778,-80.1302778 +9/30/2011,03:46,nj,us,circle,5,40.8041667,-74.0125 +9/30/2011,12:19,ny,us,cigar,45,42.9911111,-76.8025 +9/30/2011,17:40,tn,us,sphere,30,36.4194444,-82.3041667 +9/30/2011,19:35,tn,us,oval,300,35.9605556,-83.9208333 +9/30/2011,20:00,wi,us,triangle,300,42.9763889,-88.1083333 +9/30/2011,20:30,ct,us,fireball,900,41.5622222,-72.6511111 +9/30/2011,20:30,nj,us,unknown,300,39.1533333,-74.6933333 +9/30/2011,21:00,ne,us,sphere,3600,41.1366667,-95.8905556 +9/30/2011,21:07,tx,us,other,10,31.1238889,-97.9027778 +9/30/2011,21:48,ne,us,chevron,60,41.2586111,-95.9375 +9/30/2011,21:50,ar,us,diamond,120,35.2505556,-91.7361111 +9/30/2011,21:51,tx,us,unknown,10,31.1238889,-97.9027778 +9/30/2011,22:30,tx,us,light,15,29.8986111,-93.9286111 +9/30/2011,22:45,az,us,triangle,30,35.022485,-114.58927 +9/30/2011,23:00,wa,us,fireball,300,45.6388889,-122.6602778 +9/30/2011,23:00,wa,us,light,240,45.6388889,-122.6602778 +9/30/2011,23:15,wa,us,fireball,30,45.6388889,-122.6602778 +9/30/2011,23:30,fl,us,formation,4,29.599252,-81.188856 +9/30/2012,00:00,fl,us,circle,300,26.4611111,-80.0730556 +9/30/2012,00:00,in,us,fireball,300,39.7683333,-86.1580556 +9/30/2012,00:16,mn,us,fireball,180,44.7894444,-93.6019444 +9/30/2012,00:30,,gb,circle,300,51.514125,-0.093689 +9/30/2012,01:00,wa,us,light,3600,47.6105556,-122.1994444 +9/30/2012,04:00,nh,us,cigar,38,43.1977778,-70.8741667 +9/30/2012,04:55,ks,us,circle,360,38.8791667,-99.3263889 +9/30/2012,07:15,tn,us,circle,1200,36.3047222,-86.62 +9/30/2012,08:20,mo,us,triangle,180,36.7958333,-89.9577778 +9/30/2012,15:50,ca,us,oval,900,34.0522222,-118.2427778 +9/30/2012,18:45,on,ca,sphere,30,43.433333,-79.666667 +9/30/2012,19:00,hi,us,cone,18000,20.9541667,-156.6897222 +9/30/2012,20:00,wa,us,other,420,47.6588889,-117.425 +9/30/2012,20:15,or,us,fireball,180,45.5236111,-122.675 +9/30/2012,21:40,ca,us,triangle,300,34.0852778,-117.96 +9/30/2012,21:45,il,us,fireball,600,42.3333333,-88.2666667 +9/30/2012,22:00,ny,us,flash,5,41.9269444,-73.9977778 +9/30/2012,23:00,qc,ca,triangle,300,45.433333,-75.733333 +9/30/2013,00:10,ny,us,formation,420,40.579532,-74.150201 +9/30/2013,03:30,ny,us,changing,3600,44.505,-73.4805556 +9/30/2013,07:30,mi,us,teardrop,600,43.2341667,-86.2483333 +9/30/2013,18:10,tn,us,cylinder,240,35.2016667,-88.2391667 +9/30/2013,19:00,ma,us,oval,1200,42.4369444,-71.5061111 +9/30/2013,20:00,wi,us,light,1200,43.9680556,-88.9433333 +9/30/2013,20:10,md,us,unknown,240,39.6236111,-77.4111111 +9/30/2013,20:30,mn,us,triangle,2700,44.8041667,-93.1666667 +9/30/2013,21:30,ma,us,triangle,120,41.6894444,-70.1569444 +9/30/2013,22:30,nj,us,unknown,1200,40.6966667,-74.9411111 diff --git a/lib/tasks/project_components/persuasive_data_presentation_ufo_starter/xy.py b/lib/tasks/project_components/persuasive_data_presentation_ufo_starter/xy.py new file mode 100644 index 00000000..2947f63c --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_ufo_starter/xy.py @@ -0,0 +1,26 @@ +#!/bin/python3 +from math import radians, pi, log, tan + +def convert_lat_long(latitude, longitude, map_width, map_height): + + false_easting = 180 + radius = map_width / (2 * pi) + latitude = radians(latitude) + longitude = radians(longitude + false_easting) + + x_coord = longitude * radius + + y_dist_from_equator = radius * log(tan(pi / 4 + latitude / 2)) + y_coord = map_height / 2 - y_dist_from_equator + + coords = {'x': x_coord, 'y': y_coord} + + return coords + + +def get_xy_coords(longitude, latitude, map_width=991, map_height=768): + + coords = None + + coords = convert_lat_long(latitude, longitude, map_width, map_height) + return coords diff --git a/lib/tasks/project_components/persuasive_data_presentation_volcano_example/main.py b/lib/tasks/project_components/persuasive_data_presentation_volcano_example/main.py new file mode 100644 index 00000000..574a2c76 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_volcano_example/main.py @@ -0,0 +1,82 @@ +#!/bin/python3 +from p5 import * +from random import randint + +# A visualisation of volcano erruptions since 2010 + +# CSV Headings: 0 Year, 1 Month, 2 Day, 3 Name, 4 Location, 5 Country, 6 Latitude, 7 Longitude, 8 Elevation, 9 Type, 10 Status + +from xy import get_xy_coords + +colours = {} + +# Draw the volcano on the map +def draw_volcano(colour, x, y): + + fill(colour) + ellipse(x, y, 12, 12) + +def setup(): + + size(991, 768) + global map + map = load_image('mercator.jpeg') + load_data('volcano-data.csv') + image( + map, # The image to draw + 0, # The x of the top-left corner + 0, # The y of the top-left corner + width, # The width of the image + height # The height of the image + ) + draw_data() + +def load_data(file_name): + + # Create a dictionary for each siting based on the data in the csv file + + global volcano_eruptions + + volcano_eruptions = [] + + with open(file_name) as f: + for line in f: + info = line.split(',') + volcano_dict = { + 'longitude': info[7], + 'latitude': info[6], + 'year': info[0], + 'region': info[5] + } + volcano_eruptions.append(volcano_dict) # Store dictionary in a list + +def draw_data(): + + no_stroke() + + # Use the lat and long data to calculate the x y coords for the shape + for eruption in volcano_eruptions: + longitude = float(eruption['longitude']) + latitude = float(eruption['latitude']) + region_coords = get_xy_coords(longitude, latitude) + region_x = region_coords['x'] + region_y = region_coords['y'] + colour = Color(randint(0,255), randint(0,255), randint(0,255)) # Select a random colour + colours[colour] = eruption + draw_volcano(colour, region_x, region_y) + + +def mouse_pressed(): +# Put code to run when the mouse is pressed here + pixel_colour = Color(get(mouse_x, mouse_y)) + if pixel_colour in colours: + facts = colours[pixel_colour] + print('A volcano erupted in ' + facts['region'] + ' in ' + facts['year']) + else: + print('Region not detected') + +def draw(): + pass + + +run() diff --git a/lib/tasks/project_components/persuasive_data_presentation_volcano_example/mercator.jpeg b/lib/tasks/project_components/persuasive_data_presentation_volcano_example/mercator.jpeg new file mode 100644 index 00000000..c964a51d Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_volcano_example/mercator.jpeg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_volcano_example/mercator_bw.png b/lib/tasks/project_components/persuasive_data_presentation_volcano_example/mercator_bw.png new file mode 100644 index 00000000..2123563e Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_volcano_example/mercator_bw.png differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_volcano_example/project_config.yml b/lib/tasks/project_components/persuasive_data_presentation_volcano_example/project_config.yml new file mode 100644 index 00000000..2d7b1274 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_volcano_example/project_config.yml @@ -0,0 +1,22 @@ +NAME: "Persuasive Data Presentation: Volcanic Eruptions Example" +IDENTIFIER: "data-volcano-example" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "xy" + extension: "py" + location: "xy.py" + index: 1 + default: false + - name: "volcano-data" + extension: "csv" + location: "volcano-data.csv" + index: 2 + default: false + +IMAGES: + - "mercator.jpeg" + - "mercator_bw.png" diff --git a/lib/tasks/project_components/persuasive_data_presentation_volcano_example/volcano-data.csv b/lib/tasks/project_components/persuasive_data_presentation_volcano_example/volcano-data.csv new file mode 100644 index 00000000..338959fd --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_volcano_example/volcano-data.csv @@ -0,0 +1,63 @@ +2010,1,,Tungurahua,Ecuador,Ecuador,-1.467,-78.442,5023,Stratovolcano,Historical +2010,3,31,Eyjafjallajokull,Iceland-S,Iceland,63.63,-19.62,1666,Stratovolcano,Historical +2010,5,27,Pacaya,Guatemala,Guatemala,14.381,-90.601,2552,Complex volcano,Historical +2010,5,29,Sarigan,Mariana Is-C Pacific,United States,16.708,145.78,538,Stratovolcano,Holocene +2010,8,6,Karangetang [Api Siau],Sangihe Is-Indonesia,Indonesia,2.78,125.48,1784,Stratovolcano,Historical +2010,8,30,Sinabung,Sumatra,Indonesia,3.17,98.392,2460,Stratovolcano,Holocene +2010,10,26,Merapi,Java,Indonesia,-7.542,110.442,2947,Stratovolcano,Historical +2010,11,,Tungurahua,Ecuador,Ecuador,-1.467,-78.442,5023,Stratovolcano,Historical +2010,12,28,Tengger Caldera,Java,Indonesia,-7.942,112.95,2329,Stratovolcano,Historical +2011,1,3,Merapi,Java,Indonesia,-7.542,110.442,2947,Stratovolcano,Historical +2011,1,28,Kirishima,Kyushu-Japan,Japan,31.93,130.87,1700,Shield volcano,Historical +2011,2,23,Bulusan,Luzon-Philippines,Philippines,12.77,124.05,1565,Stratovolcano,Historical +2011,3,18,Karangetang [Api Siau],Sangihe Is-Indonesia,Indonesia,2.78,125.48,1784,Stratovolcano,Historical +2011,4,,Tungurahua,Ecuador,Ecuador,-1.467,-78.442,5023,Stratovolcano,Historical +2011,6,4,Puyehue,Chile-C,Chile,-40.59,-72.117,2236,Stratovolcano,Holocene +2011,6,22,Nabro,Africa-NE,Eritrea,13.37,41.7,2218,Stratovolcano,Holocene +2011,7,9,Katla,Iceland-S,Iceland,63.63,-19.05,1512,Subglacial volcano,Historical +2011,7,17,Lokon-Empung,Sulawesi-Indonesia,Indonesia,1.358,124.792,1580,Stratovolcano,Historical +2011,12,27,Gamalama,Halmahera-Indonesia,Indonesia,0.8,127.325,1715,Stratovolcano,Historical +2012,2,10,Kilauea,Hawaiian Is,United States,19.425,-155.292,1222,Shield volcano,Historical +2012,3,2,Kilauea,Hawaiian Is,United States,19.425,-155.292,1222,Shield volcano,Historical +2012,12,12,Tolbachik,Kamchatka,Russia,55.83,160.33,3682,Shield volcano,Historical +2013,2,12,Merapi,Java,Indonesia,-7.542,110.442,2947,Stratovolcano,Historical +2013,2,,Paluweh,Lesser Sunda Is,Indonesia,-8.32,121.708,875,Stratovolcano,Historical +2013,5,7,Mayon,Luzon-Philippines,Philippines,13.257,123.685,2462,Stratovolcano,Historical +2013,8,10,Paluweh,Lesser Sunda Is,Indonesia,-8.32,121.708,875,Stratovolcano,Historical +2013,9,1,Ubinas,Peru,Peru,-16.355,-70.903,5672,Stratovolcano,Historical +2013,9,4,Sakura-jima,Kyushu-Japan,Japan,31.58,130.67,1117,Stratovolcano,Historical +2013,9,15,Sinabung,Sumatra,Indonesia,3.17,98.392,2460,Stratovolcano,Holocene +2013,12,13,Okataina,New Zealand,New Zealand,-38.12,176.5,1111,Lava dome,Historical +2014,2,1,Sinabung,Sumatra,Indonesia,3.17,98.392,2460,Stratovolcano,Holocene +2014,2,13,Kelut,Java,Indonesia,-7.93,112.308,1731,Stratovolcano,Historical +2014,9,27,On-take,Honshu-Japan,Japan,35.9,137.48,3063,Complex volcano,Historical +2014,11,10,Kilauea,Hawaiian Is,United States,19.425,-155.292,1222,Shield volcano,Historical +2014,11,23,Fogo,Cape Verde Is,Cape Verde,14.95,-24.35,2829,Stratovolcano,Historical +2014,12,18,Gamalama,Halmahera-Indonesia,Indonesia,0.8,127.325,1715,Stratovolcano,Historical +2015,2,20,Sinabung,Sumatra,Indonesia,3.17,98.392,2460,Stratovolcano,Holocene +2015,4,22,Calbuco,Chile-S,Chile,-41.326,-72.614,2003,Stratovolcano,Historical +2015,5,7,Karangetang [Api Siau],Sangihe Is-Indonesia,Indonesia,2.78,125.48,1784,Stratovolcano,Historical +2015,7,31,Manam,New Guinea-NE of,Papua New Guinea,-4.1,145.061,1807,Stratovolcano,Historical +2015,10,16,Sinabung,Sumatra,Indonesia,3.17,98.392,2460,Stratovolcano,Holocene +2015,10,,Okataina,New Zealand,New Zealand,-38.12,176.5,1111,Lava dome,Historical +2016,5,9,Sinabung,Sumatra,Indonesia,3.17,98.392,2460,Stratovolcano,Holocene +2016,5,21,Sinabung,Sumatra,Indonesia,3.17,98.392,2460,Stratovolcano,Holocene +2016,6,9,Yellowstone,US-Wyoming,United States,44.43,-110.67,2805,Caldera,Tephrochronology +2016,9,27,Rinjani,Lesser Sunda Is,Indonesia,-8.42,116.47,3726,Stratovolcano,Historical +2016,10,8,Aso,Kyushu-Japan,Japan,32.88,131.1,1592,Caldera,Historical +2017,3,15,Etna,Italy,Italy,37.734,15.004,3350,Stratovolcano,Historical +2017,4,13,Sinabung,Sumatra,Indonesia,3.17,98.392,2460,Stratovolcano,Holocene +2017,6,6,Fuego,Guatemala,Guatemala,14.473,-90.88,3763,Stratovolcano,Historical +2017,7,1,Dieng Volc Complex,Java,Indonesia,-7.2,109.92,2565,Complex volcano,Historical +2017,9,12,Campi Flegrei,Italy,Italy,40.827,14.139,458,Caldera,Historical +2017,9,23,Aoba,Vanuatu-SW Pacific,Vanuatu,-15.4,167.83,1496,Shield volcano,Historical +2017,12,18,Merapi,Java,Indonesia,-7.542,110.442,2947,Stratovolcano,Historical +2017,12,27,Sinabung,Sumatra,Indonesia,3.17,98.392,2460,Stratovolcano,Holocene +2018,1,5,Kadovar,New Guinea-NE of,Papua New Guinea,-3.62,144.62,365,Stratovolcano,Holocene +2018,1,13,Mayon,Luzon-Philippines,Philippines,13.257,123.685,2462,Stratovolcano,Historical +2018,1,23,Kusatsu-Shirane,Honshu-Japan,Japan,36.62,138.55,2176,Stratovolcano,Historical +2018,2,1,Kilauea,Hawaiian Is,United States,19.425,-155.292,1222,Shield volcano,Historical +2018,2,9,Kadovar,New Guinea-NE of,Papua New Guinea,-3.62,144.62,365,Stratovolcano,Holocene +2018,3,21,Ijen,Java,Indonesia,-8.058,114.242,2799,Stratovolcano,Historical +2018,4,28,Kilauea,Hawaiian Is,United States,19.425,-155.292,1222,Shield volcano,Historical +2018,4,,Aoba,Vanuatu-SW Pacific,Vanuatu,-15.4,167.83,1496,Shield volcano,Historical diff --git a/lib/tasks/project_components/persuasive_data_presentation_volcano_example/xy.py b/lib/tasks/project_components/persuasive_data_presentation_volcano_example/xy.py new file mode 100644 index 00000000..2947f63c --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_volcano_example/xy.py @@ -0,0 +1,26 @@ +#!/bin/python3 +from math import radians, pi, log, tan + +def convert_lat_long(latitude, longitude, map_width, map_height): + + false_easting = 180 + radius = map_width / (2 * pi) + latitude = radians(latitude) + longitude = radians(longitude + false_easting) + + x_coord = longitude * radius + + y_dist_from_equator = radius * log(tan(pi / 4 + latitude / 2)) + y_coord = map_height / 2 - y_dist_from_equator + + coords = {'x': x_coord, 'y': y_coord} + + return coords + + +def get_xy_coords(longitude, latitude, map_width=991, map_height=768): + + coords = None + + coords = convert_lat_long(latitude, longitude, map_width, map_height) + return coords diff --git a/lib/tasks/project_components/persuasive_data_presentation_volcano_starter/main.py b/lib/tasks/project_components/persuasive_data_presentation_volcano_starter/main.py new file mode 100644 index 00000000..f38e7ec4 --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_volcano_starter/main.py @@ -0,0 +1,3 @@ +#!/bin/python3 + +# CSV Headings: 0 Year, 1 Month, 2 Day, 3 Name, 4 Location, 5 Country, 6 Latitude, 7 Longitude, 8 Elevation, 9 Type, 10 Status diff --git a/lib/tasks/project_components/persuasive_data_presentation_volcano_starter/mercator.jpeg b/lib/tasks/project_components/persuasive_data_presentation_volcano_starter/mercator.jpeg new file mode 100644 index 00000000..c964a51d Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_volcano_starter/mercator.jpeg differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_volcano_starter/mercator_bw.png b/lib/tasks/project_components/persuasive_data_presentation_volcano_starter/mercator_bw.png new file mode 100644 index 00000000..2123563e Binary files /dev/null and b/lib/tasks/project_components/persuasive_data_presentation_volcano_starter/mercator_bw.png differ diff --git a/lib/tasks/project_components/persuasive_data_presentation_volcano_starter/project_config.yml b/lib/tasks/project_components/persuasive_data_presentation_volcano_starter/project_config.yml new file mode 100644 index 00000000..e0657fac --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_volcano_starter/project_config.yml @@ -0,0 +1,22 @@ +NAME: "Persuasive Data Presentation: Volcanic Eruptions" +IDENTIFIER: "data-volcano-starter" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "xy" + extension: "py" + location: "xy.py" + index: 1 + default: false + - name: "volcano-data" + extension: "txt" + location: "volcano-data.txt" + index: 2 + default: false + +IMAGES: + - "mercator.jpeg" + - "mercator_bw.png" diff --git a/lib/tasks/project_components/persuasive_data_presentation_volcano_starter/volcano-data.txt b/lib/tasks/project_components/persuasive_data_presentation_volcano_starter/volcano-data.txt new file mode 100644 index 00000000..338959fd --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_volcano_starter/volcano-data.txt @@ -0,0 +1,63 @@ +2010,1,,Tungurahua,Ecuador,Ecuador,-1.467,-78.442,5023,Stratovolcano,Historical +2010,3,31,Eyjafjallajokull,Iceland-S,Iceland,63.63,-19.62,1666,Stratovolcano,Historical +2010,5,27,Pacaya,Guatemala,Guatemala,14.381,-90.601,2552,Complex volcano,Historical +2010,5,29,Sarigan,Mariana Is-C Pacific,United States,16.708,145.78,538,Stratovolcano,Holocene +2010,8,6,Karangetang [Api Siau],Sangihe Is-Indonesia,Indonesia,2.78,125.48,1784,Stratovolcano,Historical +2010,8,30,Sinabung,Sumatra,Indonesia,3.17,98.392,2460,Stratovolcano,Holocene +2010,10,26,Merapi,Java,Indonesia,-7.542,110.442,2947,Stratovolcano,Historical +2010,11,,Tungurahua,Ecuador,Ecuador,-1.467,-78.442,5023,Stratovolcano,Historical +2010,12,28,Tengger Caldera,Java,Indonesia,-7.942,112.95,2329,Stratovolcano,Historical +2011,1,3,Merapi,Java,Indonesia,-7.542,110.442,2947,Stratovolcano,Historical +2011,1,28,Kirishima,Kyushu-Japan,Japan,31.93,130.87,1700,Shield volcano,Historical +2011,2,23,Bulusan,Luzon-Philippines,Philippines,12.77,124.05,1565,Stratovolcano,Historical +2011,3,18,Karangetang [Api Siau],Sangihe Is-Indonesia,Indonesia,2.78,125.48,1784,Stratovolcano,Historical +2011,4,,Tungurahua,Ecuador,Ecuador,-1.467,-78.442,5023,Stratovolcano,Historical +2011,6,4,Puyehue,Chile-C,Chile,-40.59,-72.117,2236,Stratovolcano,Holocene +2011,6,22,Nabro,Africa-NE,Eritrea,13.37,41.7,2218,Stratovolcano,Holocene +2011,7,9,Katla,Iceland-S,Iceland,63.63,-19.05,1512,Subglacial volcano,Historical +2011,7,17,Lokon-Empung,Sulawesi-Indonesia,Indonesia,1.358,124.792,1580,Stratovolcano,Historical +2011,12,27,Gamalama,Halmahera-Indonesia,Indonesia,0.8,127.325,1715,Stratovolcano,Historical +2012,2,10,Kilauea,Hawaiian Is,United States,19.425,-155.292,1222,Shield volcano,Historical +2012,3,2,Kilauea,Hawaiian Is,United States,19.425,-155.292,1222,Shield volcano,Historical +2012,12,12,Tolbachik,Kamchatka,Russia,55.83,160.33,3682,Shield volcano,Historical +2013,2,12,Merapi,Java,Indonesia,-7.542,110.442,2947,Stratovolcano,Historical +2013,2,,Paluweh,Lesser Sunda Is,Indonesia,-8.32,121.708,875,Stratovolcano,Historical +2013,5,7,Mayon,Luzon-Philippines,Philippines,13.257,123.685,2462,Stratovolcano,Historical +2013,8,10,Paluweh,Lesser Sunda Is,Indonesia,-8.32,121.708,875,Stratovolcano,Historical +2013,9,1,Ubinas,Peru,Peru,-16.355,-70.903,5672,Stratovolcano,Historical +2013,9,4,Sakura-jima,Kyushu-Japan,Japan,31.58,130.67,1117,Stratovolcano,Historical +2013,9,15,Sinabung,Sumatra,Indonesia,3.17,98.392,2460,Stratovolcano,Holocene +2013,12,13,Okataina,New Zealand,New Zealand,-38.12,176.5,1111,Lava dome,Historical +2014,2,1,Sinabung,Sumatra,Indonesia,3.17,98.392,2460,Stratovolcano,Holocene +2014,2,13,Kelut,Java,Indonesia,-7.93,112.308,1731,Stratovolcano,Historical +2014,9,27,On-take,Honshu-Japan,Japan,35.9,137.48,3063,Complex volcano,Historical +2014,11,10,Kilauea,Hawaiian Is,United States,19.425,-155.292,1222,Shield volcano,Historical +2014,11,23,Fogo,Cape Verde Is,Cape Verde,14.95,-24.35,2829,Stratovolcano,Historical +2014,12,18,Gamalama,Halmahera-Indonesia,Indonesia,0.8,127.325,1715,Stratovolcano,Historical +2015,2,20,Sinabung,Sumatra,Indonesia,3.17,98.392,2460,Stratovolcano,Holocene +2015,4,22,Calbuco,Chile-S,Chile,-41.326,-72.614,2003,Stratovolcano,Historical +2015,5,7,Karangetang [Api Siau],Sangihe Is-Indonesia,Indonesia,2.78,125.48,1784,Stratovolcano,Historical +2015,7,31,Manam,New Guinea-NE of,Papua New Guinea,-4.1,145.061,1807,Stratovolcano,Historical +2015,10,16,Sinabung,Sumatra,Indonesia,3.17,98.392,2460,Stratovolcano,Holocene +2015,10,,Okataina,New Zealand,New Zealand,-38.12,176.5,1111,Lava dome,Historical +2016,5,9,Sinabung,Sumatra,Indonesia,3.17,98.392,2460,Stratovolcano,Holocene +2016,5,21,Sinabung,Sumatra,Indonesia,3.17,98.392,2460,Stratovolcano,Holocene +2016,6,9,Yellowstone,US-Wyoming,United States,44.43,-110.67,2805,Caldera,Tephrochronology +2016,9,27,Rinjani,Lesser Sunda Is,Indonesia,-8.42,116.47,3726,Stratovolcano,Historical +2016,10,8,Aso,Kyushu-Japan,Japan,32.88,131.1,1592,Caldera,Historical +2017,3,15,Etna,Italy,Italy,37.734,15.004,3350,Stratovolcano,Historical +2017,4,13,Sinabung,Sumatra,Indonesia,3.17,98.392,2460,Stratovolcano,Holocene +2017,6,6,Fuego,Guatemala,Guatemala,14.473,-90.88,3763,Stratovolcano,Historical +2017,7,1,Dieng Volc Complex,Java,Indonesia,-7.2,109.92,2565,Complex volcano,Historical +2017,9,12,Campi Flegrei,Italy,Italy,40.827,14.139,458,Caldera,Historical +2017,9,23,Aoba,Vanuatu-SW Pacific,Vanuatu,-15.4,167.83,1496,Shield volcano,Historical +2017,12,18,Merapi,Java,Indonesia,-7.542,110.442,2947,Stratovolcano,Historical +2017,12,27,Sinabung,Sumatra,Indonesia,3.17,98.392,2460,Stratovolcano,Holocene +2018,1,5,Kadovar,New Guinea-NE of,Papua New Guinea,-3.62,144.62,365,Stratovolcano,Holocene +2018,1,13,Mayon,Luzon-Philippines,Philippines,13.257,123.685,2462,Stratovolcano,Historical +2018,1,23,Kusatsu-Shirane,Honshu-Japan,Japan,36.62,138.55,2176,Stratovolcano,Historical +2018,2,1,Kilauea,Hawaiian Is,United States,19.425,-155.292,1222,Shield volcano,Historical +2018,2,9,Kadovar,New Guinea-NE of,Papua New Guinea,-3.62,144.62,365,Stratovolcano,Holocene +2018,3,21,Ijen,Java,Indonesia,-8.058,114.242,2799,Stratovolcano,Historical +2018,4,28,Kilauea,Hawaiian Is,United States,19.425,-155.292,1222,Shield volcano,Historical +2018,4,,Aoba,Vanuatu-SW Pacific,Vanuatu,-15.4,167.83,1496,Shield volcano,Historical diff --git a/lib/tasks/project_components/persuasive_data_presentation_volcano_starter/xy.py b/lib/tasks/project_components/persuasive_data_presentation_volcano_starter/xy.py new file mode 100644 index 00000000..2947f63c --- /dev/null +++ b/lib/tasks/project_components/persuasive_data_presentation_volcano_starter/xy.py @@ -0,0 +1,26 @@ +#!/bin/python3 +from math import radians, pi, log, tan + +def convert_lat_long(latitude, longitude, map_width, map_height): + + false_easting = 180 + radius = map_width / (2 * pi) + latitude = radians(latitude) + longitude = radians(longitude + false_easting) + + x_coord = longitude * radius + + y_dist_from_equator = radius * log(tan(pi / 4 + latitude / 2)) + y_coord = map_height / 2 - y_dist_from_equator + + coords = {'x': x_coord, 'y': y_coord} + + return coords + + +def get_xy_coords(longitude, latitude, map_width=991, map_height=768): + + coords = None + + coords = convert_lat_long(latitude, longitude, map_width, map_height) + return coords diff --git a/lib/tasks/project_components/solar_system_example/main.py b/lib/tasks/project_components/solar_system_example/main.py new file mode 100644 index 00000000..027d3986 --- /dev/null +++ b/lib/tasks/project_components/solar_system_example/main.py @@ -0,0 +1,125 @@ +#!/bin/python3 +from p5 import * +from make_planet import make_planet + +def draw_sun(): + fill(255, 255, 0) # Yellow + ellipse(width / 2 , height / 2, 100, 100) + + +# draw_orbits function +def draw_orbits(): + no_fill() + stroke(255) # Make it white + + ellipse(width / 2, height / 2, mercury['orbit'], mercury['orbit']) + ellipse(width / 2, height / 2, venus['orbit'], venus['orbit']) + ellipse(width / 2, height / 2, earth['orbit'], earth['orbit']) + +# draw_planets function +def draw_planets(): + + colour = mercury['colour'] + orbit = mercury['orbit'] + size = mercury['size'] + speed = mercury['speed'] + + make_planet( + colour, + orbit, + size, + speed + ) + + colour = venus['colour'] + orbit = venus['orbit'] + size = venus['size'] + speed = venus['speed'] + + make_planet( + colour, + orbit, + size, + speed + ) + + colour = earth['colour'] + orbit = earth['orbit'] + size = earth['size'] + speed = earth['speed'] + + make_planet( + colour, + orbit, + size, + speed + ) + + +# load_planets function +def load_planets(): + global mercury, venus, earth + + mercury = { + 'name': 'Mercury', + 'colour': Color(165, 42, 42), + 'size': 15, + 'orbit': 150, + 'speed': 1, + 'info': 'The smallest, and fastest, planet.' + } + + with open('planets.csv') as f: + data = f.read() + lines = data.splitlines() + + planet = lines[2].split(',') # Split Venus' data + venus = { + 'name': planet[0], + 'colour': Color(int(planet[1]), int(planet[2]), int(planet[3])), + 'size': int(planet[4]), # int() for whole numbers + 'orbit': int(planet[5]), + 'speed': float(planet[6]), # float() for decimals + 'info': planet[7] + } + + planet = lines[3].split(',') + earth = { + 'name': planet[0], + 'colour': Color(int(planet[1]), int(planet[2]), int(planet[3])), + 'size': int(planet[4]), + 'orbit': int(planet[5]), + 'speed': float(planet[6]), + 'info': planet[7] + } + + +def setup(): + # Put code to run once here + size(400, 400) + load_planets() + +def draw(): + # Put code to run every frame here + background(0) + no_stroke() + draw_sun() + draw_orbits() + draw_planets() + +def mouse_pressed(): +# Put code to run when the mouse is pressed here + pixel_colour = Color(get(mouse_x, mouse_y)) + + if pixel_colour == mercury['colour']: + print(mercury['name']) + print(mercury['info']) + elif pixel_colour == venus['colour']: + print(venus['name']) + print(venus['info']) + elif pixel_colour == earth['colour']: + print(earth['name']) + print(earth['info']) + + +run(frame_rate=60) diff --git a/lib/tasks/project_components/solar_system_example/make_planet.py b/lib/tasks/project_components/solar_system_example/make_planet.py new file mode 100644 index 00000000..65ca0b00 --- /dev/null +++ b/lib/tasks/project_components/solar_system_example/make_planet.py @@ -0,0 +1,15 @@ +from p5 import * + +def make_planet(colour, orbit, size, speed): + no_stroke() + fill(colour) + # 2D transformation + push_matrix() + # Centre the orbit on the centre of the model + translate(width / 2, height / 2) + # Rotate 'speed' degrees every frame + rotate(radians((frame_count * speed) % 360)) + # Draw the planet + ellipse(orbit / 2, 0, size, size) + # End the 2D transformation + pop_matrix() diff --git a/lib/tasks/project_components/solar_system_example/planets.csv b/lib/tasks/project_components/solar_system_example/planets.csv new file mode 100644 index 00000000..7d716fb6 --- /dev/null +++ b/lib/tasks/project_components/solar_system_example/planets.csv @@ -0,0 +1,9 @@ +planet,colour_r,colour_g,colour_b,size,orbit,speed,info +Mercury,165,42,42,15,150,1,The smallest and fastest planet. +Venus,255,190,200,30,200,0.75,The hottest planet in the Solar System. Water would turn to steam and some metals would melt just by being there! +Earth,104,149,197,35,300,0.5,You are here — the only planet we know of that can support life. +Mars,223,30,38,15,400,0.25,Home of Olympus Mons — the highest mountain in the Solar System. +Jupiter,148,26,28,60,500,0.2,The largest planet in the Solar System but with the shortest day — a little under ten hours. +Saturn,241,169,78,50,600,0.1,Saturn's rings are wide enough to fit almost 10 Earths side-by-side. But they're only around 10 metres high! +Uranus,214,236,239,40,700,0.05,The coldest planet in the Solar System and the first discovered after the telescope was invented. +Neptune,0,105,148,40,800,0.025,The farthest planet from the Sun. Neptune's day is only 16 hours — but its year is 165 Earth years! diff --git a/lib/tasks/project_components/solar_system_example/project_config.yml b/lib/tasks/project_components/solar_system_example/project_config.yml new file mode 100644 index 00000000..a8d8d5c6 --- /dev/null +++ b/lib/tasks/project_components/solar_system_example/project_config.yml @@ -0,0 +1,18 @@ +NAME: "Solar System" +IDENTIFIER: "solar-system-example" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "planets" + extension: "csv" + location: "planets.csv" + index: 1 + default: false + - name: "make_planet" + extension: "py" + location: "make_planet.py" + index: 2 + default: false diff --git a/lib/tasks/project_components/solar_system_starter/main.py b/lib/tasks/project_components/solar_system_starter/main.py new file mode 100644 index 00000000..f662d11d --- /dev/null +++ b/lib/tasks/project_components/solar_system_starter/main.py @@ -0,0 +1,38 @@ +#!/bin/python3 +from p5 import * +from make_planet import make_planet + +def draw_sun(): + fill(255, 255, 0) # Yellow + ellipse(width / 2 , height / 2, 100, 100) + + +# draw_orbits function + + +# draw_planets function + + +# load_planets function + + + +def setup(): + # Put code to run once here + size(400, 400) + + +def draw(): + # Put code to run every frame here + background(0) + no_stroke() + draw_sun() + + +def mouse_pressed(): +# Put code to run when the mouse is pressed here + pixel_colour = Color(get(mouse_x, mouse_y)) + + +run(frame_rate=60) + diff --git a/lib/tasks/project_components/solar_system_starter/make_planet.py b/lib/tasks/project_components/solar_system_starter/make_planet.py new file mode 100644 index 00000000..84917baa --- /dev/null +++ b/lib/tasks/project_components/solar_system_starter/make_planet.py @@ -0,0 +1,16 @@ +from p5 import * +import __main__ + +def make_planet(colour, orbit, size, speed): + no_stroke() + fill(colour) + # 2D transformation + push_matrix() + # Centre the orbit on the centre of the model + translate(width / 2, height / 2) + # Rotate 'speed' degrees every frame + rotate(radians((__main__.frame_count * speed) % 360)) + # Draw the planet + ellipse(orbit / 2, 0, size, size) + # End the 2D transformation + pop_matrix() diff --git a/lib/tasks/project_components/solar_system_starter/planets.csv b/lib/tasks/project_components/solar_system_starter/planets.csv new file mode 100644 index 00000000..7d716fb6 --- /dev/null +++ b/lib/tasks/project_components/solar_system_starter/planets.csv @@ -0,0 +1,9 @@ +planet,colour_r,colour_g,colour_b,size,orbit,speed,info +Mercury,165,42,42,15,150,1,The smallest and fastest planet. +Venus,255,190,200,30,200,0.75,The hottest planet in the Solar System. Water would turn to steam and some metals would melt just by being there! +Earth,104,149,197,35,300,0.5,You are here — the only planet we know of that can support life. +Mars,223,30,38,15,400,0.25,Home of Olympus Mons — the highest mountain in the Solar System. +Jupiter,148,26,28,60,500,0.2,The largest planet in the Solar System but with the shortest day — a little under ten hours. +Saturn,241,169,78,50,600,0.1,Saturn's rings are wide enough to fit almost 10 Earths side-by-side. But they're only around 10 metres high! +Uranus,214,236,239,40,700,0.05,The coldest planet in the Solar System and the first discovered after the telescope was invented. +Neptune,0,105,148,40,800,0.025,The farthest planet from the Sun. Neptune's day is only 16 hours — but its year is 165 Earth years! diff --git a/lib/tasks/project_components/solar_system_starter/project_config.yml b/lib/tasks/project_components/solar_system_starter/project_config.yml new file mode 100644 index 00000000..c0c5af2e --- /dev/null +++ b/lib/tasks/project_components/solar_system_starter/project_config.yml @@ -0,0 +1,18 @@ +NAME: "Solar System" +IDENTIFIER: "solar-system-starter" +COMPONENTS: + - name: "main" + extension: "py" + location: "main.py" + index: 0 + default: true + - name: "planets" + extension: "csv" + location: "planets.csv" + index: 1 + default: false + - name: "make_planet" + extension: "py" + location: "make_planet.py" + index: 2 + default: false