Spaces:
Runtime error
Runtime error
File size: 2,522 Bytes
6bd4abf 70d8e68 6bd4abf 4edbe8b 70d8e68 7542d4a fa1b69f 70d8e68 621197c fa1b69f 621197c fa1b69f 70d8e68 59da0e7 fa1b69f b10a27a 70d8e68 8a21b24 0fbe956 4edbe8b 0fbe956 4edbe8b 70d8e68 57af65a fa1b69f 59da0e7 fa1b69f b10a27a 70d8e68 fa1b69f 0fbe956 6bd4abf 57af65a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
import gradio as gr
import requests
import geopandas as gpd
from shapely.geometry import Point
def process_input(address, selected_option, additional_input):
transport_analysis_needed = selected_option in [
"Residential",
"Office",
"Community Facility",
]
output_address = f"You entered the address:\n{address}"
output_option = f"Selected option:\n{selected_option}"
response = requests.get(
f"https://geosearch.planninglabs.nyc/v2/autocomplete?text={address}"
)
data = response.json()
x = data["features"][0]["geometry"]["coordinates"]
# Load the GeoJSON file into a GeoDataFrame
geodata = gpd.read_file("/content/zone_data.geojson")
# Create a Point for the given coordinates
location_point = Point(x[0], x[1])
# Find the zone that the location point is in
zone = geodata[geodata.geometry.contains(location_point)]["id"].values.item()
if selected_option in ["Off-Street Parking Facility", "Residential"]:
output_additional = f"Number of Units/Spaces:\n{additional_input}"
else:
output_additional = f"Area (in 1000 GSF):\n{additional_input}"
output_transport_analysis = (
f"Transport Analysis Needed:\n{transport_analysis_needed}"
)
# Replace 'Your Zone Calculation Logic' with the actual zone calculation code
output_zone = f"Zone:\n{zone}"
return (
output_address,
output_option,
output_additional,
output_transport_analysis,
output_zone,
)
iface = gr.Interface(
fn=process_input,
inputs=[
gr.inputs.Textbox(label="Enter your address"),
gr.inputs.Radio(
[
"Residential",
"Office",
"Regional Retail",
"Local Retail",
"Sit Down/High Turnover Restaurant",
"Fast Food/without Drive Through",
"Community Facility",
"Off-Street Parking Facility",
],
label="Select an option",
),
gr.inputs.Number(
label="Number of Units/Spaces or Area (in 1000 GSF)", default=1
), # Default value is 1
],
outputs=[
gr.outputs.Textbox(label="Address"),
gr.outputs.Textbox(label="Selected Option"),
gr.outputs.Textbox(label="Number of Units/Spaces or Area"),
gr.outputs.Textbox(label="Transport Analysis Needed"),
gr.outputs.Textbox(label="Zone"),
],
)
iface.launch()
|