├── New folder
└── Hello.txt
├── README.md
├── Week-2
├── Counting Email in a Database
│ ├── emaildb.py
│ ├── emaildb.sqlite
│ └── mbox.txt
└── Our First Database
│ ├── Answer.txt
│ └── sql1.db
├── Week-3
└── Multi-Table Database - Tracks
│ ├── Library.xml
│ ├── README.txt
│ ├── trackdb.sqlite
│ └── tracks.py
├── Week-4
├── Answer.txt
├── roster.py
├── roster_data.json
└── rosterdb.sqlite
└── Week-5
├── Geodump.png
├── Geoload.png
├── Mapview.png
├── README.txt
├── geodata.sqlite
├── geodump.py
├── geoload.py
├── where.data
├── where.html
└── where.js
/New folder/Hello.txt:
--------------------------------------------------------------------------------
1 | Hello
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Coursera--Using-Databases-with-Python
2 | Here You can find All weeks Assignments of Coursera Course - Using Databases with Python
3 |
--------------------------------------------------------------------------------
/Week-2/Counting Email in a Database/emaildb.py:
--------------------------------------------------------------------------------
1 | import sqlite3
2 |
3 | conn = sqlite3.connect('emaildb.sqlite')
4 | cur = conn.cursor()
5 |
6 | cur.execute('''
7 | DROP TABLE IF EXISTS Counts''')
8 |
9 | cur.execute('''
10 | CREATE TABLE Counts (org TEXT, count INTEGER)''')
11 |
12 | fname = raw_input('Enter file name: ')
13 | if ( len(fname) < 1 ) : fname = 'mbox.txt'
14 | fh = open(fname)
15 | for line in fh:
16 | if not line.startswith('From: ') : continue
17 | pieces = line.split()
18 | email = pieces[1]
19 | #change in logic
20 | parts = email.split('@')
21 | org = parts[-1]
22 | print org
23 | cur.execute('SELECT count FROM Counts WHERE org = ? ', (org, ))
24 | row = cur.fetchone()
25 | if row is None:
26 | cur.execute('''INSERT INTO Counts (org, count)
27 | VALUES ( ?, 1 )''', ( org, ) )
28 | else :
29 | cur.execute('UPDATE Counts SET count=count+1 WHERE org = ?',
30 | (org, ))
31 | # This statement commits outstanding changes to disk each
32 | # time through the loop - the program can be made faster
33 | # by moving the commit so it runs only after the loop completes
34 | conn.commit()
35 |
36 | # https://www.sqlite.org/lang_select.html
37 | sqlstr = 'SELECT org, count FROM Counts ORDER BY count DESC LIMIT 10'
38 |
39 | print
40 | print "Counts:"
41 | for row in cur.execute(sqlstr) :
42 | print str(row[0]), row[1]
43 |
44 | cur.close()
45 |
46 |
--------------------------------------------------------------------------------
/Week-2/Counting Email in a Database/emaildb.sqlite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PragneshRamani/Coursera--Using-Databases-with-Python/3db72219a7793a8704c0cbd847749b19d2739da8/Week-2/Counting Email in a Database/emaildb.sqlite
--------------------------------------------------------------------------------
/Week-2/Our First Database/Answer.txt:
--------------------------------------------------------------------------------
1 | Run this command to get Answer : SELECT hex(name || age) AS X FROM Ages ORDER BY X
2 |
3 | Answer : 43616365796C65653339
--------------------------------------------------------------------------------
/Week-2/Our First Database/sql1.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PragneshRamani/Coursera--Using-Databases-with-Python/3db72219a7793a8704c0cbd847749b19d2739da8/Week-2/Our First Database/sql1.db
--------------------------------------------------------------------------------
/Week-3/Multi-Table Database - Tracks/README.txt:
--------------------------------------------------------------------------------
1 | TBD
2 |
3 |
--------------------------------------------------------------------------------
/Week-3/Multi-Table Database - Tracks/trackdb.sqlite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PragneshRamani/Coursera--Using-Databases-with-Python/3db72219a7793a8704c0cbd847749b19d2739da8/Week-3/Multi-Table Database - Tracks/trackdb.sqlite
--------------------------------------------------------------------------------
/Week-3/Multi-Table Database - Tracks/tracks.py:
--------------------------------------------------------------------------------
1 | import xml.etree.ElementTree as ET
2 | import sqlite3
3 |
4 | conn = sqlite3.connect('trackdb.sqlite')
5 | cur = conn.cursor()
6 |
7 | # Make some fresh tables using executescript()
8 | cur.executescript('''
9 | DROP TABLE IF EXISTS Artist;
10 | DROP TABLE IF EXISTS Genre;
11 | DROP TABLE IF EXISTS Album;
12 | DROP TABLE IF EXISTS Track;
13 |
14 |
15 | CREATE TABLE Artist (
16 | id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
17 | name TEXT UNIQUE
18 | );
19 |
20 | CREATE TABLE Genre (
21 | id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
22 | name TEXT UNIQUE
23 | );
24 |
25 |
26 | CREATE TABLE Album (
27 | id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
28 | artist_id INTEGER,
29 | title TEXT UNIQUE
30 | );
31 |
32 | CREATE TABLE Track (
33 | id INTEGER NOT NULL PRIMARY KEY
34 | AUTOINCREMENT UNIQUE,
35 | title TEXT UNIQUE,
36 | album_id INTEGER,
37 | genre_id INTEGER,
38 | len INTEGER, rating INTEGER, count INTEGER
39 | );
40 | ''')
41 |
42 |
43 | fname = raw_input('Enter file name: ')
44 | if ( len(fname) < 1 ) : fname = 'Library.xml'
45 |
46 | # Track ID369
47 | # NameAnother One Bites The Dust
48 | # ArtistQueen
49 | def lookup(d, key):
50 | found = False
51 | for child in d:
52 | if found : return child.text
53 | if child.tag == 'key' and child.text == key :
54 | found = True
55 | return None
56 |
57 | stuff = ET.parse(fname)
58 | all = stuff.findall('dict/dict/dict')
59 | print 'Dict count:', len(all)
60 | for entry in all:
61 | if ( lookup(entry, 'Track ID') is None ) : continue
62 |
63 | name = lookup(entry, 'Name')
64 | artist = lookup(entry, 'Artist')
65 | album = lookup(entry, 'Album')
66 | #added this
67 | genre = lookup(entry,'Genre')
68 | count = lookup(entry, 'Play Count')
69 | rating = lookup(entry, 'Rating')
70 | length = lookup(entry, 'Total Time')
71 |
72 | if name is None or artist is None or album is None or genre is None:
73 | continue
74 |
75 | print name, artist, album, genre, count, rating, length
76 |
77 | cur.execute('''INSERT OR IGNORE INTO Artist (name)
78 | VALUES ( ? )''', ( artist, ) )
79 | cur.execute('SELECT id FROM Artist WHERE name = ? ', (artist, ))
80 | artist_id = cur.fetchone()[0]
81 | #Added this
82 | cur.execute('''INSERT OR IGNORE INTO Genre (name)
83 | VALUES ( ? )''', ( genre, ) )
84 | cur.execute('SELECT id FROM Genre WHERE name = ? ', (genre, ))
85 | genre_id = cur.fetchone()[0]
86 |
87 | cur.execute('''INSERT OR IGNORE INTO Album (title, artist_id)
88 | VALUES ( ?, ? )''', ( album, artist_id ) )
89 | cur.execute('SELECT id FROM Album WHERE title = ? ', (album, ))
90 | album_id = cur.fetchone()[0]
91 |
92 | cur.execute('''INSERT OR REPLACE INTO Track
93 | (title, album_id, genre_id, len, rating, count)
94 | VALUES ( ?, ?, ?, ?, ?, ? )''',
95 | ( name, album_id, genre_id, length, rating, count ) )
96 |
97 | conn.commit()
98 | #Added this
99 | sqlstr = 'SELECT Track.title, Artist.name, Album.title, Genre.name FROM Track JOIN Genre JOIN Album JOIN Artist ON Track.genre_id = Genre.ID and Track.album_id = Album.id AND Album.artist_id = Artist.id ORDER BY Artist.name LIMIT 3'
100 |
101 | print
102 | for row in cur.execute(sqlstr) :
103 | print str(row[0]),str(row[1]),str(row[2]),str(row[3])
104 |
105 | cur.close()
106 |
--------------------------------------------------------------------------------
/Week-4/Answer.txt:
--------------------------------------------------------------------------------
1 | Run this command to get Answer :
2 |
3 | SELECT hex(User.name || Course.title || Member.role ) AS X FROM
4 | User JOIN Member JOIN Course
5 | ON User.id = Member.user_id AND Member.course_id = Course.id
6 | ORDER BY X
7 |
8 | Answer : 414A736932303630
--------------------------------------------------------------------------------
/Week-4/roster.py:
--------------------------------------------------------------------------------
1 | import json
2 | import sqlite3
3 |
4 | conn = sqlite3.connect('rosterdb.sqlite')
5 | cur = conn.cursor()
6 |
7 | # Do some setup
8 | cur.executescript('''
9 | DROP TABLE IF EXISTS User;
10 | DROP TABLE IF EXISTS Member;
11 | DROP TABLE IF EXISTS Course;
12 |
13 | CREATE TABLE User (
14 | id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
15 | name TEXT UNIQUE
16 | );
17 |
18 | CREATE TABLE Course (
19 | id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
20 | title TEXT UNIQUE
21 | );
22 |
23 | CREATE TABLE Member (
24 | user_id INTEGER,
25 | course_id INTEGER,
26 | role INTEGER,
27 | PRIMARY KEY (user_id, course_id)
28 | )
29 | ''')
30 |
31 | fname = raw_input('Enter file name: ')
32 | if ( len(fname) < 1 ) : fname = 'roster_data.json'
33 |
34 | # [
35 | # [ "Charley", "si110", 1 ],
36 | # [ "Mea", "si110", 0 ],
37 |
38 | str_data = open(fname).read()
39 | json_data = json.loads(str_data)
40 |
41 | for entry in json_data:
42 |
43 | name = entry[0];
44 | title = entry[1];
45 | role = entry[2];
46 | print name, title, role
47 |
48 | cur.execute('''INSERT OR IGNORE INTO User (name)
49 | VALUES ( ? )''', ( name, ) )
50 | cur.execute('SELECT id FROM User WHERE name = ? ', (name, ))
51 | user_id = cur.fetchone()[0]
52 |
53 | cur.execute('''INSERT OR IGNORE INTO Course (title)
54 | VALUES ( ? )''', ( title, ) )
55 | cur.execute('SELECT id FROM Course WHERE title = ? ', (title, ))
56 | course_id = cur.fetchone()[0]
57 |
58 |
59 |
60 | cur.execute('''INSERT OR REPLACE INTO Member
61 | (user_id, course_id, role) VALUES ( ?, ?, ? )''',
62 | ( user_id, course_id, role ) )
63 |
64 | conn.commit()
65 |
--------------------------------------------------------------------------------
/Week-4/roster_data.json:
--------------------------------------------------------------------------------
1 | [
2 | [
3 | "Ramone",
4 | "si110",
5 | 1
6 | ],
7 | [
8 | "Raonaid",
9 | "si110",
10 | 0
11 | ],
12 | [
13 | "Asiya",
14 | "si110",
15 | 0
16 | ],
17 | [
18 | "Samir",
19 | "si110",
20 | 0
21 | ],
22 | [
23 | "Anabella",
24 | "si110",
25 | 0
26 | ],
27 | [
28 | "Keryis",
29 | "si110",
30 | 0
31 | ],
32 | [
33 | "Korrin",
34 | "si110",
35 | 0
36 | ],
37 | [
38 | "Musse",
39 | "si110",
40 | 0
41 | ],
42 | [
43 | "Brandon",
44 | "si110",
45 | 0
46 | ],
47 | [
48 | "Leechan",
49 | "si110",
50 | 0
51 | ],
52 | [
53 | "Rhona",
54 | "si110",
55 | 0
56 | ],
57 | [
58 | "Ivana",
59 | "si110",
60 | 0
61 | ],
62 | [
63 | "McKay",
64 | "si110",
65 | 0
66 | ],
67 | [
68 | "Abdulkadir",
69 | "si110",
70 | 0
71 | ],
72 | [
73 | "Hajra",
74 | "si110",
75 | 0
76 | ],
77 | [
78 | "Lennex",
79 | "si110",
80 | 0
81 | ],
82 | [
83 | "Manar",
84 | "si110",
85 | 0
86 | ],
87 | [
88 | "Klaudia",
89 | "si110",
90 | 0
91 | ],
92 | [
93 | "Caroline",
94 | "si110",
95 | 0
96 | ],
97 | [
98 | "Clio",
99 | "si110",
100 | 0
101 | ],
102 | [
103 | "Reiss",
104 | "si110",
105 | 0
106 | ],
107 | [
108 | "Kieryn",
109 | "si110",
110 | 0
111 | ],
112 | [
113 | "Anna",
114 | "si110",
115 | 0
116 | ],
117 | [
118 | "Daniels",
119 | "si110",
120 | 0
121 | ],
122 | [
123 | "Lucus",
124 | "si110",
125 | 0
126 | ],
127 | [
128 | "Avah",
129 | "si110",
130 | 0
131 | ],
132 | [
133 | "Umar",
134 | "si110",
135 | 0
136 | ],
137 | [
138 | "Mustafa",
139 | "si110",
140 | 0
141 | ],
142 | [
143 | "Natania",
144 | "si110",
145 | 0
146 | ],
147 | [
148 | "Fasai",
149 | "si110",
150 | 0
151 | ],
152 | [
153 | "Maanisha",
154 | "si110",
155 | 0
156 | ],
157 | [
158 | "Briana",
159 | "si110",
160 | 0
161 | ],
162 | [
163 | "Alison",
164 | "si110",
165 | 0
166 | ],
167 | [
168 | "Eirini",
169 | "si110",
170 | 0
171 | ],
172 | [
173 | "Teighan",
174 | "si110",
175 | 0
176 | ],
177 | [
178 | "Japleen",
179 | "si110",
180 | 0
181 | ],
182 | [
183 | "Lizzie",
184 | "si110",
185 | 0
186 | ],
187 | [
188 | "Sebastien",
189 | "si110",
190 | 0
191 | ],
192 | [
193 | "Abby",
194 | "si106",
195 | 1
196 | ],
197 | [
198 | "Launi",
199 | "si106",
200 | 0
201 | ],
202 | [
203 | "Usman",
204 | "si106",
205 | 0
206 | ],
207 | [
208 | "Gursees",
209 | "si106",
210 | 0
211 | ],
212 | [
213 | "Odynn",
214 | "si106",
215 | 0
216 | ],
217 | [
218 | "Laila",
219 | "si106",
220 | 0
221 | ],
222 | [
223 | "Blue",
224 | "si106",
225 | 0
226 | ],
227 | [
228 | "Sayeda",
229 | "si106",
230 | 0
231 | ],
232 | [
233 | "Kadyleigh",
234 | "si106",
235 | 0
236 | ],
237 | [
238 | "Prabhjot",
239 | "si106",
240 | 0
241 | ],
242 | [
243 | "Wojciech",
244 | "si106",
245 | 0
246 | ],
247 | [
248 | "Sylvana",
249 | "si106",
250 | 0
251 | ],
252 | [
253 | "Sophia",
254 | "si106",
255 | 0
256 | ],
257 | [
258 | "Rydha",
259 | "si106",
260 | 0
261 | ],
262 | [
263 | "Tiona",
264 | "si106",
265 | 0
266 | ],
267 | [
268 | "Koddi",
269 | "si106",
270 | 0
271 | ],
272 | [
273 | "Iagan",
274 | "si106",
275 | 0
276 | ],
277 | [
278 | "Nicodemus",
279 | "si106",
280 | 0
281 | ],
282 | [
283 | "Reilly",
284 | "si106",
285 | 0
286 | ],
287 | [
288 | "Haroon",
289 | "si106",
290 | 0
291 | ],
292 | [
293 | "Manon",
294 | "si106",
295 | 0
296 | ],
297 | [
298 | "Daragh",
299 | "si106",
300 | 0
301 | ],
302 | [
303 | "Maleetah",
304 | "si106",
305 | 0
306 | ],
307 | [
308 | "Sofiane",
309 | "si106",
310 | 0
311 | ],
312 | [
313 | "Warkhas",
314 | "si106",
315 | 0
316 | ],
317 | [
318 | "Natan",
319 | "si106",
320 | 0
321 | ],
322 | [
323 | "Glydel",
324 | "si106",
325 | 0
326 | ],
327 | [
328 | "Kym",
329 | "si106",
330 | 0
331 | ],
332 | [
333 | "Tareena",
334 | "si106",
335 | 0
336 | ],
337 | [
338 | "Abrar",
339 | "si106",
340 | 0
341 | ],
342 | [
343 | "Afifah",
344 | "si106",
345 | 0
346 | ],
347 | [
348 | "Timothy",
349 | "si106",
350 | 0
351 | ],
352 | [
353 | "Aoibheann",
354 | "si106",
355 | 0
356 | ],
357 | [
358 | "Ayaan",
359 | "si106",
360 | 0
361 | ],
362 | [
363 | "Mayeul",
364 | "si106",
365 | 0
366 | ],
367 | [
368 | "Crispin",
369 | "si106",
370 | 0
371 | ],
372 | [
373 | "Mateusz",
374 | "si106",
375 | 0
376 | ],
377 | [
378 | "Roxanne",
379 | "si106",
380 | 0
381 | ],
382 | [
383 | "Maeghan",
384 | "si106",
385 | 0
386 | ],
387 | [
388 | "Adwoa",
389 | "si106",
390 | 0
391 | ],
392 | [
393 | "Caite",
394 | "si106",
395 | 0
396 | ],
397 | [
398 | "Aila",
399 | "si106",
400 | 0
401 | ],
402 | [
403 | "Hopkin",
404 | "si106",
405 | 0
406 | ],
407 | [
408 | "Reed",
409 | "si106",
410 | 0
411 | ],
412 | [
413 | "Alyssa",
414 | "si106",
415 | 0
416 | ],
417 | [
418 | "Kitana",
419 | "si106",
420 | 0
421 | ],
422 | [
423 | "Mohaddesa",
424 | "si206",
425 | 1
426 | ],
427 | [
428 | "Kane",
429 | "si206",
430 | 0
431 | ],
432 | [
433 | "Damian",
434 | "si206",
435 | 0
436 | ],
437 | [
438 | "Naomie",
439 | "si206",
440 | 0
441 | ],
442 | [
443 | "Zamaar",
444 | "si206",
445 | 0
446 | ],
447 | [
448 | "Harley",
449 | "si206",
450 | 0
451 | ],
452 | [
453 | "Anum",
454 | "si206",
455 | 0
456 | ],
457 | [
458 | "Ken",
459 | "si206",
460 | 0
461 | ],
462 | [
463 | "Khaya",
464 | "si206",
465 | 0
466 | ],
467 | [
468 | "Lillia",
469 | "si206",
470 | 0
471 | ],
472 | [
473 | "Siyona",
474 | "si206",
475 | 0
476 | ],
477 | [
478 | "Keela",
479 | "si206",
480 | 0
481 | ],
482 | [
483 | "Zarah",
484 | "si206",
485 | 0
486 | ],
487 | [
488 | "Cruz",
489 | "si206",
490 | 0
491 | ],
492 | [
493 | "AJ",
494 | "si206",
495 | 0
496 | ],
497 | [
498 | "Haniya",
499 | "si206",
500 | 0
501 | ],
502 | [
503 | "Greg",
504 | "si206",
505 | 0
506 | ],
507 | [
508 | "Roos",
509 | "si206",
510 | 0
511 | ],
512 | [
513 | "Leyre",
514 | "si206",
515 | 0
516 | ],
517 | [
518 | "Annan",
519 | "si206",
520 | 0
521 | ],
522 | [
523 | "Katso",
524 | "si206",
525 | 0
526 | ],
527 | [
528 | "Josephine",
529 | "si206",
530 | 0
531 | ],
532 | [
533 | "Devayani",
534 | "si206",
535 | 0
536 | ],
537 | [
538 | "Tymom",
539 | "si206",
540 | 0
541 | ],
542 | [
543 | "Elizaveta",
544 | "si206",
545 | 0
546 | ],
547 | [
548 | "Oriana",
549 | "si206",
550 | 0
551 | ],
552 | [
553 | "Dan",
554 | "si206",
555 | 0
556 | ],
557 | [
558 | "Haydn",
559 | "si206",
560 | 0
561 | ],
562 | [
563 | "Farren",
564 | "si206",
565 | 0
566 | ],
567 | [
568 | "Fraser",
569 | "si206",
570 | 0
571 | ],
572 | [
573 | "Meyzhward",
574 | "si206",
575 | 0
576 | ],
577 | [
578 | "Lotus",
579 | "si206",
580 | 0
581 | ],
582 | [
583 | "Ekhlass",
584 | "si206",
585 | 0
586 | ],
587 | [
588 | "Mason",
589 | "si206",
590 | 0
591 | ],
592 | [
593 | "Breagh",
594 | "si206",
595 | 0
596 | ],
597 | [
598 | "Keegan",
599 | "si301",
600 | 1
601 | ],
602 | [
603 | "Rafferty",
604 | "si301",
605 | 0
606 | ],
607 | [
608 | "Joanna",
609 | "si301",
610 | 0
611 | ],
612 | [
613 | "Takua",
614 | "si301",
615 | 0
616 | ],
617 | [
618 | "Bronagh",
619 | "si301",
620 | 0
621 | ],
622 | [
623 | "Rob",
624 | "si301",
625 | 0
626 | ],
627 | [
628 | "Cecilia",
629 | "si301",
630 | 0
631 | ],
632 | [
633 | "Shannyn",
634 | "si301",
635 | 0
636 | ],
637 | [
638 | "Anne",
639 | "si301",
640 | 0
641 | ],
642 | [
643 | "Oz",
644 | "si301",
645 | 0
646 | ],
647 | [
648 | "Marysia",
649 | "si301",
650 | 0
651 | ],
652 | [
653 | "Conner",
654 | "si301",
655 | 0
656 | ],
657 | [
658 | "Michal",
659 | "si301",
660 | 0
661 | ],
662 | [
663 | "Hiro",
664 | "si301",
665 | 0
666 | ],
667 | [
668 | "Malo",
669 | "si301",
670 | 0
671 | ],
672 | [
673 | "Wei",
674 | "si301",
675 | 0
676 | ],
677 | [
678 | "Siranne",
679 | "si301",
680 | 0
681 | ],
682 | [
683 | "Lula",
684 | "si301",
685 | 0
686 | ],
687 | [
688 | "Kaidey",
689 | "si301",
690 | 0
691 | ],
692 | [
693 | "Danielle",
694 | "si301",
695 | 0
696 | ],
697 | [
698 | "Loki",
699 | "si301",
700 | 0
701 | ],
702 | [
703 | "Caolain",
704 | "si301",
705 | 0
706 | ],
707 | [
708 | "Sahil",
709 | "si301",
710 | 0
711 | ],
712 | [
713 | "Aarifah",
714 | "si301",
715 | 0
716 | ],
717 | [
718 | "Tanith",
719 | "si301",
720 | 0
721 | ],
722 | [
723 | "Ireayomide",
724 | "si301",
725 | 0
726 | ],
727 | [
728 | "Angela",
729 | "si301",
730 | 0
731 | ],
732 | [
733 | "Brodie",
734 | "si301",
735 | 0
736 | ],
737 | [
738 | "Ramandeep",
739 | "si301",
740 | 0
741 | ],
742 | [
743 | "Malecia",
744 | "si301",
745 | 0
746 | ],
747 | [
748 | "Ace",
749 | "si301",
750 | 0
751 | ],
752 | [
753 | "Cavan",
754 | "si301",
755 | 0
756 | ],
757 | [
758 | "Dillan",
759 | "si301",
760 | 0
761 | ],
762 | [
763 | "Jayden",
764 | "si301",
765 | 0
766 | ],
767 | [
768 | "Lidia",
769 | "si301",
770 | 0
771 | ],
772 | [
773 | "Jiayi",
774 | "si301",
775 | 0
776 | ],
777 | [
778 | "Syed",
779 | "si301",
780 | 0
781 | ],
782 | [
783 | "Carmella",
784 | "si310",
785 | 1
786 | ],
787 | [
788 | "Melica",
789 | "si310",
790 | 0
791 | ],
792 | [
793 | "Maison",
794 | "si310",
795 | 0
796 | ],
797 | [
798 | "Aydon",
799 | "si310",
800 | 0
801 | ],
802 | [
803 | "Matas",
804 | "si310",
805 | 0
806 | ],
807 | [
808 | "Maros",
809 | "si310",
810 | 0
811 | ],
812 | [
813 | "Tianqi",
814 | "si310",
815 | 0
816 | ],
817 | [
818 | "Cobie",
819 | "si310",
820 | 0
821 | ],
822 | [
823 | "Rahel",
824 | "si310",
825 | 0
826 | ],
827 | [
828 | "Taniesha",
829 | "si310",
830 | 0
831 | ],
832 | [
833 | "Marshall",
834 | "si310",
835 | 0
836 | ],
837 | [
838 | "Katrin",
839 | "si310",
840 | 0
841 | ],
842 | [
843 | "Olivia",
844 | "si310",
845 | 0
846 | ],
847 | [
848 | "Saghun",
849 | "si310",
850 | 0
851 | ],
852 | [
853 | "Jason",
854 | "si310",
855 | 0
856 | ],
857 | [
858 | "Hopkin",
859 | "si310",
860 | 0
861 | ],
862 | [
863 | "Lilah",
864 | "si310",
865 | 0
866 | ],
867 | [
868 | "Robby",
869 | "si310",
870 | 0
871 | ],
872 | [
873 | "Romily",
874 | "si310",
875 | 0
876 | ],
877 | [
878 | "Charley",
879 | "si310",
880 | 0
881 | ],
882 | [
883 | "Elyssa",
884 | "si310",
885 | 0
886 | ],
887 | [
888 | "Bayley",
889 | "si310",
890 | 0
891 | ],
892 | [
893 | "Faizaan",
894 | "si310",
895 | 0
896 | ],
897 | [
898 | "Tyrone",
899 | "si310",
900 | 0
901 | ],
902 | [
903 | "Saunders",
904 | "si310",
905 | 0
906 | ],
907 | [
908 | "Caden",
909 | "si310",
910 | 0
911 | ],
912 | [
913 | "Robertjohn",
914 | "si310",
915 | 0
916 | ],
917 | [
918 | "Avraham",
919 | "si310",
920 | 0
921 | ],
922 | [
923 | "Sambrid",
924 | "si310",
925 | 0
926 | ],
927 | [
928 | "Sanaa",
929 | "si310",
930 | 0
931 | ],
932 | [
933 | "Juliette",
934 | "si310",
935 | 0
936 | ],
937 | [
938 | "Cameron",
939 | "si310",
940 | 0
941 | ],
942 | [
943 | "Jayme",
944 | "si310",
945 | 0
946 | ],
947 | [
948 | "Sevin",
949 | "si310",
950 | 0
951 | ],
952 | [
953 | "Rhiana",
954 | "si310",
955 | 0
956 | ],
957 | [
958 | "Khayla",
959 | "si310",
960 | 0
961 | ],
962 | [
963 | "Caidan",
964 | "si310",
965 | 0
966 | ],
967 | [
968 | "Mikaela",
969 | "si310",
970 | 0
971 | ],
972 | [
973 | "Arda",
974 | "si310",
975 | 0
976 | ],
977 | [
978 | "Vince",
979 | "si334",
980 | 1
981 | ],
982 | [
983 | "Balian",
984 | "si334",
985 | 0
986 | ],
987 | [
988 | "Rohan",
989 | "si334",
990 | 0
991 | ],
992 | [
993 | "Eoghan",
994 | "si334",
995 | 0
996 | ],
997 | [
998 | "Finnean",
999 | "si334",
1000 | 0
1001 | ],
1002 | [
1003 | "Rylan",
1004 | "si334",
1005 | 0
1006 | ],
1007 | [
1008 | "Maxim",
1009 | "si334",
1010 | 0
1011 | ],
1012 | [
1013 | "Kealan",
1014 | "si334",
1015 | 0
1016 | ],
1017 | [
1018 | "Mehreen",
1019 | "si334",
1020 | 0
1021 | ],
1022 | [
1023 | "Sevin",
1024 | "si334",
1025 | 0
1026 | ],
1027 | [
1028 | "Aila",
1029 | "si334",
1030 | 0
1031 | ],
1032 | [
1033 | "Nazzera",
1034 | "si334",
1035 | 0
1036 | ],
1037 | [
1038 | "Simra",
1039 | "si334",
1040 | 0
1041 | ],
1042 | [
1043 | "Pearl",
1044 | "si334",
1045 | 0
1046 | ],
1047 | [
1048 | "Shelby",
1049 | "si334",
1050 | 0
1051 | ],
1052 | [
1053 | "Oliver",
1054 | "si334",
1055 | 0
1056 | ],
1057 | [
1058 | "Willa",
1059 | "si334",
1060 | 0
1061 | ],
1062 | [
1063 | "Tasha",
1064 | "si334",
1065 | 0
1066 | ],
1067 | [
1068 | "Oliwia",
1069 | "si334",
1070 | 0
1071 | ],
1072 | [
1073 | "Fion",
1074 | "si334",
1075 | 0
1076 | ],
1077 | [
1078 | "Manas",
1079 | "si334",
1080 | 0
1081 | ],
1082 | [
1083 | "Aydan",
1084 | "si334",
1085 | 0
1086 | ],
1087 | [
1088 | "Harman",
1089 | "si334",
1090 | 0
1091 | ],
1092 | [
1093 | "Lawrie",
1094 | "si334",
1095 | 0
1096 | ],
1097 | [
1098 | "Bruno",
1099 | "si334",
1100 | 0
1101 | ],
1102 | [
1103 | "Aryn",
1104 | "si334",
1105 | 0
1106 | ],
1107 | [
1108 | "Kalia",
1109 | "si334",
1110 | 0
1111 | ],
1112 | [
1113 | "Tomasz",
1114 | "si334",
1115 | 0
1116 | ],
1117 | [
1118 | "Rana",
1119 | "si334",
1120 | 0
1121 | ],
1122 | [
1123 | "Lachlan",
1124 | "si334",
1125 | 0
1126 | ],
1127 | [
1128 | "Kirie",
1129 | "si334",
1130 | 0
1131 | ],
1132 | [
1133 | "Anish",
1134 | "si334",
1135 | 0
1136 | ],
1137 | [
1138 | "Coya",
1139 | "si334",
1140 | 0
1141 | ],
1142 | [
1143 | "Macallum",
1144 | "si334",
1145 | 0
1146 | ],
1147 | [
1148 | "Kaidy",
1149 | "si334",
1150 | 0
1151 | ],
1152 | [
1153 | "Sambrid",
1154 | "si334",
1155 | 0
1156 | ],
1157 | [
1158 | "Amrien",
1159 | "si334",
1160 | 0
1161 | ],
1162 | [
1163 | "Cailin",
1164 | "si334",
1165 | 0
1166 | ],
1167 | [
1168 | "Alphonse",
1169 | "si334",
1170 | 0
1171 | ],
1172 | [
1173 | "Jia",
1174 | "si334",
1175 | 0
1176 | ],
1177 | [
1178 | "Teos",
1179 | "si334",
1180 | 0
1181 | ],
1182 | [
1183 | "Jayden",
1184 | "si334",
1185 | 0
1186 | ],
1187 | [
1188 | "Orin",
1189 | "si334",
1190 | 0
1191 | ],
1192 | [
1193 | "Alani",
1194 | "si334",
1195 | 0
1196 | ],
1197 | [
1198 | "Roslin",
1199 | "si334",
1200 | 0
1201 | ],
1202 | [
1203 | "Jess",
1204 | "si334",
1205 | 0
1206 | ],
1207 | [
1208 | "Alina",
1209 | "si334",
1210 | 0
1211 | ],
1212 | [
1213 | "Oluwatoni",
1214 | "si334",
1215 | 0
1216 | ],
1217 | [
1218 | "Sofie",
1219 | "si334",
1220 | 0
1221 | ],
1222 | [
1223 | "Garry",
1224 | "si363",
1225 | 1
1226 | ],
1227 | [
1228 | "Sahana",
1229 | "si363",
1230 | 0
1231 | ],
1232 | [
1233 | "Veeran",
1234 | "si363",
1235 | 0
1236 | ],
1237 | [
1238 | "Aishah",
1239 | "si363",
1240 | 0
1241 | ],
1242 | [
1243 | "Milie",
1244 | "si363",
1245 | 0
1246 | ],
1247 | [
1248 | "Adain",
1249 | "si363",
1250 | 0
1251 | ],
1252 | [
1253 | "Caseyleigh",
1254 | "si363",
1255 | 0
1256 | ],
1257 | [
1258 | "Andy",
1259 | "si363",
1260 | 0
1261 | ],
1262 | [
1263 | "Zubayr",
1264 | "si363",
1265 | 0
1266 | ],
1267 | [
1268 | "Kirie",
1269 | "si363",
1270 | 0
1271 | ],
1272 | [
1273 | "Isaac",
1274 | "si363",
1275 | 0
1276 | ],
1277 | [
1278 | "Rob",
1279 | "si363",
1280 | 0
1281 | ],
1282 | [
1283 | "Shae",
1284 | "si363",
1285 | 0
1286 | ],
1287 | [
1288 | "Siriol",
1289 | "si363",
1290 | 0
1291 | ],
1292 | [
1293 | "Zac",
1294 | "si363",
1295 | 0
1296 | ],
1297 | [
1298 | "Kayde",
1299 | "si363",
1300 | 0
1301 | ],
1302 | [
1303 | "Jayla",
1304 | "si363",
1305 | 0
1306 | ],
1307 | [
1308 | "Oona",
1309 | "si363",
1310 | 0
1311 | ],
1312 | [
1313 | "Saoirse",
1314 | "si363",
1315 | 0
1316 | ],
1317 | [
1318 | "Moray",
1319 | "si363",
1320 | 0
1321 | ],
1322 | [
1323 | "Siddhant",
1324 | "si363",
1325 | 0
1326 | ],
1327 | [
1328 | "Aleishia",
1329 | "si363",
1330 | 0
1331 | ],
1332 | [
1333 | "Atapattu",
1334 | "si363",
1335 | 0
1336 | ],
1337 | [
1338 | "Chahinez",
1339 | "si363",
1340 | 0
1341 | ],
1342 | [
1343 | "Darya",
1344 | "si363",
1345 | 0
1346 | ],
1347 | [
1348 | "Ranolph",
1349 | "si363",
1350 | 0
1351 | ],
1352 | [
1353 | "Verity",
1354 | "si363",
1355 | 0
1356 | ],
1357 | [
1358 | "Arya",
1359 | "si363",
1360 | 0
1361 | ],
1362 | [
1363 | "Michaella",
1364 | "si363",
1365 | 0
1366 | ],
1367 | [
1368 | "Zuhrah",
1369 | "si363",
1370 | 0
1371 | ],
1372 | [
1373 | "Arlo",
1374 | "si363",
1375 | 0
1376 | ],
1377 | [
1378 | "Meleia",
1379 | "si363",
1380 | 0
1381 | ],
1382 | [
1383 | "Aryankhan",
1384 | "si363",
1385 | 0
1386 | ],
1387 | [
1388 | "Nader",
1389 | "si363",
1390 | 0
1391 | ],
1392 | [
1393 | "Stella",
1394 | "si363",
1395 | 0
1396 | ],
1397 | [
1398 | "Aaraa",
1399 | "si363",
1400 | 0
1401 | ],
1402 | [
1403 | "Bartosz",
1404 | "si363",
1405 | 0
1406 | ],
1407 | [
1408 | "Tamika",
1409 | "si363",
1410 | 0
1411 | ],
1412 | [
1413 | "Emmajane",
1414 | "si363",
1415 | 0
1416 | ],
1417 | [
1418 | "Aaren",
1419 | "si363",
1420 | 0
1421 | ],
1422 | [
1423 | "Drue",
1424 | "si364",
1425 | 1
1426 | ],
1427 | [
1428 | "Lewie",
1429 | "si364",
1430 | 0
1431 | ],
1432 | [
1433 | "Cyrus",
1434 | "si364",
1435 | 0
1436 | ],
1437 | [
1438 | "Fiona",
1439 | "si364",
1440 | 0
1441 | ],
1442 | [
1443 | "Usmah",
1444 | "si364",
1445 | 0
1446 | ],
1447 | [
1448 | "Nihaal",
1449 | "si364",
1450 | 0
1451 | ],
1452 | [
1453 | "Meika",
1454 | "si364",
1455 | 0
1456 | ],
1457 | [
1458 | "Karrah",
1459 | "si364",
1460 | 0
1461 | ],
1462 | [
1463 | "Angelina",
1464 | "si364",
1465 | 0
1466 | ],
1467 | [
1468 | "Pagan",
1469 | "si364",
1470 | 0
1471 | ],
1472 | [
1473 | "Kylan",
1474 | "si364",
1475 | 0
1476 | ],
1477 | [
1478 | "Khansa",
1479 | "si364",
1480 | 0
1481 | ],
1482 | [
1483 | "Kavita",
1484 | "si364",
1485 | 0
1486 | ],
1487 | [
1488 | "Meryl",
1489 | "si364",
1490 | 0
1491 | ],
1492 | [
1493 | "Toluwani",
1494 | "si364",
1495 | 0
1496 | ],
1497 | [
1498 | "Maca",
1499 | "si364",
1500 | 0
1501 | ],
1502 | [
1503 | "Bobby",
1504 | "si364",
1505 | 0
1506 | ],
1507 | [
1508 | "Orin",
1509 | "si364",
1510 | 0
1511 | ],
1512 | [
1513 | "Chukwuemeka",
1514 | "si364",
1515 | 0
1516 | ],
1517 | [
1518 | "Caitlynn",
1519 | "si364",
1520 | 0
1521 | ],
1522 | [
1523 | "Karen",
1524 | "si364",
1525 | 0
1526 | ],
1527 | [
1528 | "Zehra",
1529 | "si364",
1530 | 0
1531 | ],
1532 | [
1533 | "Afton",
1534 | "si364",
1535 | 0
1536 | ],
1537 | [
1538 | "Ibraheem",
1539 | "si364",
1540 | 0
1541 | ],
1542 | [
1543 | "Gianluca",
1544 | "si364",
1545 | 0
1546 | ],
1547 | [
1548 | "Bronwen",
1549 | "si364",
1550 | 0
1551 | ],
1552 | [
1553 | "Malachy",
1554 | "si364",
1555 | 0
1556 | ],
1557 | [
1558 | "Dolan",
1559 | "si364",
1560 | 0
1561 | ],
1562 | [
1563 | "Rana",
1564 | "si364",
1565 | 0
1566 | ],
1567 | [
1568 | "Aili",
1569 | "si364",
1570 | 0
1571 | ],
1572 | [
1573 | "Teagen",
1574 | "si364",
1575 | 0
1576 | ],
1577 | [
1578 | "Alieshah",
1579 | "si364",
1580 | 0
1581 | ],
1582 | [
1583 | "Cavan",
1584 | "si364",
1585 | 0
1586 | ],
1587 | [
1588 | "Tianqi",
1589 | "si364",
1590 | 0
1591 | ],
1592 | [
1593 | "Gian",
1594 | "si364",
1595 | 0
1596 | ],
1597 | [
1598 | "Grainne",
1599 | "si364",
1600 | 0
1601 | ],
1602 | [
1603 | "Arin",
1604 | "si364",
1605 | 0
1606 | ],
1607 | [
1608 | "Yolanda",
1609 | "si364",
1610 | 0
1611 | ],
1612 | [
1613 | "Caedan",
1614 | "si364",
1615 | 0
1616 | ],
1617 | [
1618 | "Kit",
1619 | "si364",
1620 | 0
1621 | ],
1622 | [
1623 | "Fathima",
1624 | "si364",
1625 | 0
1626 | ],
1627 | [
1628 | "Kasha",
1629 | "si364",
1630 | 0
1631 | ],
1632 | [
1633 | "Zara",
1634 | "si364",
1635 | 0
1636 | ],
1637 | [
1638 | "Bree",
1639 | "si364",
1640 | 0
1641 | ],
1642 | [
1643 | "Ngonidzashe",
1644 | "si364",
1645 | 0
1646 | ],
1647 | [
1648 | "Cree",
1649 | "si422",
1650 | 1
1651 | ],
1652 | [
1653 | "Mahdiya",
1654 | "si422",
1655 | 0
1656 | ],
1657 | [
1658 | "Keris",
1659 | "si422",
1660 | 0
1661 | ],
1662 | [
1663 | "Mhurain",
1664 | "si422",
1665 | 0
1666 | ],
1667 | [
1668 | "Arayan",
1669 | "si422",
1670 | 0
1671 | ],
1672 | [
1673 | "Faye",
1674 | "si422",
1675 | 0
1676 | ],
1677 | [
1678 | "Heidar",
1679 | "si422",
1680 | 0
1681 | ],
1682 | [
1683 | "Sandie",
1684 | "si422",
1685 | 0
1686 | ],
1687 | [
1688 | "Mika",
1689 | "si422",
1690 | 0
1691 | ],
1692 | [
1693 | "Evalina",
1694 | "si422",
1695 | 0
1696 | ],
1697 | [
1698 | "Idris",
1699 | "si422",
1700 | 0
1701 | ],
1702 | [
1703 | "Rico",
1704 | "si422",
1705 | 0
1706 | ],
1707 | [
1708 | "Mairead",
1709 | "si422",
1710 | 0
1711 | ],
1712 | [
1713 | "Benny",
1714 | "si422",
1715 | 0
1716 | ],
1717 | [
1718 | "Conghaile",
1719 | "si422",
1720 | 0
1721 | ],
1722 | [
1723 | "Deelan",
1724 | "si422",
1725 | 0
1726 | ],
1727 | [
1728 | "Kristen",
1729 | "si422",
1730 | 0
1731 | ],
1732 | [
1733 | "Zamaar",
1734 | "si422",
1735 | 0
1736 | ],
1737 | [
1738 | "Ellice",
1739 | "si422",
1740 | 0
1741 | ],
1742 | [
1743 | "Amera",
1744 | "si422",
1745 | 0
1746 | ],
1747 | [
1748 | "Oluwatamilore",
1749 | "si422",
1750 | 0
1751 | ],
1752 | [
1753 | "Riley",
1754 | "si422",
1755 | 0
1756 | ],
1757 | [
1758 | "Jac",
1759 | "si422",
1760 | 0
1761 | ],
1762 | [
1763 | "Alyessa",
1764 | "si422",
1765 | 0
1766 | ],
1767 | [
1768 | "Tarik",
1769 | "si422",
1770 | 0
1771 | ],
1772 | [
1773 | "Kuba",
1774 | "si422",
1775 | 0
1776 | ],
1777 | [
1778 | "Carlos",
1779 | "si422",
1780 | 0
1781 | ],
1782 | [
1783 | "Harper",
1784 | "si422",
1785 | 0
1786 | ],
1787 | [
1788 | "Koni",
1789 | "si422",
1790 | 0
1791 | ],
1792 | [
1793 | "Aydan",
1794 | "si422",
1795 | 0
1796 | ],
1797 | [
1798 | "Youssef",
1799 | "si422",
1800 | 0
1801 | ],
1802 | [
1803 | "Danniel",
1804 | "si422",
1805 | 0
1806 | ],
1807 | [
1808 | "Nial",
1809 | "si422",
1810 | 0
1811 | ],
1812 | [
1813 | "Seamas",
1814 | "si422",
1815 | 0
1816 | ],
1817 | [
1818 | "Mario",
1819 | "si422",
1820 | 0
1821 | ],
1822 | [
1823 | "Amelia",
1824 | "si422",
1825 | 0
1826 | ],
1827 | [
1828 | "Lois",
1829 | "si422",
1830 | 0
1831 | ],
1832 | [
1833 | "Katrianne",
1834 | "si422",
1835 | 0
1836 | ],
1837 | [
1838 | "Peni",
1839 | "si422",
1840 | 0
1841 | ],
1842 | [
1843 | "Kelum",
1844 | "si422",
1845 | 0
1846 | ],
1847 | [
1848 | "Emaly",
1849 | "si422",
1850 | 0
1851 | ],
1852 | [
1853 | "Delilah",
1854 | "si422",
1855 | 0
1856 | ],
1857 | [
1858 | "Aleeyah",
1859 | "si422",
1860 | 0
1861 | ],
1862 | [
1863 | "Hibah",
1864 | "si422",
1865 | 0
1866 | ],
1867 | [
1868 | "Finnley",
1869 | "si422",
1870 | 0
1871 | ],
1872 | [
1873 | "Franko",
1874 | "si430",
1875 | 1
1876 | ],
1877 | [
1878 | "Charlie",
1879 | "si430",
1880 | 0
1881 | ],
1882 | [
1883 | "Awais",
1884 | "si430",
1885 | 0
1886 | ],
1887 | [
1888 | "Shazil",
1889 | "si430",
1890 | 0
1891 | ],
1892 | [
1893 | "Rheo",
1894 | "si430",
1895 | 0
1896 | ],
1897 | [
1898 | "Callan",
1899 | "si430",
1900 | 0
1901 | ],
1902 | [
1903 | "Qin",
1904 | "si430",
1905 | 0
1906 | ],
1907 | [
1908 | "Victoria",
1909 | "si430",
1910 | 0
1911 | ],
1912 | [
1913 | "Katelynn",
1914 | "si430",
1915 | 0
1916 | ],
1917 | [
1918 | "Wilkie",
1919 | "si430",
1920 | 0
1921 | ],
1922 | [
1923 | "Kaydi",
1924 | "si430",
1925 | 0
1926 | ],
1927 | [
1928 | "Letitia",
1929 | "si430",
1930 | 0
1931 | ],
1932 | [
1933 | "Erica",
1934 | "si430",
1935 | 0
1936 | ],
1937 | [
1938 | "Keatin",
1939 | "si430",
1940 | 0
1941 | ],
1942 | [
1943 | "Nikol",
1944 | "si430",
1945 | 0
1946 | ],
1947 | [
1948 | "Phinehas",
1949 | "si430",
1950 | 0
1951 | ],
1952 | [
1953 | "Fia",
1954 | "si430",
1955 | 0
1956 | ],
1957 | [
1958 | "Emowyn",
1959 | "si430",
1960 | 0
1961 | ],
1962 | [
1963 | "Julieanne",
1964 | "si430",
1965 | 0
1966 | ],
1967 | [
1968 | "Latisha",
1969 | "si430",
1970 | 0
1971 | ],
1972 | [
1973 | "Raegan",
1974 | "si430",
1975 | 0
1976 | ],
1977 | [
1978 | "Ohran",
1979 | "si430",
1980 | 0
1981 | ],
1982 | [
1983 | "Cody",
1984 | "si430",
1985 | 0
1986 | ],
1987 | [
1988 | "James",
1989 | "si430",
1990 | 0
1991 | ],
1992 | [
1993 | "Sera",
1994 | "si430",
1995 | 0
1996 | ],
1997 | [
1998 | "Fearn",
1999 | "si430",
2000 | 0
2001 | ],
2002 | [
2003 | "Kirstie",
2004 | "si430",
2005 | 0
2006 | ],
2007 | [
2008 | "Kaden",
2009 | "si430",
2010 | 0
2011 | ],
2012 | [
2013 | "Atapattu",
2014 | "si430",
2015 | 0
2016 | ],
2017 | [
2018 | "Jeyun",
2019 | "si430",
2020 | 0
2021 | ],
2022 | [
2023 | "Etinosa",
2024 | "si430",
2025 | 0
2026 | ],
2027 | [
2028 | "Valen",
2029 | "si430",
2030 | 0
2031 | ],
2032 | [
2033 | "Saghun",
2034 | "si430",
2035 | 0
2036 | ],
2037 | [
2038 | "Milie",
2039 | "si430",
2040 | 0
2041 | ],
2042 | [
2043 | "Tobi",
2044 | "si430",
2045 | 0
2046 | ],
2047 | [
2048 | "Sarra",
2049 | "si430",
2050 | 0
2051 | ],
2052 | [
2053 | "Malebo",
2054 | "si430",
2055 | 0
2056 | ],
2057 | [
2058 | "Keelin",
2059 | "si430",
2060 | 0
2061 | ],
2062 | [
2063 | "Ellia",
2064 | "si430",
2065 | 0
2066 | ],
2067 | [
2068 | "Henri",
2069 | "si430",
2070 | 0
2071 | ],
2072 | [
2073 | "Carlie",
2074 | "si430",
2075 | 0
2076 | ],
2077 | [
2078 | "Japjeet",
2079 | "si430",
2080 | 0
2081 | ],
2082 | [
2083 | "Brodi",
2084 | "si430",
2085 | 0
2086 | ],
2087 | [
2088 | "Finan",
2089 | "si430",
2090 | 0
2091 | ],
2092 | [
2093 | "Vaila",
2094 | "si430",
2095 | 0
2096 | ],
2097 | [
2098 | "Nika",
2099 | "si430",
2100 | 0
2101 | ],
2102 | [
2103 | "Ross",
2104 | "si430",
2105 | 0
2106 | ],
2107 | [
2108 | "Eamon",
2109 | "si430",
2110 | 0
2111 | ],
2112 | [
2113 | "Conlyn",
2114 | "si430",
2115 | 0
2116 | ],
2117 | [
2118 | "Calin",
2119 | "si430",
2120 | 0
2121 | ],
2122 | [
2123 | "Luiza",
2124 | "si430",
2125 | 0
2126 | ],
2127 | [
2128 | "Allice",
2129 | "si430",
2130 | 0
2131 | ]
2132 | ]
--------------------------------------------------------------------------------
/Week-4/rosterdb.sqlite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PragneshRamani/Coursera--Using-Databases-with-Python/3db72219a7793a8704c0cbd847749b19d2739da8/Week-4/rosterdb.sqlite
--------------------------------------------------------------------------------
/Week-5/Geodump.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PragneshRamani/Coursera--Using-Databases-with-Python/3db72219a7793a8704c0cbd847749b19d2739da8/Week-5/Geodump.png
--------------------------------------------------------------------------------
/Week-5/Geoload.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PragneshRamani/Coursera--Using-Databases-with-Python/3db72219a7793a8704c0cbd847749b19d2739da8/Week-5/Geoload.png
--------------------------------------------------------------------------------
/Week-5/Mapview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PragneshRamani/Coursera--Using-Databases-with-Python/3db72219a7793a8704c0cbd847749b19d2739da8/Week-5/Mapview.png
--------------------------------------------------------------------------------
/Week-5/README.txt:
--------------------------------------------------------------------------------
1 | Using the Google Geocoding API with a Database and
2 | Visualizing data on Google Map
3 |
4 | In this project, we are using the Google geocoding API
5 | to clean up some user-entered geographic locations of
6 | university names and then placing the data on a Google
7 | Map.
8 |
9 | You should install the SQLite browser to view and modify
10 | the databases from:
11 |
12 | http://sqlitebrowser.org/
13 |
14 | The first problem to solve is that the Google geocoding
15 | API is rate limited to 2500 requests per day. So if you have
16 | a lot of data you might need to stop and restart the lookup
17 | process several times. So we break the problem into two
18 | phases.
19 |
20 | In the first phase we take our input data in the file
21 | (where.data) and read it one line at a time, and retreive the
22 | geocoded response and store it in a database (geodata.sqlite).
23 | Before we use the geocoding API, we simply check to see if
24 | we already have the data for that particular line of input.
25 |
26 | You can re-start the process at any time by removing the file
27 | geodata.sqlite
28 |
29 | Run the geoload.py program. This program will read the input
30 | lines in where.data and for each line check to see if it is already
31 | in the database and if we don't have the data for the location,
32 | call the geocoding API to retrieve the data and store it in
33 | the database.
34 |
35 | As of December 2016, the Google Geocoding API requires an API
36 | key. To complete this assignment, you can use a subset of that data
37 | which is available at:
38 |
39 | http://python-data.dr-chuck.net/geojson
40 |
41 | This URL only has a subset of the data but it has no rate limit so
42 | it is good for testing.
43 |
44 | For example:
45 |
46 | http://python-data.dr-chuck.net/geojson?address=Northeastern+University
47 |
48 | If you get an API from Google, you can use the original URL:
49 |
50 | http://maps.googleapis.com/maps/api/geocode/json?address=Monash+University
51 |
52 | Here is a sample run after there is already some data in the
53 | database:
54 |
55 | Mac: python geoload.py
56 | Win: geoload.py
57 |
58 | Found in database Northeastern University
59 |
60 | Found in database University of Hong Kong, Illinois Institute of Technology, Bradley University
61 |
62 | Found in database Technion
63 |
64 | Found in database Viswakarma Institute, Pune, India
65 |
66 | Found in database UMD
67 |
68 | Found in database Tufts University
69 |
70 | Resolving Monash University
71 | Retrieving http://maps.googleapis.com/maps/api/geocode/json?sensor=false&address=Monash+University
72 | Retrieved 2063 characters { "results" : [
73 | {u'status': u'OK', u'results': ... }
74 |
75 | Resolving Kokshetau Institute of Economics and Management
76 | Retrieving http://maps.googleapis.com/maps/api/geocode/json?sensor=false&address=Kokshetau+Institute+of+Economics+and+Management
77 | Retrieved 1749 characters { "results" : [
78 | {u'status': u'OK', u'results': ... }
79 |
80 | The first five locations are already in the database and so they
81 | are skipped. The program scans to the point where it finds un-retrieved
82 | locations and starts retrieving them.
83 |
84 | The geoload.py can be stopped at any time, and there is a counter
85 | that you can use to limit the number of calls to the geocoding
86 | API for each run.
87 |
88 | Once you have some data loaded into geodata.sqlite, you can
89 | visualize the data using the (geodump.py) program. This
90 | program reads the database and writes tile file (where.js)
91 | with the location, latitude, and longitude in the form of
92 | executable JavaScript code.
93 |
94 | A run of the geodump.py program is as follows:
95 |
96 | Mac: python geodump.py
97 | Win: geodump.py
98 |
99 | Northeastern University, 360 Huntington Avenue, Boston, MA 02115, USA 42.3396998 -71.08975
100 | Bradley University, 1501 West Bradley Avenue, Peoria, IL 61625, USA 40.6963857 -89.6160811
101 | ...
102 | Technion, Viazman 87, Kesalsaba, 32000, Israel 32.7775 35.0216667
103 | Monash University Clayton Campus, Wellington Road, Clayton VIC 3800, Australia -37.9152113 145.134682
104 | Kokshetau, Kazakhstan 53.2833333 69.3833333
105 | ...
106 | 12 records written to where.js
107 | Open where.html to view the data in a browser
108 |
109 | The file (where.html) consists of HTML and JavaScript to visualize
110 | a Google Map. It reads the most recent data in where.js to get
111 | the data to be visualized. Here is the format of the where.js file:
112 |
113 | myData = [
114 | [42.3396998,-71.08975, 'Northeastern University, 360 Huntington Avenue, Boston, MA 02115, USA'],
115 | [40.6963857,-89.6160811, 'Bradley University, 1501 West Bradley Avenue, Peoria, IL 61625, USA'],
116 | [32.7775,35.0216667, 'Technion, Viazman 87, Kesalsaba, 32000, Israel'],
117 | ...
118 | ];
119 |
120 | This is a JavaScript list of lists. The syntax for JavaScript
121 | list constants is very similar to Python so the syntax should
122 | be familiar to you.
123 |
124 | Simply open where.html in a browser to see the locations. You
125 | can hover over each map pin to find the location that the
126 | gecoding API returned for the user-entered input. If you
127 | cannot see any data when you open the where.html file, you might
128 | want to check the JavaScript or developer console for your browser.
129 |
130 |
--------------------------------------------------------------------------------
/Week-5/geodata.sqlite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/PragneshRamani/Coursera--Using-Databases-with-Python/3db72219a7793a8704c0cbd847749b19d2739da8/Week-5/geodata.sqlite
--------------------------------------------------------------------------------
/Week-5/geodump.py:
--------------------------------------------------------------------------------
1 | import sqlite3
2 | import json
3 | import codecs
4 |
5 | conn = sqlite3.connect('geodata.sqlite')
6 | cur = conn.cursor()
7 |
8 | cur.execute('SELECT * FROM Locations')
9 | fhand = codecs.open('where.js','w', "utf-8")
10 | fhand.write("myData = [\n")
11 | count = 0
12 | for row in cur :
13 | data = str(row[1])
14 | try: js = json.loads(str(data))
15 | except: continue
16 |
17 | if not('status' in js and js['status'] == 'OK') : continue
18 |
19 | lat = js["results"][0]["geometry"]["location"]["lat"]
20 | lng = js["results"][0]["geometry"]["location"]["lng"]
21 | if lat == 0 or lng == 0 : continue
22 | where = js['results'][0]['formatted_address']
23 | where = where.replace("'","")
24 | try :
25 | print where, lat, lng
26 |
27 | count = count + 1
28 | if count > 1 : fhand.write(",\n")
29 | output = "["+str(lat)+","+str(lng)+", '"+where+"']"
30 | fhand.write(output)
31 | except:
32 | continue
33 |
34 | fhand.write("\n];\n")
35 | cur.close()
36 | fhand.close()
37 | print count, "records written to where.js"
38 | print "Open where.html to view the data in a browser"
39 |
40 |
--------------------------------------------------------------------------------
/Week-5/geoload.py:
--------------------------------------------------------------------------------
1 | import urllib
2 | import sqlite3
3 | import json
4 | import time
5 | import ssl
6 |
7 | # Google API (requires API key)
8 | # serviceurl = "http://maps.googleapis.com/maps/api/geocode/json?"
9 | # If you are in China this URL might work (with key):
10 | # serviceurl = "http://maps.google.cn/maps/api/geocode/json?"
11 |
12 | serviceurl = "http://maps.googleapis.com/maps/api/geocode/json?"
13 |
14 |
15 | # Deal with SSL certificate anomalies Python > 2.7
16 | # scontext = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
17 | scontext = None
18 |
19 | conn = sqlite3.connect('geodata.sqlite')
20 | cur = conn.cursor()
21 |
22 | cur.execute('''
23 | CREATE TABLE IF NOT EXISTS Locations (address TEXT, geodata TEXT)''')
24 |
25 | fh = open("where.data")
26 | count = 0
27 | for line in fh:
28 | if count > 200 :
29 | print 'Retrieved 200 locations, restart to retrieve more'
30 | break
31 | address = line.strip()
32 | print ''
33 | cur.execute("SELECT geodata FROM Locations WHERE address= ?", (buffer(address), ))
34 |
35 | try:
36 | data = cur.fetchone()[0]
37 | print "Found in database ",address
38 | continue
39 | except:
40 | pass
41 |
42 | print 'Resolving', address
43 | url = serviceurl + urllib.urlencode({"sensor":"false", "address": address})
44 | print 'Retrieving', url
45 | uh = urllib.urlopen(url, context=scontext)
46 | data = uh.read()
47 | print 'Retrieved',len(data),'characters',data[:20].replace('\n',' ')
48 | count = count + 1
49 | try:
50 | js = json.loads(str(data))
51 | # print js # We print in case unicode causes an error
52 | except:
53 | continue
54 |
55 | if 'status' not in js or (js['status'] != 'OK' and js['status'] != 'ZERO_RESULTS') :
56 | print '==== Failure To Retrieve ===='
57 | print data
58 | continue
59 |
60 | cur.execute('''INSERT INTO Locations (address, geodata)
61 | VALUES ( ?, ? )''', ( buffer(address),buffer(data) ) )
62 | conn.commit()
63 | if count % 10 == 0 :
64 | print('Pausing for a bit...')
65 | time.sleep(5)
66 |
67 | print "Run geodump.py to read the data from the database so you can visualize it on a map."
68 |
--------------------------------------------------------------------------------
/Week-5/where.data:
--------------------------------------------------------------------------------
1 | AGH University of Science and Technology
2 | Academy of Fine Arts Warsaw Poland
3 | American University in Cairo
4 | Arizona State University
5 | Athens Information Technology
6 | BITS Pilani
7 | Babcock University
8 | Banaras Hindu University
9 | Bangalore University
10 | Baylor University
11 | Beijing normal university
12 | Belarusian State University
13 | Belgrade University
14 | Beloit College
15 | Belorussian State University
16 | Ben Gurion University
17 | Bharthidasan University
18 | Boston University
19 | California Polytechnic State University of San Luis Obispo
20 | California State University San Bernardino
21 | City of Westminster College
22 | Columbia University
23 | Cranfield University
24 | Czech Technical University in Prague
25 | Dartmouth
26 | De Anza College
27 | Distant University of Hagen
28 | Dnipropetrovsk National University
29 | Dokuz Eylul University
30 | Drexel
31 | Drexel University and University of Texas at Austin
32 | Duke University
33 | EM Lyon
34 | Ecole centrale de PARIS
35 | Elon University
36 | Erhvervsakademi Sydvest
37 | Escuela Superior Politecnica del Litoral
38 | Fachhochschule Dusseldorf
39 | Fachhochschule FH Salzburg
40 | Faculdade de Tecnologia do Estado de Sao Paulo
41 | Faculty of Technical Sciences Novi Sad Serbia
42 | Farmingdale State University
43 | Federal University of Minas Gerais
44 | Florida Atlantic University
45 | Franklin Pierce College
46 | Gauhati University
47 | Gujarat Technological University
48 | George Mason University
49 | Georgetown University Law Center
50 | Georgia State University
51 | Grandville
52 | Groep T University
53 | Hanoi University of Science and Technology
54 | Hebrew University
55 | IIIT Hyderabad
56 | IIT KANPUR
57 | IT College of Estonia
58 | IU
59 | IUAV Venezia
60 | Illinois Institute of Technology
61 | Illinois State University Joliet Junior College
62 | Indian Institute of Technology
63 | Indian Institute of Technology Kharagpur India
64 | Indian School of Mines Dhanbad
65 | Indiana University
66 | Indiana University at Bloomington
67 | Institut Superieur de technologies
68 | Institute of Business and Modern Technologies
69 | Instituto Tecnologico de Santo Domingo
70 | International Institute of Information Technology Hyderabad
71 | Irkutsk State University
72 | JADAVPUR UNIVERSITY
73 | Jawaharlal Nehru Technological University
74 | Jawaharlal Nehru University
75 | Jordan University of Science and Technology
76 | K-State
77 | KUL
78 | Kalamazoo College
79 | Kaunas Technology University
80 | Kaunas university of technology
81 | Kazan Federal University
82 | Kent State University
83 | Kharkiv State Academy of Municipal Economy Ukraine
84 | King Mongkuts University of Technology Thonburi
85 | Kokshetau Institute of Economics and Management
86 | Kyiv Polytechnic Institute
87 | Kyiv Polytechnical Institute
88 | Kyiv Unisersity of Oriental Language
89 | Laurentian University
90 | Lisandro Alvarado
91 | LJ Institute of Engineering and Technology Ahmedabad
92 | Lodz University of Technology
93 | Lviv University
94 | MSU
95 | Madras university
96 | Magnitogorsk State Technical University
97 | Malayer Azad University
98 | Marietta College
99 | Masdar Institute
100 | Matematicki fakultet Beograd
101 | Michigan State University
102 | Middle East Technical University
103 | Missouri University of Science and Technology
104 | Monash
105 | Monash University
106 | Monash University Churchill Australia
107 | Monterrey Institute of Technology and Higher Education
108 | Moscow Engineering-Physics Institute
109 | Moscow Institute of Physics & Technology
110 | Moscow State University
111 | NIT ROURKELA
112 | NYU
113 | Nagpur University
114 | Nanyang Technological University
115 | National Institute of Technology Jalandhar
116 | National Taiwan University
117 | National University of Engineering
118 | North Central College
119 | Northeastern University
120 | Northwestern University
121 | Obninsk Technical University of Nuclear Power Engineering Russia
122 | Old Dominion University
123 | Oregon Institute of Technology
124 | PUCMM
125 | Payame Noor University
126 | Penn State University
127 | Politecnico di Milano
128 | Politehnica University Bucharest
129 | Polytechnic University of Timisoara
130 | Pondicherry University
131 | Pontificia universidad catolica de chile
132 | Portland State University
133 | Purdue University Indianapolis
134 | R V College of Engineering
135 | RPI
136 | Ramapo College of New Jersey
137 | Rochester Institute of Technology
138 | SASTRA University
139 | Saint Petersburg State University
140 | Saint Petersburg State University of Aerospace Instrumentation
141 | Saint-Petersburg Polytechnic Univesity
142 | San Francisco State University
143 | San Jose State University
144 | Shanghai Jiao Tong University
145 | Sharif University of Technology
146 | Simon Bolivar University
147 | Simon Fraser University
148 | Smolensk State University
149 | Sonoma State University
150 | South Federal University
151 | Spiru Haret University
152 | Stanford
153 | State University of Campinas
154 | State University of New York College at Oswego
155 | Stellenbosch University
156 | Stonehill College
157 | Tallinn University
158 | Tallinn University of Technology
159 | Tampere University of Technology
160 | Tanta University
161 | Tarrant County College
162 | Technical University of Cluj-Napoca
163 | Technion
164 | Tel Aviv University
165 | The Jerusalem collage of engineering
166 | The University of Latvia
167 | The University of Manchester
168 | The University of South Africa
169 | Transilvania University
170 | Tufts University
171 | UC Berkeley
172 | UCLA
173 | UCSD
174 | UIUC
175 | UMD
176 | UNISA
177 | UNIVERSIDAD DE Buenos Aires
178 | UOC
179 | USC
180 | UW Madison
181 | Universidad Central de Venezuela
182 | Universidad Complutense de Madrid
183 | Universidad Cooperativa de Colombia
184 | Universidad Nacional Autonoma de Mexico
185 | Universidad Nacional Costa Rica
186 | Universidad Nacional de Colombia
187 | Universidad Tecnologica Boliviana
188 | Universidad de Buenos Aires
189 | Universidad de Castilla La Mancha
190 | Universidad de Los Andes Colombia
191 | Universidad de Oriente
192 | Universidad de San Carlos de Guatemala
193 | Universidad de Valladolid
194 | Universidad de la Sabana
195 | Universidad del Valle de Guatemala
196 | Universidade Federal da Paraiba
197 | Universidade Federal de Santa Catarina
198 | Universidade Federal do Rio Grande do Sul
199 | Universidade Federal do Rio de Janeiro
200 | Universidade Tecnica de Lisboa
201 | Universidade de Sao Paulo
202 | Universidade do Minho
203 | Universitas Gadjah Mada
204 | Universitat Politecnica de Valencia
205 | Universite Catholique de Louvain
206 | University College Dublin
207 | University Munich
208 | University of Akron
209 | University of Alberta
210 | University of Amsterdam
211 | University of Arkansas
212 | University of Athens
213 | University of Belgrade
214 | University of Birmingham
215 | University of Buenos Aires
216 | University of Cambridge
217 | University of Central Oklahoma
218 | University of Chicago
219 | University of Cincinnati
220 | University of Colorado at Boulder
221 | University of Connecticut
222 | University of Dallas
223 | University of Debrecen
224 | University of Delaware
225 | University of Erlangen-Nuremberg
226 | University of Essex
227 | University of Evora
228 | University of Florida
229 | University of Gothenburg
230 | University of Greifswald
231 | University of Hamburg
232 | University of Hawaii
233 | University of Helsinki
234 | University of Ilorin Kwara State
235 | University of Jaffna
236 | University of Kansas
237 | University of Kerala
238 | University of London
239 | University of Malaga
240 | University of Malaya
241 | University of Manchester
242 | University of Michigan
243 | University of Missouri - Columbia
244 | University of Moratuwa
245 | University of Mumbai
246 | University of Nebraska
247 | University of Nebraska - Lincoln
248 | University of New Haven
249 | University of New South Wales
250 | University of Notre Dame
251 | University of Oklahoma
252 | University of Ottawa
253 | University of Oxford
254 | University of Padua
255 | University of Pavia Italy
256 | University of Pennsylvania
257 | University of Piraeus Athens
258 | University of Pretoria
259 | University of Salamanca
260 | University of Sao Paulo
261 | University of Sarajevo
262 | University of Southern California
263 | University of Stellenbosch
264 | University of Tartu
265 | University of Tehran
266 | University of Texas
267 | University of Texas at Austin
268 | University of Toronto
269 | University of Tuebingen
270 | University of Twente
271 | University of Utah
272 | University of Vienna
273 | University of Warsaw
274 | University of Washington
275 | University of Washington - Bothell
276 | University of Waterloo
277 | University of West Florida
278 | University of Wisconsin
279 | University of the Punjab Lahore
280 | University of the Witwatersrand
281 | Vilnius Gediminas Technical University
282 | Vilnius University
283 | Virginia Commonwealth University
284 | Virginia Tech
285 | Viswakarma Institute Pune India
286 | Warsaw University
287 | Washington State University
288 | Wayne State
289 | Weber State
290 | Weizmann Institute of Science
291 | Western Governors University
292 | Xavier University
293 | Zagazig University
294 | allama iqbal open university islamabad
295 | arizona state university
296 | federal institute of tecnology and education from southeastern Minas Gerais
297 | kansas state university
298 | universidad complutense de madrid
299 | university of Patras
300 | university of padua
301 |
--------------------------------------------------------------------------------
/Week-5/where.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | A Map of Information
6 |
7 |
8 |
10 |
11 |
12 |
13 |
14 |
43 |
44 |
45 |
46 | About this Map
47 |
48 | This is a cool map from
49 | www.pythonlearn.com.
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/Week-5/where.js:
--------------------------------------------------------------------------------
1 | myData = [
2 | [50.0668858,19.9136192, 'aleja Adama Mickiewicza 30, 30-059 Kraków, Poland'],
3 | [52.2394019,21.0150792, 'Krakowskie Przedmieście 5, 00-068 Warszawa, Poland'],
4 | [30.018923,31.499674, 'Parcel 8, 74 S El-Teseen St, NEW CAIRO, Cairo, Cairo Governorate 11835, Egypt'],
5 | [33.4197221,-111.9313334, 'Tempe, AZ 85281, USA'],
6 | [38.0399391,23.8030901, 'Monumental Plaza, Building C, 1st Floor, Leof. Kifisias 44, Marousi 151 25, Greece'],
7 | [28.3639812,75.5869784, 'Campus, Vidya Vihar, Pilani,, Pilani Road, BITS, Pilani, Rajasthan 333031, India'],
8 | [6.8931574,3.7105118, 'Ogun State, ILISHAN REMO, Ilishan-Remo, Nigeria'],
9 | [25.2677203,82.9912582, 'Kabir Colony, Banaras Hindu University Campus, Varanasi, Uttar Pradesh 221005, India'],
10 | [12.9426016,77.5043392, 'Bangalore University Rd, Jnana Jyothi Nagar, Gnana Bharathi, Bengaluru, Karnataka 560056, India'],
11 | [31.549841,-97.1143146, '1301 S University Parks Dr, Waco, TX 76798, USA'],
12 | [39.9619537,116.3662615, '19 Xinjiekou Outer St, BeiTaiPingZhuang, Haidian Qu, Beijing Shi, China, 100875'],
13 | [53.8930389,27.5455566, 'praspiekt Niezaliežnasci 4, Minsk, Belarus'],
14 | [44.8184339,20.4575676, 'Studentski trg 1, Beograd, Serbia'],
15 | [42.5030333,-89.0309048, '700 College St, Beloit, WI 53511, USA'],
16 | [53.8930389,27.5455566, 'praspiekt Niezaliežnasci 4, Minsk, Belarus'],
17 | [31.262218,34.801461, 'אוניברסיטת ב-גוריון בנגב, ת.ד 653, Beer Sheva, 8499000, Israel'],
18 | [10.6779085,78.7445488, 'Palkalaiperur, Tiruchirappalli, Tamil Nadu 620024, India'],
19 | [42.3504997,-71.1053991, 'Boston, MA 02215, USA'],
20 | [35.3050053,-120.6624942, 'San Luis Obispo, CA 93407, USA'],
21 | [34.1821786,-117.3235324, '5500 University Pkwy, San Bernardino, CA 92407, USA'],
22 | [51.5210038,-0.1746353, '25 Paddington Green, London W2 1NB, UK'],
23 | [40.8075355,-73.9625727, '116th St & Broadway, New York, NY 10027, USA'],
24 | [52.0743967,-0.6293078, 'College Rd, Cranfield MK43 0AL, UK'],
25 | [50.1030364,14.3912841, 'Zikova 1903/4, 166 36 Praha 6, Czechia'],
26 | [43.7044406,-72.2886934, 'Hanover, NH 03755, USA'],
27 | [37.3198512,-122.0452038, '21250 Stevens Creek Blvd, Cupertino, CA 95014, USA'],
28 | [51.37759,7.49462, 'Universitätsstraße 11, 58084 Hagen, Germany'],
29 | [48.4331922,35.0427966, 'Haharina Ave, 72, Dnipropetrovsk, Dnipropetrovsk Oblast, Ukraine, 49000'],
30 | [38.4308451,27.1369785, 'Kültür Mahallesi, Cumhuriyet Blv No:144, 35220 Konak/İzmir, Turkey'],
31 | [39.9566127,-75.1899441, '3141 Chestnut St, Philadelphia, PA 19104, USA'],
32 | [30.2849185,-97.7340567, 'Austin, TX 78712, USA'],
33 | [36.0014258,-78.9382286, 'Durham, NC 27708, USA'],
34 | [45.786447,4.764139, '23 Avenue Guy de Collongue, 69130 Écully, France'],
35 | [48.7654688,2.288493, 'Grande Voie des Vignes, 92290 Châtenay-Malabry, France'],
36 | [36.1048749,-79.5038882, '100 Campus Drive, Elon, NC 27244, USA'],
37 | [55.4884307,8.4467103, 'Spangsbjerg Kirkevej 103, 6700 Esbjerg, Denmark'],
38 | [-2.1481458,-79.9644885, 'Km 30., Vía Perimetral 5, Guayaquil, Ecuador'],
39 | [51.2473822,6.7916469, 'Münsterstraße 156, 40476 Düsseldorf, Germany'],
40 | [47.7239467,13.0864957, 'Urstein Süd 1, 5412 Salzburg, Austria'],
41 | [-23.5294707,-46.6322811, 'Praça Coronel Fernando Prestes, 30 - Bom Retiro, São Paulo - SP, 01124-060, Brazil'],
42 | [45.2461012,19.8516968, 'Trg Dositeja Obradovića 6, Novi Sad 106314, Serbia'],
43 | [40.7525499,-73.4287388, '2350 Broadhollow Rd, Farmingdale, NY 11735, USA'],
44 | [-19.8690878,-43.9663841, 'Av. Pres. Antônio Carlos, 6627 - Pampulha, Belo Horizonte - MG, 31270-901, Brazil'],
45 | [26.3749228,-80.1021113, '777 Glades Rd, Boca Raton, FL 33431, USA'],
46 | [42.7789743,-72.0555393, '40 University Dr, Rindge, NH 03461, USA'],
47 | [26.1539392,91.6622401, 'Gopinath Bordoloi Nagar, Guwahati, Assam 781014, India'],
48 | [23.1059121,72.5936805, 'Near Visat Three Roads, Visat - Gandhinagar Highway, Chandkheda, Ahmedabad, Gujarat 382424, India'],
49 | [38.8315541,-77.3120885, '4400 University Dr, Fairfax, VA 22030, USA'],
50 | [38.8977953,-77.0129087, '600 New Jersey Ave NW, Washington, DC 20001, USA'],
51 | [33.753068,-84.3852819, 'Atlanta, GA 30302, USA'],
52 | [42.9097484,-85.7630885, 'Grandville, MI, USA'],
53 | [50.8748542,4.7077677, 'Andreas Vesaliusstraat 13, 3000 Leuven, Belgium'],
54 | [21.0070516,105.8428957, '1 Đại Cồ Việt, Bách Khoa, Hà Nội, Bách Khoa Hai Bà Trưng Hà Nội, Vietnam'],
55 | [31.7945578,35.2414009, 'Jerusalem'],
56 | [17.447156,78.34876, 'Gachibowli, Hyderabad, Telangana 500032, India'],
57 | [26.5123388,80.2329, 'Kalyanpur, Kanpur, Uttar Pradesh 208016, India'],
58 | [59.3954769,24.6643814, 'Raja 4, 12616 Tallinn, Estonia'],
59 | [39.1766135,-86.5130173, '107 S Indiana Ave, Bloomington, IN 47405, USA'],
60 | [45.4326794,12.3150516, 'Santa Croce, 191, 30135 Venezia, Italy'],
61 | [41.8348731,-87.6270059, '3300 S Federal St, Chicago, IL 60616, USA'],
62 | [41.500374,-88.178946, '1215 Houbolt Rd, Joliet, IL 60431, USA'],
63 | [19.1334302,72.9132679, 'IIT Area, Powai, Mumbai, Maharashtra 400076, India'],
64 | [22.3149274,87.3105311, 'IIT Kharagpur, Kharagpur, West Bengal 721302, India'],
65 | [23.8143819,86.4412022, 'Sardar Patel Nagar, Dhanbad, Jharkhand 826004, India'],
66 | [39.1766135,-86.5130173, '107 S Indiana Ave, Bloomington, IN 47405, USA'],
67 | [39.1766135,-86.5130173, '107 S Indiana Ave, Bloomington, IN 47405, USA'],
68 | [44.9188314,4.9168034, '14 Rue Barthélémy de Laffemas, 26000 Valence, France'],
69 | [39.106401,-76.951581, '15319 Briarcliff Manor Way, Burtonsville, MD 20866, USA'],
70 | [18.487876,-69.962292, 'Av. de Los Próceres 49, Santo Domingo 10602, Dominican Republic'],
71 | [17.447156,78.34876, 'Gachibowli, Hyderabad, Telangana 500032, India'],
72 | [52.2766124,104.2777287, 'ul. Karla Marksa, 1, Irkutsk, Irkutskaya oblast, Russia, 664003'],
73 | [22.4966561,88.3710918, 'Prayukti Bhawan, 188, Raja Subodh Chandra Mallick Rd, Jadavpur University Campus Area, Jadavpur, Kolkata, West Bengal 700032, India'],
74 | [17.4946257,78.3921576, 'Kukatpally, Hyderabad, Telangana 500085, India'],
75 | [28.5423897,77.1671442, 'New Mehrauli Road, Munirka, New Delhi, Delhi 110067, India'],
76 | [32.4950392,35.9912257, 'Ar Ramtha, Irbid, Jordan'],
77 | [39.1974437,-96.5847249, 'Manhattan, KS 66506, USA'],
78 | [2.7402008,101.7081373, 'Kuala Lumpur Intl Airport, Kuala Lumpur International Airport, 64000 Sepang, Selangor, Malaysia'],
79 | [42.290035,-85.598145, '1200 Academy St, Kalamazoo, MI 49006, USA'],
80 | [54.898991,23.912825, 'K. Donelaičio g. 73, Kaunas 44249, Lithuania'],
81 | [54.898991,23.912825, 'K. Donelaičio g. 73, Kaunas 44249, Lithuania'],
82 | [55.790447,49.1214348, 'Kremlyovskaya St, 18, Kazan, Respublika Tatarstan, Russia, 420000'],
83 | [41.1490629,-81.3414649, '800 E Summit St, Kent, OH 44240, USA'],
84 | [49.9958165,36.2417771, 'Marshala Bazhanova St, 13, Kharkiv, Kharkiv Oblast, Ukraine, 61002'],
85 | [13.6517367,100.4949226, '126 Pracha Uthit Rd, Khwaeng Bang Mot, Khet Thung Khru, Krung Thep Maha Nakhon 10140, Thailand'],
86 | [50.4488824,30.4572543, 'Peremohy Ave, 37, Kyiv, Ukraine, 03056'],
87 | [50.4488824,30.4572543, 'Peremohy Ave, 37, Kyiv, Ukraine, 03056'],
88 | [50.4531437,30.3546906, 'Lvivska St, 49, Kyiv, Ukraine, 03179'],
89 | [46.4667708,-80.9742332, '935 Ramsey Lake Rd, Sudbury, ON P3E 2C6, Canada'],
90 | [10.475893,-66.8907223, 'Calle Lisandro Alvardo, Caracas, Distrito Capital, Venezuela'],
91 | [22.9896919,72.4862269, 'Sarkhej - Gandhinagar Hwy, Makarba, Sarkhej- Okaf, Gujarat 380054, India'],
92 | [51.7537146,19.4517176, 'Stefana Żeromskiego 116, 90-924 Łódź, Poland'],
93 | [49.8406108,24.0225099, 'Universytetska St, 1, Lviv, Lviv Oblast, Ukraine, 79000'],
94 | [42.701848,-84.4821719, '220 Trowbridge Rd, East Lansing, MI 48824, USA'],
95 | [13.0660293,80.2831719, 'Navalar Nagar, Chepauk, Triplicane, Chennai, Tamil Nadu 600005, India'],
96 | [53.422244,58.9825085, 'pr. Lenina, 38, Magnitogorsk, Chelyabinskaya oblast, Russia, 455000'],
97 | [34.304073,48.8452846, 'Hamadan Province, Malayer, University Blvd, Iran'],
98 | [39.4145456,-81.4491067, '215 5th St, Marietta, OH 45750, USA'],
99 | [24.4335115,54.6176592, 'Masdar City,Khalifa City A,Opp - Airport Road Home WTC AUH - Abu Dhabi - United Arab Emirates'],
100 | [44.8195126,20.459315, 'Studentski trg 16, Beograd 105104, Serbia'],
101 | [42.701848,-84.4821719, '220 Trowbridge Rd, East Lansing, MI 48824, USA'],
102 | [39.8920568,32.7786112, 'Middle East Technical University Üniversiteler Mahallesi, Dumlupınar Bulvarı No:1 06800 Çankaya Ankara/TURKEY, Üniversiteler Mahallesi, Middle East Technical University, 06800 Çankaya/Ankara, Turkey'],
103 | [37.953451,-91.7755727, '1201 N State St, Rolla, MO 65409, USA'],
104 | [-37.9015913,145.1155133, 'Monash, VIC, Australia'],
105 | [-37.9114731,145.1344641, 'Wellington Rd, Clayton VIC 3800, Australia'],
106 | [-38.311211,146.429409, 'Northways Rd, Churchill VIC 3842, Australia'],
107 | [25.6515649,-100.28954, 'Av. Eugenio Garza Sada 2501 Sur, Tecnológico, 64849 Monterrey, N.L., Mexico'],
108 | [55.649567,37.6638741, 'Kashirskoye sh., 31, Moskva, Russia, 115409'],
109 | [55.9294231,37.5185144, 'Institutskiy per., 9, Dolgoprudnyy, Moskovskaya oblast, Russia, 141701'],
110 | [55.7039349,37.5286695, 'ul. Leninskiye Gory, 1, Moskva, Russia, 119991'],
111 | [22.2533322,84.9011421, 'Sector - 2, Rourkela, Odisha 769008, India'],
112 | [40.7295134,-73.9964609, 'New York, NY 10003, USA'],
113 | [21.1457071,79.0752439, 'Chhatrapati Shivaji Maharaj Administrative Premises, Ravindranath Tagore Marg, Nagpur, Maharashtra 440001, India'],
114 | [1.3483099,103.6831347, '50 Nanyang Ave, Singapore 639798'],
115 | [31.3961507,75.5353566, 'N.I.T. Post Office, G T Road, Jalandhar, Punjab 144011, India'],
116 | [25.0173405,121.5397518, 'No. 1, Section 4, Roosevelt Rd, Da’an District, Taipei City, Taiwan 10617'],
117 | [-12.024022,-77.0481441, 'Av. Túpac Amaru s/n, Rimac, Lima 25, Perú, Av. Tupac Amaru 210, Rímac Lima 25, Peru'],
118 | [41.7757375,-88.1427779, '30 N Brainard St, Naperville, TX 76450, USA'],
119 | [42.3398067,-71.0891717, '360 Huntington Ave, Boston, MA 02115, USA'],
120 | [42.0564594,-87.675267, '633 Clark St, Evanston, IL 60208, USA'],
121 | [55.137191,36.607059, 'Студенческий городок кв-л 1, строен. 1, Обнинск, Калужская обл., 249030, Russia'],
122 | [36.8855515,-76.3067676, '5115 Hampton Blvd, Norfolk, VA 23529, USA'],
123 | [42.2560719,-121.7862578, '3201 Campus Dr, Klamath Falls, OR 97601, USA'],
124 | [19.4445363,-70.683252, 'Autopista Duarte Km 1 1/2, Santiago De Los Caballeros 51000, Dominican Republic'],
125 | [35.8012314,51.5028533, 'Tehran Province, Tehran, اتوبان ارتش کوی نفت, Nakhl St, Iran'],
126 | [40.7982133,-77.8599084, 'Old Main, State College, PA 16801, USA'],
127 | [45.4781071,9.2272764, 'Piazza Leonardo da Vinci, 32, 20133 Milano, Italy'],
128 | [44.4386064,26.0494925, 'Splaiul Independenței 313, București 060042, Romania'],
129 | [45.7536471,21.2251066, 'Piata Victoriei nr. 2, Timișoara 300006, Romania'],
130 | [12.0219374,79.8574591, 'Kalapet, Puducherry, 605014, India'],
131 | [-33.4411279,-70.6407933, 'Av Libertador Bernardo OHiggins 328, Santiago, Región Metropolitana, Chile'],
132 | [45.5117567,-122.6842859, '1825 SW Broadway, Portland, OR 97201, USA'],
133 | [39.7738832,-86.1763393, '420 University Blvd, Indianapolis, IN 46202, USA'],
134 | [12.9237077,77.4986878, 'Mysuru Road, R. V. Vidyanikethan Post, Bengaluru, Karnataka 560059, India'],
135 | [42.730172,-73.6788026, '110 8th St, Troy, NY 12180, USA'],
136 | [41.0815079,-74.1746234, '505 Ramapo Valley Rd, Mahwah, NJ 07430, USA'],
137 | [43.0861017,-77.6705143, '1 Lomb Memorial Dr, Rochester, NY 14623, USA'],
138 | [10.7275232,79.020733, 'Thirumalaisamudram, Thanjavur, Tamil Nadu 613401, India'],
139 | [59.941894,30.2989198, 'Университетская наб., 7/9, Санкт-Петербург, г. Санкт-Петербург, Russia, 199034'],
140 | [59.9295233,30.2965598, 'Bolshaya Morskaya ul., 67, Sankt-Peterburg, Russia, 190000'],
141 | [60.007357,30.372899, 'Politekhnicheskaya ul., 29, Sankt-Peterburg, Russia, 195251'],
142 | [37.721897,-122.4782094, '1600 Holloway Ave, San Francisco, CA 94132, USA'],
143 | [37.3351874,-121.8810715, '1 Washington Sq, San Jose, CA 95192, USA'],
144 | [31.0252201,121.4337784, '800 Dongchuan Rd, Minhang Qu, China, 201109'],
145 | [35.7036366,51.351593, 'Tehran, Azadi Avenue، Iran'],
146 | [10.408363,-66.8755735, 'Sartenejas, Caracas, Miranda, Venezuela'],
147 | [49.2780937,-122.9198833, '8888 University Dr, Burnaby, BC V5A 1S6, Canada'],
148 | [54.7848868,32.0462608, 'ul. Przhevalskogo, 4, Smolensk, Smolenskaya oblast, Russia, 214000'],
149 | [38.3393866,-122.6741812, '1801 E Cotati Ave, Rohnert Park, CA 94928, USA'],
150 | [47.224719,39.728334, 'ул. /42, Bolshaya Sadovaya ul., 105, Rostov-on-Don, Rostov Oblast, Russia, 344006'],
151 | [44.4332166,26.1009718, 'Strada Ion Ghica 13, București 030167, Romania'],
152 | [37.4274745,-122.169719, '450 Serra Mall, Stanford, CA 94305, USA'],
153 | [-22.8184393,-47.0647206, 'Cidade Universitária Zeferino Vaz - Barão Geraldo, Campinas - SP, 13083-970, Brazil'],
154 | [43.450851,-76.543438, '7060 New York 104, Oswego, NY 13126, USA'],
155 | [-33.9328078,18.864447, 'Stellenbosch, 7600, South Africa'],
156 | [42.0590153,-71.0806276, '320 Washington St, North Easton, MA 02357, USA'],
157 | [59.438742,24.771645, 'Narva mnt 25, 10120 Tallinn, Estonia'],
158 | [59.395884,24.671431, 'Ehitajate tee 5, 12616 Tallinn, Estonia'],
159 | [61.4497952,23.8586408, 'Korkeakoulunkatu 10, 33720 Tampere, Finland'],
160 | [30.7924391,30.9991409, 'El-Gaish, Tanta Qism 2, Tanta, Gharbia Governorate, Egypt'],
161 | [32.7474661,-97.3278753, '1500 Houston St, Fort Worth, TX 76102, USA'],
162 | [46.7962454,23.6265524, 'Strada Memorandumului 28, Cluj-Napoca 400000, Romania'],
163 | [32.7767783,35.0231271, 'Haifa, 3200003, Israel'],
164 | [32.1133141,34.8043877, 'Tel Aviv-Yafo, Israel'],
165 | [31.7691587,35.1937099, 'יעקב שרייבום 26, ירושלים, 9103501, Israel'],
166 | [56.9508098,24.1163132, 'Raiņa bulvāris 19, Centra rajons, Rīga, LV-1586, Latvia'],
167 | [53.4668498,-2.2338837, 'Oxford Rd, Manchester M13 9PL, UK'],
168 | [-25.7676588,28.1992637, '1 Preller St, Pretoria, 0002, South Africa'],
169 | [38.0521497,-84.4936217, '300 N Broadway, Lexington, KY 40508, USA'],
170 | [42.4074843,-71.1190232, '419 Boston Ave, Medford, MA 02155, USA'],
171 | [37.8718992,-122.2585399, 'Berkeley, CA 94720, USA'],
172 | [34.068921,-118.4451811, 'Los Angeles, CA 90095, USA'],
173 | [32.8800604,-117.2340135, '9500 Gilman Dr, La Jolla, CA 92093, USA'],
174 | [40.1019523,-88.2271615, 'Champaign, IL 61801, USA'],
175 | [38.9869183,-76.9425543, 'College Park, MD 20742, USA'],
176 | [-25.7676588,28.1992637, '1 Preller St, Pretoria, 0002, South Africa'],
177 | [-34.5998875,-58.3730695, 'Viamonte 430, 1053 Buenos Aires, Argentina'],
178 | [41.406498,2.1945432, 'Rambla del Poblenou, 156, 08018 Barcelona, Spain'],
179 | [34.0223519,-118.285117, 'Los Angeles, CA 90007, USA'],
180 | [43.076592,-89.4124875, 'Madison, WI 53706, USA'],
181 | [10.49065,-66.8919913, 'Caracas, Capital District, Venezuela'],
182 | [40.4478246,-3.7285872, 'Av. Séneca, 2, 28040 Madrid, Spain'],
183 | [6.2468468,-75.5617397, 'Colombia #41-70, Medellín, Antioquia, Colombia'],
184 | [19.3188895,-99.1843676, 'University City, Mexico City, CDMX, Mexico'],
185 | [9.9986861,-84.1111858, 'Heredia Province, Heredia, Costa Rica'],
186 | [4.6381938,-74.0840464, 'Cra 45, Bogotá, Colombia'],
187 | [-16.500656,-68.134299, 'Colombia 154, La Paz, Bolivia'],
188 | [-34.5998875,-58.3730695, 'Viamonte 430, 1053 Buenos Aires, Argentina'],
189 | [38.9961521,-3.9228878, 'Av. Camilo José Cela, 7, 13005 Ciudad Real, Cdad. Real, Spain'],
190 | [4.6028443,-74.0648433, 'Cra. 1 #18a-12, Bogotá, Colombia'],
191 | [20.043494,-75.8172668, 'Santiago de Cuba, Cuba'],
192 | [14.5841461,-90.5554114, 'Ciudad Universitaria, 11 Av, Guatemala 01012, Guatemala'],
193 | [41.6569271,-4.7140547, 'C/Plaza de Santa Cruz, 8, 47002 Valladolid, Spain'],
194 | [4.8615787,-74.0325368, 'Puente Del Comun, Chía, Cundinamarca, Colombia'],
195 | [14.603554,-90.489184, '11-95, 01015,, 18 Avenida, Guatemala'],
196 | [-7.1367475,-34.8455092, 'Cidade Universitária, s/n - Conj. Pres. Castelo Branco III, João Pessoa - PB, 58051-900, Brazil'],
197 | [-27.599144,-48.5235907, 'Campus Reitor João David Ferreira Lima, s/n - Trindade, Florianópolis - SC, 88040-900, Brazil'],
198 | [-30.0338411,-51.2185702, 'Av. Paulo Gama, 110 - Farroupilha, Porto Alegre - RS, 90040-060, Brazil'],
199 | [-22.9541412,-43.1753638, 'Av. Pedro Calmon, 550 - Cidade Universitária, Rio de Janeiro - RJ, 21941-901, Brazil'],
200 | [38.7368192,-9.138705, 'Av. Rovisco Pais 1, 1049-001 Lisboa, Portugal'],
201 | [-23.5613991,-46.7307891, 'Butantã, São Paulo - State of São Paulo, 05508-090, Brazil']
202 | ];
203 |
--------------------------------------------------------------------------------