Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DrawAlongMaps #1

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 77 additions & 0 deletions Python/DrawAlongMaps/gen_data.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
import sys
import os
from os import listdir
from os.path import isfile, join
import csv

DBG = not True

class Country:
Name = ""
Capital = ""
MapFile = ""
LocationFile = ""
Continent = ""

def AssignMapFile(self, path):
self.MapFile = path

def AssignLocationFile(self, path):
self.LocationFile = path

def Print(self):
print("COUNTRY\t[{0}\n\t\t{1}\n\t\t{2}\n\t\t{3}\n\t\t{4}]".format(
self.Continent,
self.Name,
self.Capital,
self.MapFile,
self.LocationFile))

def dbg(x):
if not DBG:
return
if type(x) is Country:
x.Print()
else:
print(x)

def CountryInfoFromCsv():
with open("list-of-countries-in-the-world.csv") as csvfile:
reader = csv.reader(csvfile, delimiter=',', quotechar='"')
for row in reader:
country = Country()
country.Continent = row[0].strip()
country.Name = row[1].strip()
country.Capital = row[2].strip()
yield country

def MapsFilesFromDirectory(directory, keyfunc):
files = [join(directory, f) for f in listdir(directory) if isfile(join(directory, f))]
filepaths = {}
for i in files:
key = keyfunc(os.path.basename(i))
filepaths[key] = i
return filepaths

def CheckAndAssociateMapFiles(maps, country, associatefunc):
normalizedname = country.Name.lower().replace(' ', '-')
if normalizedname in maps:
associatefunc(maps[normalizedname])
else:
dbg("{0} not found.".format(normalizedname))

def GenData():
countries = []
countryinfo = CountryInfoFromCsv()
countrymaps = MapsFilesFromDirectory(
"C:\\Users\\Rovin\\maps\\CountryMaps",
lambda s : s[:-8])
locationmaps = MapsFilesFromDirectory(
"C:\\Users\\Rovin\\maps\\CountryLocationMaps",
lambda s : s[7:-4])
for i in countryinfo:
dbg(i)
CheckAndAssociateMapFiles(countrymaps, i, i.AssignMapFile)
CheckAndAssociateMapFiles(locationmaps, i, i.AssignLocationFile)
countries.append(i)
return countries
236 changes: 236 additions & 0 deletions Python/DrawAlongMaps/list-of-countries-in-the-world.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,236 @@
Africa,Algeria,Algiers
Africa,Angola,Luanda
Africa,Benin,Porto-Novo
Africa,Botswana,Gaborone
Africa,Burkina Faso,Ouagadougou
Africa,Burundi,Bujumbura
Africa,Cape Verde,Praia
Africa,Central African Republic,Bangui
Africa,Chad,N'Djamena
Africa,Comoros,Moroni
Africa,Democratic Republic of the Congo,Kinshasa
Africa,Djibouti,Djibouti-city
Africa,Egypt,Cairo
Africa,Equatorial Guinea,Malabo
Africa,Eritrea,Asmara
Africa,Ethiopia,Addis Ababa
Africa,Gabon,Libreville
Africa,The Gambia,Banjul
Africa,Ghana,Accra
Africa,Guinea,Conakry
Africa,Guinea-Bissau,Bissau
Africa,Ivory Coast,Yamoussoukro
Africa,Kenya,Nairobi
Africa,Lesotho,Maseru
Africa,Liberia,Monrovia
Africa,Libya,Tripoli
Africa,Madagascar,Antananarivo
Africa,Malawi,Lilongwe
Africa,Mali,Bamako
Africa,Mauritania,Nouakchott
Africa,Mauritius,Port Louis
Africa,Mozambique,Maputo
Africa,Namibia,Windhoek
Africa,Niger,Niamey
Africa,Nigeria,Abuja
Africa,Qatar,Doha
Africa,Republic of the Congo,Brazzaville
Africa,Rwanda,Kigali
Africa,Sao Tome and Principe,Sao Tome
Africa,Senegal,Dakar
Africa,Seychelles,Victoria
Africa,Sierra Leone,Freetown
Africa,Somalia,Mogadishu
Africa,South Africa,Cape Town
Africa,South Sudan,Juba
Africa,Sudan,Khartoum
Africa,Swaziland,Mata-utu
Africa,Tanzania,Dodoma
Africa,Togo,Lome
Africa,Tonga,Nuku?alofa
Africa,Tunisia,Tunis
Africa,Uganda,Kampala
Africa,Western Sahara,El Aaiun
Africa,Zambia,Lusaka
Africa,Zimbabwe,Harare
Asia,Afghanistan,Kabul
Asia,Bahrain,Manama
Asia,Bangladesh,Dhaka
Asia,Bhutan,Thimphu
Asia,Brunei,Bandar Seri Begawan
Asia,Cambodia,Phnom Penh
Asia,Cameroon,Yaound�
Asia,China,Beijing
Asia,Christmas Island (Australia),Flying Fish Cove
Asia,Cocos (Keeling) Islands (Australia),"West Island, Cocos Islands "
Asia,East Timor,Dili
Asia,Hong Kong,Hong Kong City
Asia,India,New Delhi
Asia,Indonesia,Jakarta
Asia,Iran,Tehran
Asia,Iraq,Baghdad
Asia,Israel,Jerusalem
Asia,Japan,Tokyo
Asia,Jordan,Amman
Asia,Kazakhstan,Astana
Asia,Kiribati,Tarawa
Asia,Kosovo,Pristina
Asia,Kuwait,Kuwait City
Asia,Kyrgyzstan,Bishkek
Asia,Laos,Vientiane
Asia,Lebanon,Beirut
Asia,Malaysia,Kuala Lumpur
Asia,Maldives,Male
Asia,Mongolia,Ulan Bator
Asia,Burma,Naypyidaw
Asia,Nepal,Kathmandu
Asia,North Korea,Pyongyang
Asia,Oman,Muscat
Asia,Pakistan,Islamabad
Asia,Palestine,Ramallah and Gaza
Asia,Philippines,Manila
Asia,Saudi Arabia,Riyadh
Asia,Singapore,Singapore
Asia,South Korea,Seoul
Asia,Sri Lanka,Sri Jayawardenapura-kotte
Asia,Syria,Damascus
Asia,Taiwan,Taipei
Asia,Tajikistan,Dushanbe
Asia,Thailand,Bangkok
Asia,Turkey,Ankara
Asia,Turkmenistan,Ashgabat
Asia,United Arab Emirates,Abu Dhabi
Asia,Uzbekistan,Tashkent
Asia,Vietnam,Hanoi
Asia,Yemen,Sana'a
Europe,Albania,Tirana
Europe,Andorra,Andorra La Vella
Europe,Armenia,Yerevan
Europe,Austria,Vienna
Europe,Azerbaijan,Baku
Europe,Belarus,Minsk
Europe,Belgium,Brussels
Europe,Bosnia and Herzegovina,Sarajevo
Europe,Bulgaria,Sofia
Europe,Croatia,Zagreb
Europe,Cyprus,Nicosia
Europe,Czech Republic,Prague
Europe,Denmark,Copenhagen
Europe,Estonia,Tallinn
Europe,Faroe Islands (Denmark),Torshavn
Europe,Finland,Helsinki
Europe,France,Paris
Europe,Georgia,Tbilisi
Europe,Germany,Berlin
Europe,Gibraltar,Gibraltar
Europe,Greece,Athens
Europe,Guernsey (UK),Saint Peter Port
Europe,Hungary,Budapest
Europe,Iceland,Reykjav�k
Europe,Ireland,Dublin
Europe,Isle of Man (UK),Douglas
Europe,Italy,Rome
Europe,Jersey (UK),Saint Helier
Europe,Latvia,Riga
Europe,Liechtenstein,Vaduz
Europe,Lithuania,Vilnius
Europe,Luxembourg,Luxembourg
Europe,Macedonia,Skopje
Europe,Malta,Valletta
Europe,Moldova,Chisinau
Europe,Monaco,Monaco
Europe,Montenegro,Podgorica
Europe,Morocco,Rabat
Europe,Netherlands,Amsterdam
Europe,Norway,Oslo
Europe,Poland,Warsaw
Europe,Portugal,Lisbon
Europe,Romania,Bucharest
Europe,Russia,Moscow
Europe,San Marino,San Marino
Europe,Serbia,Belgrade
Europe,Slovakia,Bratislava
Europe,Slovenia,Ljubljana
Europe,Spain,Madrid
Europe,Sweden,Stockholm
Europe,Switzerland,Bern
Europe,Transnistria,Tiraspol
Europe,Ukraine,Kiev
Europe,United Kingdom,London
Europe,Vatican City,Vatican City
North America,Anguilla (UK),The Valley
North America,Antigua and Barbuda,Saint Johns
North America,Aruba (Netherlands),Oranjestad
North America,Bahamas,Nassau
North America,Barbados,Bridgetown
North America,Belize,Belmopan
North America,Bermuda (UK),Hamilton
North America,British Virgin Islands (UK),Road Town
North America,Canada,Ottawa
North America,Cayman Islands (UK),George Town
North America,Costa Rica,San Jose
North America,Cuba,Havana
North America,Curacao (Netherlands),Willemstad
North America,Dominica,Roseau
North America,Dominican Republic,Santo Domingo
North America,El Salvador,San Salvador
North America,Greenland (Denmark),Nuuk
North America,Grenada,St. George's
North America,Guam (USA),Hagatna
North America,Guatemala,Guatemala City
North America,Haiti,Port-au-prince
North America,Honduras,Tegucigalpa
North America,Jamaica,Kingston
North America,Mexico,Mexico City
North America,Montserrat (UK),"Brades, Plymouth"
North America,Nicaragua,Managua
North America,Panama,Panama City
North America,Puerto Rico,San Juan
North America,Saint Kitts and Nevis,Basseterre
North America,Saint Lucia,Castries
North America,Saint Martin,Philipsburg
North America,Saint Pierre and Miquelon (France),Saint-Pierre
North America,Saint Vincent and the Grenadines,Kingstown
North America,Sint Maarten (Netherlands),Philipsburg
North America,Trinidad and Tobago,Port Of Spain
North America,Turks and Caicos Islands (UK),Cockburn Town
North America,The United States of America,Washington D.C.
North America,United States Virgin Islands (USA),Charlotte Amalie
North America,Saint Barthelemy,"Gustavia, Saint Barth�lemy"
Oceania,American Samoa (USA),Pago Pago
Oceania,Australia,Canberra
Oceania,Cook Islands (New Zealand),Avarua
Oceania,Fiji,Suva
Oceania,French Polynesia (France),Papeete
Oceania,Marshall Islands,Majuro
Oceania,Micronesia,Palikir
Oceania,Nauru,Yaren
Oceania,New Caledonia (France),Noumea
Oceania,New Zealand,Wellington
Oceania,Niue (New Zealand),Alofi
Oceania,Norfolk Island (Australia),Kingston
Oceania,Northern Mariana Islands (USA),Saipan
Oceania,Palau,Ngerulmud
Oceania,Papua New Guinea,Port Moresby
Oceania,Pitcairn Islands (UK),Adamstown
Oceania,Samoa,Apia
Oceania,Solomon Islands,Honiara
Oceania,Tokelau (New Zealand),"Nukunonu, Atafu,Tokelau"
Oceania,Tuvalu,Funafuti
Oceania,Vanuatu,Port Vila
Oceania,Wallis and Futuna (France),Mata-Utu
South America,Argentina,Buenos Aires
South America,Bolivia,Sucre
South America,Brazil,Bras�lia
South America,Chile,Santiago
South America,Colombia,Bogot�
South America,Ecuador,Quito
South America,Falkland Islands (UK),Stanley
South America,French Guiana (France),Cayenne
South America,Guyana,Georgetown
South America,Paraguay,Asuncion
South America,Peru,Lima
South America,"Saint Helena, Ascension, and Tristan da Cunha (UK)",Jamestown
South America,Suriname,Paramaribo
South America,Uruguay,Montevideo
South America,Venezuela,Caracas
Loading