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

Add geocoding #9

Open
wants to merge 1 commit 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
1 change: 1 addition & 0 deletions places.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[{"address": "Tobačna ulica 5, 1000 Ljubljana, Slovenia", "lat": 46.0481941, "lng": 14.4934918, "placeName": "Poligon - Creative Center"}, {"address": "Cankarjeva cesta 15, 1000 Ljubljana, Slovenia", "lat": 46.0531196, "lng": 14.498602, "placeName": "Kavarna Moderna"}, {"address": "Krekov trg 7, 1000 Ljubljana, Slovenia", "lat": 46.05042659999999, "lng": 14.5097366, "placeName": "Klub Daktari"}, {"address": "Trg prekomorskih brigad 3, 1000 Ljubljana, Slovenia", "lat": 46.0689316, "lng": 14.4891133, "placeName": "Kino Šiška"}, {"address": "Celovška cesta 25, 1000 Ljubljana, Slovenia", "lat": 46.05894379999999, "lng": 14.4970541, "placeName": "Mini Cafe Gold"}, {"address": "Ajdovščina 1, 1000 Ljubljana, Slovenia", "lat": 46.05381149999999, "lng": 14.5046051, "placeName": "STA Travel Cafe"}, {"address": "Vegova ulica 8, 1000 Ljubljana, Slovenia", "lat": 46.0481392, "lng": 14.5026632, "placeName": "Ziferblat"}, {"address": "Erjavčeva cesta 1, 1000 Ljubljana, Slovenia", "lat": 46.048992, "lng": 14.5014258, "placeName": "Drama Kavarna"}, {"address": "Metelkova ulica 2, 1000 Ljubljana, Slovenia", "lat": 46.0550183, "lng": 14.515771, "placeName": "Kavarna SEM"}, {"address": "Mestni trg 2, 1000 Ljubljana, Slovenia", "lat": 46.0497093, "lng": 14.5068643, "placeName": "Pritličje"}, {"address": "Tržaška cesta 37, 1000 Ljubljana, Slovenia", "lat": 46.0444022, "lng": 14.4866898, "placeName": "Egoist"}, {"address": "Železna cesta 14, 1000 Ljubljana, Slovenia", "lat": 46.06225, "lng": 14.5139327, "placeName": "Dobra Poteza"}, {"address": "Tehnološki park 19, 1000 Ljubljana, Slovenia", "lat": 46.0494615, "lng": 14.4606313, "placeName": "ProteusThemesHQ"}, {"address": "Vetrinjska ulica 30, 2000 Maribor, Slovenia", "lat": 46.5594836, "lng": 15.6479343, "placeName": "Pisarna"}, {"address": "Tržaška cesta 65, 2000 Maribor, Slovenia", "lat": 46.5233871, "lng": 15.6497616, "placeName": "Coworking Maribor"}, {"address": "Poštna ulica 3, 2000 Maribor, Slovenia", "lat": 46.55822879999999, "lng": 15.6447138, "placeName": "Isabella - Food & Wine"}, {"address": "Ulica kneza Koclja 9, 2000 Maribor, Slovenia", "lat": 46.5575464, "lng": 15.649249, "placeName": "Kibla - KiBar"}, {"address": "Trg Leona Štuklja 3, 2000 Maribor, Slovenia", "lat": 46.5591794, "lng": 15.6484804, "placeName": "Leon"}, {"address": "Gorkega ulica 45, 2000 Maribor, Slovenia", "lat": 46.55024, "lng": 15.638723, "placeName": "Kavarna Q"}, {"address": "Vrazov trg 1, 2250 Ptuj, Slovenia", "lat": 46.4192484, "lng": 15.8699813, "placeName": "MuziKafe"}, {"address": "Muzejski trg 6, 6000 Koper, Slovenia", "lat": 45.5487011, "lng": 13.7282464, "placeName": "Bife Museum"}, {"address": "Mariborska cesta 2, 3000 Celje, Slovenia", "lat": 46.2319311, "lng": 15.2669191, "placeName": "Mladinski Center"}, {"address": "Stanetova ulica 3, 3000 Celje, Slovenia", "lat": 46.2291608, "lng": 15.2648719, "placeName": "Uzitkarna Beli Vol"}, {"address": "Bevkov trg 1, 5000 Nova Gorica, Slovenia", "lat": 45.9571188, "lng": 13.6471868, "placeName": "Fabrika bar"}, {"address": "Bevkov trg 4, 5000 Nova Gorica, Slovenia", "lat": 45.95795649999999, "lng": 13.6470228, "placeName": "Cafe Gallus"}, {"address": "Cankarjeva cesta 2a, 3320 Velenje, Slovenia", "lat": 46.35989790000001, "lng": 15.117382, "placeName": "Kavarna Nova"}, {"address": "Rudarska cesta 1, 3320 Velenje, Slovenia", "lat": 46.3585085, "lng": 15.1132682, "placeName": "Hotel Paka"}, {"address": "Lendavska ulica 43, 9000 Murska Sobota, Slovenia", "lat": 46.6648834, "lng": 16.1708486, "placeName": "Aurora Coworking"}, {"address": "Slovenska ulica 47, 9000 Murska Sobota, Slovenia", "lat": 46.6594764, "lng": 16.1663806, "placeName": "Bunker"}, {"address": "Trubarjev drevored 4, 9000 Murska Sobota, Slovenia", "lat": 46.6623617, "lng": 16.1606471, "placeName": "MiKK"}, {"address": "Župančičevo sprehajališče 2, 8000 Novo mesto, Slovenia", "lat": 45.804611, "lng": 15.1616284, "placeName": "Gostišče Loka"}, {"address": "Žlebej 1a, 8000 Novo mesto, Slovenia", "lat": 45.8138447, "lng": 15.1566978, "placeName": "Brblarna"}, {"address": "Foersterjeva ulica 4, 8000 Novo mesto, Slovenia", "lat": 45.8128586, "lng": 15.1514524, "placeName": "BrivBARnica"}]
54 changes: 54 additions & 0 deletions places.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import googlemaps
import codecs
import json
import re

# Get awesome working places from README.md
search_results = []
print 'Parsing results from README.md...'
with codecs.open('README.md', 'r', 'utf-8') as fp:
for line in fp:
if re.search("^#", line):
if not 'workplaces' in line:
if not 'Cities' in line:
if not 'Contributors' in line:
search_results.append(line)
# Prettify results
city = ''
places = []
print 'Prettifying results...'
for item in search_results:
if item.count('#') == 1:
city = item.strip('#').strip()
continue
item = item.strip('#').strip()
place = {'city': city, 'name': item}
places.append(place)

# Geocode each place
gmaps = googlemaps.Client(key='API_KEY')

results = []
for place in places:
geocoding_string = place['name'] + ', ' + place['city'] + ', Slovenia'
print 'Geocoding:' + geocoding_string

geocode_result = gmaps.geocode(
geocoding_string)
if(geocode_result):
geo = geocode_result[0]['geometry']['location']
result = {}
result['placeName'] = place['name']
result['lat'] = geo['lat']
result['lng'] = geo['lng']
result['address'] = geocode_result[0]['formatted_address']
results.append(result)
else:
print 'No data found for ' + geocoding_string

# Write results to file
print 'Writing results to file...'
with codecs.open('places.json', 'w', 'utf-8') as f:
f.write(json.dumps(results, sort_keys=True, ensure_ascii=False))
6 changes: 6 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
certifi==2017.11.5
chardet==3.0.4
googlemaps==2.5.1
idna==2.6
requests==2.18.4
urllib3==1.22