def test_basic(self): from pprint import pprint from databundles.geo.geocoder import Geocoder g = Geocoder(self.bundle.library) filename = "good_segments" f_input = os.path.join(os.path.dirname(__file__),'support',filename + '.txt') f_output = os.path.join(os.path.dirname(__file__),'support',filename + '.out.csv') with open(f_input) as f: for line in f: addr = line.strip() r = g.geocode_address(addr) print "==", addr print "->",r if r: print " ", r['coded_address']
def test_geo(self): from databundles.geo.geocoder import Geocoder g = Geocoder(self.library, addresses_ds='geoaddresses') p = self.partitions.find(table='businesses') errorp = self.partitions.find_or_new(table='businesses', grain='errors') ok = 0 errors = 0 with errorp.database.inserter() as ins: for row in p.query('SELECT * FROM businesses'): candidates = g.geocode_address(row['address'], row['city'], 'CA') if len(candidates) != 1 : #print "('{0}', (None, '{0}','gln')),".format(row['address']) errors += 1 else: ok += 1 print len(candidates), ok, errors, int(float(ok)/(ok+errors) * 100) ins.insert(row)