Yinxing/LLM_Dataset
0637
1from geopy.geocoders import Nominatim2from geopy import geocoders3from geopy.distance import geodesic4import pandas as pd5import streamlit as st6 7 8 9def find_nearby_places(lat, lon, place_type, radius):10 geolocator = Nominatim(user_agent="nearby_search")11 location = geolocator.reverse((lat, lon))12 st.write(f"\n検索した場所: {location}\n")13 14 query = f"{place_type} near {lat}, {lon}"15 df = []16 try:17 places = geolocator.geocode(query, exactly_one=False, limit=None)18 if places:19 for place in places:20 place_coords = (place.latitude, place.longitude)21 place_distance = geodesic((lat, lon), place_coords).kilometers22 if place_distance <= radius:23 df.append((place.address,) + place_coords + (place_distance,))24 #print(f"{place.address} ({place_distance:.2f} km)")25 else:26 st.write("No nearby places found for the given type.")27 except:28 st.write("Error: Unable to fetch nearby places.")29 30 return pd.DataFrame(df, columns = ['場所', 'lat', 'lon', '距離(km)'])31 32 33def get_place(x):34 loc = Nominatim(user_agent="GetLoc")35 getLoc = loc.geocode(x,country_codes='jp')36 return getLoc.latitude, getLoc.longitude, getLoc