def load_burial_set_geocode(collection): with MyMongo() as db: # cemetry = list(db.find('burial', 'cemetry', {'lat': {'$exists': False}})) burial = list( db.find('burial', collection, {'lat': { '$exists': False }})) # print(cemetry[1]) # print(enshrinement) queries = [] for doc in burial: address = get_geocode_from_address(doc['주소'], None, doc['시설명']) if type(address) == str: print('Address Not Found.') print(doc['주소'], doc['시설명']) continue # lat, lng = address['y'], address['x'] doc['lat'] = address['y'] doc['lng'] = address['x'] doc['filter0'] = address.get('region_1depth_name') doc['filter1'] = address.get('region_2depth_name') doc['filter2'] = address.get('region_3depth_name') queries.append( UpdateOne({'_id': doc['_id']}, {'$set': doc}, upsert=True)) if len(queries) == 20: with MyMongo() as db: obj = db.get_table_obj('burial', collection) result = obj.bulk_write(queries) print_bulk_result(result) queries.clear() with MyMongo() as db: obj = db.get_table_obj('burial', collection) result = obj.bulk_write(queries) print_bulk_result(result) queries.clear()
def load_market_set_geocode(schema, collection): with MyMongo() as db: # parking = list(db.find('market', collection, {'위도': '0.000'})) docs = list(db.find(schema, collection, {'위도': np.nan})) # print(cemetry[1]) # print(enshrinement) queries = [] for doc in docs: address = get_geocode_from_address(str(doc['소재지도로명주소']), None, str(doc['시장명'])) if type(address) == str: print('Address Not Found.') print(doc['소재지도로명주소'], doc['시장명']) continue # lat, lng = address['y'], address['x'] doc['위도'] = address['y'] doc['경도'] = address['x'] doc['filter0'] = address.get('region_1depth_name') doc['filter1'] = address.get('region_2depth_name') doc['filter2'] = address.get('region_3depth_name') queries.append( UpdateOne({'_id': doc['_id']}, {'$set': doc}, upsert=True)) if len(queries) == 20: with MyMongo() as db: obj = db.get_table_obj(schema, collection) result = obj.bulk_write(queries) print_bulk_result(result) queries.clear() with MyMongo() as db: obj = db.get_table_obj(schema, collection) result = obj.bulk_write(queries) print_bulk_result(result) queries.clear()
for i, s in enumerate(schools): if s.find('부산') == -1: s = '부산 ' + s # print(i) # print('부산 ' + s) if len(s) >= 7 and (s[-2] in ['남', '여']): s2.append(s) continue if s.endswith('초') or s.endswith('고'): s = s + '등학교' elif s.endswith('중'): s = s + '학교' s2.append(s) # print(s2) print(len(schools)) print(len(s2)) addresses = ['대전 중구 보문산공원로 469'] result = '' for idx, addr in enumerate(addresses): address = get_geocode_from_address(addr, None, '부산 ' + s2[idx]) # print(address) try: result += address['y'] + '\t' + address['x'] + '\n' except TypeError: print(address) print(result)
directory_path = '/Users/jake/OneDrive - leverage innovative users/Documents/편의점/' file_name = 'cvs_all.tsv' file_path = directory_path + file_name #%% cvs_all = pd.read_csv(file_path, sep='\t', dtype=object) #%% print(f'Len: {len(cvs_all)}') print(f'Columns: {cvs_all.columns}') #%% tmp = cvs_all.iloc[0] tmp #%% doc = get_geocode_from_address(tmp['도로명전체주소'], None, tmp['사업장명']) doc #%% i = 0 for idx, row in cvs_all.iterrows(): if i == 10: break i += 1 doc = get_geocode_from_address(row['도로명전체주소'], None, row['사업장명']) if doc: cvs_all.at[idx, 'lat'] = doc['y'] cvs_all.at[idx, 'lng'] = doc['x'] #%%