# -*- coding: utf-8 -*- """ Created on Mon Feb 6 09:13:25 2023 @author: mritchey """ # streamlit run "C:\Users\mritchey\.spyder-py3\Python Scripts\streamlit projects\geocoder\geocoder.py" import streamlit as st import pandas as pd from geopy.extra.rate_limiter import RateLimiter from geopy.geocoders import Nominatim @st.cache def geocode(address): try: address2 = address.replace(' ', '+').replace(',', '%2C') df = pd.read_json( f'https://geocoding.geo.census.gov/geocoder/locations/onelineaddress?address={address2}&benchmark=2020&format=json') results = df.iloc[:1, 0][0][0]['coordinates'] lat, lon = results['y'], results['x'] except: geolocator = Nominatim(user_agent="GTA Lookup") geocode = RateLimiter(geolocator.geocode, min_delay_seconds=1) location = geolocator.geocode(address) lat, lon = location.latitude, location.longitude return f'{round(lat,7)}, {round(lon,7)}' st.set_page_config(layout="wide") address = st.text_input("", "123 Main Street, Dallas, TX 75208") lat_lon = geocode(address) # st.write(f'Lat, Lon : {lat_lon}') st.markdown(""" """, unsafe_allow_html=True) st.markdown(f"""
Lat, Lon : {lat_lon}
""", unsafe_allow_html=True)