import numpy as np import gradio as gr import MOD_V_TCOND_Z4_008C import terrenos_2026 # Importa o arquivo ajustado with gr.Blocks(title="Modelos Territoriais") as bloco: with gr.Tabs(): # --- ABA 1: MODELO EXISTENTE --- with gr.TabItem(MOD_V_TCOND_Z4_008C.title): gr.Markdown(MOD_V_TCOND_Z4_008C.header_text) with gr.Accordion("📋 Consultar Tabela de Infraestrutura (Clique para expandir)", open=False): gr.Markdown(MOD_V_TCOND_Z4_008C.tabela_infra) gr.HTML("
") with gr.Row(): with gr.Column(scale=1, variant="panel"): gr.Markdown("### ⚙️ Parâmetros de Entrada") ATPRIV = gr.Number(value=168., label='Área de Terreno Privativa') RH = gr.Number(value=38, label='Região Homogênea') INFRA = gr.Number(value=5, label='Infraestrutura') gr.Markdown("#### Anos de Referência") with gr.Row(): with gr.Column(): ANO_2020 = gr.Checkbox(value=False, label='2020') ANO_2021 = gr.Checkbox(value=False, label='2021') ANO_2022 = gr.Checkbox(value=False, label='2022') with gr.Column(): ANO_2023 = gr.Checkbox(value=False, label='2023') ANO_2024 = gr.Checkbox(value=False, label='2024') ANO_2025 = gr.Checkbox(value=True, label='2025') text_button = gr.Button("🚀 Calcular Valor", variant="primary") with gr.Column(scale=1): gr.Markdown("### 📊 Resultados") out_valor = gr.Textbox(label="Valor (R$/m²)", text_align="center") with gr.Row(): out_lim_inf = gr.Textbox(label="Limite Inferior") out_perc_inf = gr.Textbox(label="% Inf") with gr.Row(): out_lim_sup = gr.Textbox(label="Limite Superior") out_perc_sup = gr.Textbox(label="% Sup") out_grafico = gr.Image(label="Gráfico", type="filepath") gr.Markdown("### 🖨️ Exportação") btn_pdf = gr.Button("📄 Gerar PDF", variant="secondary") out_pdf = gr.File(label="Download", visible=False) # Lógica da Aba 1 inputs_list = [ANO_2020, ANO_2021, ANO_2022, ANO_2023, ANO_2024, ANO_2025, RH, INFRA, ATPRIV] outputs_list = [out_valor, out_lim_inf, out_perc_inf, out_lim_sup, out_perc_sup, out_grafico] text_button.click(MOD_V_TCOND_Z4_008C.execute, inputs=inputs_list, outputs=outputs_list) pdf_inputs = inputs_list + outputs_list btn_pdf.click(MOD_V_TCOND_Z4_008C.gerar_pdf_relatorio, inputs=pdf_inputs, outputs=out_pdf) # --- ABA 2: MODELO TERRITORIAL 2026 --- with gr.TabItem("Avaliação de Terrenos (XGBoost)"): terrenos_2026.render_terrenos_interface() bloco.launch()