Skip to content

Commit

Permalink
Find nearby empty premises
Browse files Browse the repository at this point in the history
  • Loading branch information
vjdad4m committed Dec 9, 2023
1 parent 02b3370 commit 2341cde
Show file tree
Hide file tree
Showing 5 changed files with 937 additions and 3 deletions.
30 changes: 29 additions & 1 deletion common/bkk_api/bkk_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import json
import requests
import googlemaps
import pandas as pd
from geopy.geocoders import Nominatim

from . import gtfs_realtime_pb2
Expand Down Expand Up @@ -91,4 +92,31 @@ def find_shortest_route_time(lat1, lon1, lat2, lon2):
return distance, location1, location2

if __name__ == "__main__":
print(find_shortest_route_time(47.497913, 19.040236, 47.49723, 19.04026))
premises_data = pd.read_csv(os.path.join(os.path.dirname(__file__), './../premises.csv'))
# premises_data = premises_data[premises_data['2023nov_állapot'] == 'Üres']
# premises_data.to_csv(os.path.join(os.path.dirname(__file__), 'premises_empty.csv'))

unique_streets = []
unique_street_names = []
for index, row in premises_data.iterrows():
street = row['Cím'].split('.')[0]
street = street.replace('-', ' ').replace(',', ' ').replace('.', ' ').replace('(', ' ').replace(')', ' ')
street = street.replace('1', '').replace('2', '').replace('3', '').replace('4', '').replace('5', '').replace('6', '').replace('7', '').replace('8', '').replace('9', '').replace('0', '')
street = street.strip()

if street not in unique_streets:
unique_streets.append(street)
unique_street_names.append(row['Cím'])

rows = []

for street_name in unique_street_names:
geocode = geocode_location('Budapest, 8.kerület ' + street_name)
lat, lng = (geocode[0]['geometry']['location']['lat'], geocode[0]['geometry']['location']['lng'])
new_df_row = premises_data[premises_data['Cím'] == street_name].iloc[0]
new_df_row['lat'] = lat
new_df_row['lon'] = lng
rows.append(new_df_row)

df = pd.DataFrame(rows)
df.to_csv(os.path.join(os.path.dirname(__file__), './../premises_geocoded.csv'))
21 changes: 19 additions & 2 deletions common/find_competitors.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import pandas as pd

from .bkk_api import bkk_api

import os

# from .bkk_api import bkk_api

def get_distance(lat1, lon1, lat2, lon2):
return ((lat1-lat2)**2 + (lon1-lon2)**2)**0.5

Expand Down Expand Up @@ -34,3 +34,20 @@ def find_competitors(business_type, lat, lng):
}

return json_data

def find_open_premises(lat, lng):
premises_data = pd.read_csv(os.path.join(os.path.dirname(__file__), 'premises_geocoded.csv'))
# premises_data = premises_data[premises_data['2023nov_állapot'] == 'Üres']
# premises_data.to_csv(os.path.join(os.path.dirname(__file__), 'premises_empty.csv'))

k_nearest = get_k_nearest(premises_data, lat, lng, k=5)

json_data = {
"premises": [
{"lat": k_nearest.iloc[0]["lat"], "lng": k_nearest.iloc[0]["lon"], "address": k_nearest.iloc[0]["Cím"], "area": k_nearest.iloc[0]["Terület"]},
{"lat": k_nearest.iloc[1]["lat"], "lng": k_nearest.iloc[1]["lon"], "address": k_nearest.iloc[1]["Cím"], "area": k_nearest.iloc[1]["Terület"]},
{"lat": k_nearest.iloc[2]["lat"], "lng": k_nearest.iloc[2]["lon"], "address": k_nearest.iloc[2]["Cím"], "area": k_nearest.iloc[2]["Terület"]},
{"lat": k_nearest.iloc[3]["lat"], "lng": k_nearest.iloc[3]["lon"], "address": k_nearest.iloc[3]["Cím"], "area": k_nearest.iloc[3]["Terület"]},
{"lat": k_nearest.iloc[4]["lat"], "lng": k_nearest.iloc[4]["lon"], "address": k_nearest.iloc[4]["Cím"], "area": k_nearest.iloc[4]["Terület"]},
]
}
Loading

0 comments on commit 2341cde

Please sign in to comment.