From 86eb1094e0f81e204bf9d5d9dcf392b29a3da02b Mon Sep 17 00:00:00 2001 From: Winzen Date: Wed, 6 Sep 2023 00:52:25 -0300 Subject: [PATCH 1/6] =?UTF-8?q?Adi=C3=A7=C3=A3o=20pasta=20fbsp=5Fabsp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/br_fbsp_absp/code/clean_data.py | 51 +++++++++++++++++++++ models/br_fbsp_absp/code/columns.py | 61 ++++++++++++++++++++++++++ models/br_fbsp_absp/uf.sql | 32 ++++++++++++++ 3 files changed, 144 insertions(+) create mode 100644 models/br_fbsp_absp/code/clean_data.py create mode 100644 models/br_fbsp_absp/code/columns.py create mode 100644 models/br_fbsp_absp/uf.sql diff --git a/models/br_fbsp_absp/code/clean_data.py b/models/br_fbsp_absp/code/clean_data.py new file mode 100644 index 00000000..a49fc1f0 --- /dev/null +++ b/models/br_fbsp_absp/code/clean_data.py @@ -0,0 +1,51 @@ +import os +import pandas as pd +from columns import columns_order, real_columns + + +def set_row(df): + keys = df.columns.tolist() + modelo_dict = {keys[n]: 0 for n in range(len(keys))} + return modelo_dict + + +def get_clean_data(): + + arquivos = os.listdir(os.getcwd().replace("code", "input")) + + dfs = [pd.read_excel(f"../input/{df}") for df in arquivos] + df = pd.concat(dfs) + + df_group = df.groupby(["ano", "uf"], group_keys=True).apply(lambda x: x)[["tipo_de_crime", "qtd"]] + df_raw = pd.DataFrame(columns=columns_order) + + modelo_dict = set_row(df_raw) + for ano in df["ano"].sort_values(ascending=False).unique(): + for uf in df["uf"].unique(): + condition = (df_group.index.get_level_values("uf") == uf) & (df_group.index.get_level_values("ano") == ano) + modelo_dict["ano"] = ano + modelo_dict["sigla_uf"] = uf + for dado in df_group[condition].iloc: + modelo_dict[dado[0]] = dado[1] + df_raw.loc[len(df_raw)] = modelo_dict + modelo_dict = set_row(df_raw) + + remove_list_colunas = [ + "Mortes decorrentes de intervenções policiais - Total (Policiais civis e militares em serviço e fora)", + "Roubo e furto de veículos"] + + for remove in remove_list_colunas: + df_raw = df_raw.drop(remove, axis=1) + + for column in df_raw.columns: + if column not in ["ano", "sigla_uf", "Despesas empenhadas na Função Segurança Pública"]: + df_raw[column] = df_raw[column].astype("Int64") + + df_raw.columns = real_columns + df_raw = df_raw[~df_raw["sigla_uf"].isin(["Brasil"])] + + df_raw.to_csv("../output/br_fbsp_absp_uf.csv", index=False) + + +if __name__ == '__main__': + get_clean_data() diff --git a/models/br_fbsp_absp/code/columns.py b/models/br_fbsp_absp/code/columns.py new file mode 100644 index 00000000..99441016 --- /dev/null +++ b/models/br_fbsp_absp/code/columns.py @@ -0,0 +1,61 @@ +columns_order = ['ano', + 'sigla_uf', + 'CVLI Crimes violentos letais intencionais', + 'Feminicídios', + 'Homicídio doloso - N° ocorrências', + 'Homicídio doloso - N° vítimas', + 'Latrocínio', + 'Lesão corporal seguida de morte', + 'Mortes a esclarecer', + 'Mortes decorrentes de intervenções de Policiais Civis em serviço', + 'Mortes decorrentes de intervenções de Policiais Civis fora de serviço', + 'Mortes decorrentes de intervenções de Policiais Militares em serviço', + 'Mortes decorrentes de intervenções de Policiais Militares fora de serviço', + 'Mortes decorrentes de intervenções policiais - Total (Policiais civis e militares em serviço e fora)', + 'Mortes Violentas Intencionais', + 'Policiais Civis mortos em confronto em serviço', + 'Policiais Civis mortos em confronto ou por lesão não natural fora de serviço', + 'Policiais Militares mortos em confronto em serviço', + 'Policiais Militares mortos em confronto ou por lesão não natural fora de serviço', + 'Suicídio', + 'Estupro (incluindo Estupro de Vulnerável)', + 'Tentativa de estupro', + 'Furto de veículo', + 'Roubo a instituição financeira', + 'Roubo de carga', + 'Roubo de veículo', + 'Roubo e furto de veículos', + 'Armas de fogo apreendidas', + 'Registros de pessoas desaparecidas', + 'População do sistema penitenciário', + 'Despesas empenhadas na Função Segurança Pública'] + +real_columns = ["ano", + "sigla_uf", + "quantidade_cvli", + "quantidade_feminicidio", + "quantidade_ocorrencia_homicidio_doloso", + "quantidade_vitima_homicidio_doloso", + "quantidade_latrocinio", + "quantidade_lesao_corporal_seguida_de_morte", + "quantidade_morte_a_esclarecer", + "quantidade_morte_intervencao_policial_civil_servico", + "quantidade_morte_intervencao_policial_civil_fora_servico", + "quantidade_morte_intervencao_policial_militar_servico", + "quantidade_morte_intervencao_policial_militar_fora_servico", + "quantidade_morte_violenta_intencional", + "quantidade_policial_civil_morto_confronto_servico", + "quantidade_policial_civil_morto_confronto_fora_servico", + "quantidade_policial_militar_morto_confronto_servico", + "quantidade_policial_militar_morto_confronto_fora_servico", + "quantidade_suicidio", + "quantidade_estupro", + "quantidade_tentativa_estupro", + "quantidade_furto_veiculo", + "quantidade_roubo_instituicao_financeira", + "quantidade_roubo_carga", + "quantidade_roubo_de_veiculo", + "quantidade_arma_fogo_apreendida", + "quantidade_registro_pessoa_desaparecida", + "quantidade_populacao_sistema_penitenciario", + "despesa_empenhada_seguranca_publica"] diff --git a/models/br_fbsp_absp/uf.sql b/models/br_fbsp_absp/uf.sql new file mode 100644 index 00000000..ad187acb --- /dev/null +++ b/models/br_fbsp_absp/uf.sql @@ -0,0 +1,32 @@ +CREATE OR REPLACE VIEW br-fbsp-absp.br_fbsp_absp.uf AS +SELECT +SAFE_CAST(ano AS INT64) ano, +SAFE_CAST(sigla_uf AS STRING) sigla_uf, +SAFE_CAST(quantidade_cvli AS INT64) quantidade_cvli, +SAFE_CAST(quantidade_feminicidio AS INT64) quantidade_feminicidio, +SAFE_CAST(quantidade_ocorrencia_homicidio_doloso AS INT64) quantidade_ocorrencia_homicidio_doloso, +SAFE_CAST(quantidade_vitima_homicidio_doloso AS INT64) quantidade_vitima_homicidio_doloso, +SAFE_CAST(quantidade_latrocinio AS INT64) quantidade_latrocinio, +SAFE_CAST(quantidade_lesao_corporal_seguida_de_morte AS INT64) quantidade_lesao_corporal_seguida_de_morte, +SAFE_CAST(quantidade_morte_a_esclarecer AS INT64) quantidade_morte_a_esclarecer, +SAFE_CAST(quantidade_morte_intervencao_policial_civil_servico AS INT64) quantidade_morte_intervencao_policial_civil_servico, +SAFE_CAST(quantidade_morte_intervencao_policial_civil_fora_servico AS INT64) quantidade_morte_intervencao_policial_civil_fora_servico, +SAFE_CAST(quantidade_morte_intervencao_policial_militar_servico AS INT64) quantidade_morte_intervencao_policial_militar_servico, +SAFE_CAST(quantidade_morte_intervencao_policial_militar_fora_servico AS INT64) quantidade_morte_intervencao_policial_militar_fora_servico, +SAFE_CAST(quantidade_morte_violenta_intencional AS INT64) quantidade_morte_violenta_intencional, +SAFE_CAST(quantidade_policial_civil_morto_confronto_servico AS INT64) quantidade_policial_civil_morto_confronto_servico, +SAFE_CAST(quantidade_policial_civil_morto_confronto_fora_servico AS INT64) quantidade_policial_civil_morto_confronto_fora_servico, +SAFE_CAST(quantidade_policial_militar_morto_confronto_servico AS INT64) quantidade_policial_militar_morto_confronto_servico, +SAFE_CAST(quantidade_policial_militar_morto_confronto_fora_servico AS INT64) quantidade_policial_militar_morto_confronto_fora_servico, +SAFE_CAST(quantidade_suicidio AS INT64) quantidade_suicidio, +SAFE_CAST(quantidade_estupro AS INT64) quantidade_estupro, +SAFE_CAST(quantidade_tentativa_estupro AS INT64) quantidade_tentativa_estupro, +SAFE_CAST(quantidade_furto_veiculo AS INT64) quantidade_furto_veiculo, +SAFE_CAST(quantidade_roubo_instituicao_financeira AS INT64) quantidade_roubo_instituicao_financeira, +SAFE_CAST(quantidade_roubo_carga AS INT64) quantidade_roubo_carga, +SAFE_CAST(quantidade_roubo_de_veiculo AS INT64) quantidade_roubo_de_veiculo, +SAFE_CAST(quantidade_arma_fogo_apreendida AS INT64) quantidade_arma_fogo_apreendida, +SAFE_CAST(quantidade_registro_pessoa_desaparecida AS INT64) quantidade_registro_pessoa_desaparecida, +SAFE_CAST(quantidade_populacao_sistema_penitenciario AS INT64) quantidade_populacao_sistema_penitenciario, +SAFE_CAST(despesa_empenhada_seguranca_publica AS FLOAT64) despesa_empenhada_seguranca_publica +FROM br-fbsp-absp.br_fbsp_absp_staging.uf AS t \ No newline at end of file From 39727f1332d615985f0750516cef2ba46c6703ff Mon Sep 17 00:00:00 2001 From: Luiz Eduardo Date: Tue, 26 Sep 2023 09:32:27 -0300 Subject: [PATCH 2/6] Update and rename uf.sql to br_fbsp_absp__uf.sql --- models/br_fbsp_absp/{uf.sql => br_fbsp_absp__uf.sql} | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) rename models/br_fbsp_absp/{uf.sql => br_fbsp_absp__uf.sql} (95%) diff --git a/models/br_fbsp_absp/uf.sql b/models/br_fbsp_absp/br_fbsp_absp__uf.sql similarity index 95% rename from models/br_fbsp_absp/uf.sql rename to models/br_fbsp_absp/br_fbsp_absp__uf.sql index ad187acb..e8bd5c62 100644 --- a/models/br_fbsp_absp/uf.sql +++ b/models/br_fbsp_absp/br_fbsp_absp__uf.sql @@ -1,4 +1,9 @@ -CREATE OR REPLACE VIEW br-fbsp-absp.br_fbsp_absp.uf AS +{{ + config( + alias='uf', + schema='br_fbsp_absp' + ) +}} SELECT SAFE_CAST(ano AS INT64) ano, SAFE_CAST(sigla_uf AS STRING) sigla_uf, @@ -29,4 +34,4 @@ SAFE_CAST(quantidade_arma_fogo_apreendida AS INT64) quantidade_arma_fogo_apreend SAFE_CAST(quantidade_registro_pessoa_desaparecida AS INT64) quantidade_registro_pessoa_desaparecida, SAFE_CAST(quantidade_populacao_sistema_penitenciario AS INT64) quantidade_populacao_sistema_penitenciario, SAFE_CAST(despesa_empenhada_seguranca_publica AS FLOAT64) despesa_empenhada_seguranca_publica -FROM br-fbsp-absp.br_fbsp_absp_staging.uf AS t \ No newline at end of file +FROM br-fbsp-absp.br_fbsp_absp_staging.uf AS t From a6fec8a722c9991dc084b9033a03bf6c72cd3c04 Mon Sep 17 00:00:00 2001 From: Winzen Date: Tue, 26 Sep 2023 14:59:38 -0300 Subject: [PATCH 3/6] =?UTF-8?q?Modifica=C3=A7=C3=A3o=20dbt=5Fproject.yml?= =?UTF-8?q?=20e=20adi=C3=A7=C3=A3o=20de=20schema.yaml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dbt_project.yml | 3 ++ models/br_fbsp_absp/schema.yaml | 70 +++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 models/br_fbsp_absp/schema.yaml diff --git a/dbt_project.yml b/dbt_project.yml index 73a3ab14..c3e35d6a 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -121,6 +121,9 @@ models: br_cvm_oferta_publica_distribuicao: +materialized: table +schema: br_cvm_oferta_publica_distribuicao + br_fbsp_absp: + +materialized: table + +schema: br_fbsp_absp br_fgv_igp: +materialized: table +schema: br_fgv_igp diff --git a/models/br_fbsp_absp/schema.yaml b/models/br_fbsp_absp/schema.yaml new file mode 100644 index 00000000..9a0f7bb8 --- /dev/null +++ b/models/br_fbsp_absp/schema.yaml @@ -0,0 +1,70 @@ +version: 2 + +models: + - name: br_fbsp_absp + description: Insert `br_fbsp_absp` table description here + columns: + - name: ano + description: Ano + - name: sigla_uf + description: Sigla da Unidade da Federação + - name: quantidade_cvli + description: Quantidade de Crimes violentos letais intencionais (CVLI) + - name: quantidade_feminicidio + description: Quantidade de Feminicídios + - name: quantidade_ocorrencia_homicidio_doloso + description: Quantidade de Homicídio doloso - N° ocorrências + - name: quantidade_vitima_homicidio_doloso + description: Quantidade de Homicídio doloso - N° vítimas + - name: quantidade_latrocinio + description: Quantidade de Latrocínio + - name: quantidade_lesao_corporal_seguida_de_morte + description: Quantidade de Lesão corporal seguida de morte + - name: quantidade_morte_a_esclarecer + description: Quantidade de Mortes a esclarecer + - name: quantidade_morte_intervencao_policial_civil_servico + description: Quantidade de Mortes decorrentes de intervenções de Policiais + Civis em servico + - name: quantidade_morte_intervencao_policial_civil_fora_servico + description: Quantidade de Mortes decorrentes de intervenções de Policiais + Civis fora de servico + - name: quantidade_morte_intervencao_policial_militar_servico + description: Quantidade de Mortes decorrentes de intervenções de Policiais + Militares em servico + - name: quantidade_morte_intervencao_policial_militar_fora_servico + description: Quantidade de Mortes decorrentes de intervenções de Policiais + Militares fora de servico + - name: quantidade_morte_violenta_intencional + description: Quantidade de Mortes Violentas Intencionais + - name: quantidade_policial_civil_morto_confronto_servico + description: Quantidade de Policiais Civis mortos em confronto em servico + - name: quantidade_policial_civil_morto_confronto_fora_servico + description: Quantidade de Policiais Civis mortos em confronto ou por lesão + não natural fora de servico + - name: quantidade_policial_militar_morto_confronto_servico + description: Quantidade de Policiais Militares mortos em confronto em servico + - name: quantidade_policial_militar_morto_confronto_fora_servico + description: Quantidade de Policiais Militares mortos em confronto ou por + lesão não natural fora de servico + - name: quantidade_suicidio + description: Quantidade de Suicídio + - name: quantidade_estupro + description: Quantidade de Estupro (incluindo Estupro de Vulnerável) + - name: quantidade_tentativa_estupro + description: Quantidade de Tentativa de estupro + - name: quantidade_furto_veiculo + description: Quantidade de Furto de veículo + - name: quantidade_roubo_instituicao_financeira + description: Quantidade de Roubo a instituição financeira + - name: quantidade_roubo_carga + description: Quantidade de Roubo de carga + - name: quantidade_roubo_de_veiculo + description: Quantidade de Roubo de veículo + - name: quantidade_arma_fogo_apreendida + description: Quantidade de Armas de fogo apreendidas + - name: quantidade_registro_pessoa_desaparecida + description: Quantidade de Registros de pessoas desaparecidas + - name: quantidade_populacao_sistema_penitenciario + description: Quantidade de População do sistema penitenciário + - name: despesa_empenhada_seguranca_publica + description: Quantidade de Despesas empenhadas na Função Segurança Pública From 0f8310f2b7a1b0df93cca83b246c59c904574bb5 Mon Sep 17 00:00:00 2001 From: Luiz Eduardo Date: Tue, 26 Sep 2023 17:10:16 -0300 Subject: [PATCH 4/6] Update br_fbsp_absp__uf.sql --- models/br_fbsp_absp/br_fbsp_absp__uf.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/br_fbsp_absp/br_fbsp_absp__uf.sql b/models/br_fbsp_absp/br_fbsp_absp__uf.sql index e8bd5c62..a27c36d6 100644 --- a/models/br_fbsp_absp/br_fbsp_absp__uf.sql +++ b/models/br_fbsp_absp/br_fbsp_absp__uf.sql @@ -34,4 +34,4 @@ SAFE_CAST(quantidade_arma_fogo_apreendida AS INT64) quantidade_arma_fogo_apreend SAFE_CAST(quantidade_registro_pessoa_desaparecida AS INT64) quantidade_registro_pessoa_desaparecida, SAFE_CAST(quantidade_populacao_sistema_penitenciario AS INT64) quantidade_populacao_sistema_penitenciario, SAFE_CAST(despesa_empenhada_seguranca_publica AS FLOAT64) despesa_empenhada_seguranca_publica -FROM br-fbsp-absp.br_fbsp_absp_staging.uf AS t +FROM basedosdados-staging.br_fbsp_absp_staging.uf AS t From 4ba6815d776d3adf7af6558848314c041ca118dd Mon Sep 17 00:00:00 2001 From: Luiz Eduardo Date: Tue, 26 Sep 2023 17:12:34 -0300 Subject: [PATCH 5/6] Add files via upload --- models/br_fbsp_absp/code/download_data.py | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 models/br_fbsp_absp/code/download_data.py diff --git a/models/br_fbsp_absp/code/download_data.py b/models/br_fbsp_absp/code/download_data.py new file mode 100644 index 00000000..6f27cf80 --- /dev/null +++ b/models/br_fbsp_absp/code/download_data.py @@ -0,0 +1,74 @@ +from selenium import webdriver +from selenium.webdriver.firefox.options import Options +from selenium.webdriver.support.ui import WebDriverWait +from selenium.webdriver.common.by import By +from selenium.webdriver.support import expected_conditions as EC +from time import sleep +import os + + +def select_selection_download(website): + + abas_dic = [[2, 18, 'tableau_mvi-downloadData'], + [7, 2, 'tableau_estupro-downloadData'], + [12, 5, 'tableau_patrimonial-downloadData'], + [17, 1, 'tableau_mvi_armas-downloadData'], + [22, 1, 'tableau_mvi_gastos-downloadData'], + [27, 1, 'tableau_mvi_desap-downloadData'], + [32, 1, 'tableau_mvi_pop_pris-downloadData']] + + click(website, By.CSS_SELECTOR, "a.dropdown-toggle") + dropdown = website.find_element(By.CSS_SELECTOR, "ul.dropdown-menu") + dropdown = dropdown.find_elements(By.CSS_SELECTOR, "li a") + + for aba_n, aba in enumerate(dropdown): + sleep(2) + website.execute_script("arguments[0].click();", aba) + + for n in range(abas_dic[aba_n][1]): + try: + + click(website, By.CSS_SELECTOR, f'[aria-owns="bs-select-{abas_dic[aba_n][0]}"]') + + click(website, By.ID, f'bs-select-{abas_dic[aba_n][0]}-{n}') + + click(website, By.ID, abas_dic[aba_n][2]) + + except Exception as Error: + print(Error) + break + + +def create_website(): + options = Options() + options.add_argument('-headless') + options.set_preference('browser.download.folderList', 2) + options.set_preference('browser.download.manager.showWhenStarting', False) + options.set_preference('browser.download.dir', os.getcwd().replace("code", "input")) + options.set_preference('browser.helperApps.neverAsk.saveToDisk', "application/x-gzip") + + website = webdriver.Firefox(options=options) + wait = WebDriverWait(website, 10) + + website.get( + f"http://forumseguranca.org.br:3838/") + wait.until(EC.visibility_of_element_located((By.ID, 'tableau_mvi-downloadData'))) + + return website + + +def click(website, by, match, time_sleep=2): + where_click = website.find_element(by, match) + sleep(time_sleep) + website.execute_script("arguments[0].click();", where_click) + + +def download_data(): + website = create_website() + select_selection_download(website) + sleep(5) + website.quit() + + +if __name__ == '__main__': + download_data() From 35698ebeb701faa68d2c6d9be95650fd76e5bc1c Mon Sep 17 00:00:00 2001 From: Luiz Eduardo Date: Tue, 26 Sep 2023 17:19:22 -0300 Subject: [PATCH 6/6] Update schema.yaml --- models/br_fbsp_absp/schema.yaml | 42 ++++++++++++++++----------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/models/br_fbsp_absp/schema.yaml b/models/br_fbsp_absp/schema.yaml index 9a0f7bb8..a87dfa2f 100644 --- a/models/br_fbsp_absp/schema.yaml +++ b/models/br_fbsp_absp/schema.yaml @@ -2,69 +2,69 @@ version: 2 models: - name: br_fbsp_absp - description: Insert `br_fbsp_absp` table description here + description: A base contempla as informações do Anuário de Segurança Pública a partir de 2007 com as estatísticas criminais compatibilizadas entre anos, com informações acerca dos homicídios, tráfico, furto e roubo, além da força policial, entre outros ao nível das unidades da federação. columns: - name: ano description: Ano - name: sigla_uf - description: Sigla da Unidade da Federação + description: Sigla da Unidade da Federação - name: quantidade_cvli description: Quantidade de Crimes violentos letais intencionais (CVLI) - name: quantidade_feminicidio - description: Quantidade de Feminicídios + description: Quantidade de Feminicídios - name: quantidade_ocorrencia_homicidio_doloso - description: Quantidade de Homicídio doloso - N° ocorrências + description: Quantidade de Homicídio doloso - N° ocorrências - name: quantidade_vitima_homicidio_doloso - description: Quantidade de Homicídio doloso - N° vítimas + description: Quantidade de Homicídio doloso - N° vítimas - name: quantidade_latrocinio - description: Quantidade de Latrocínio + description: Quantidade de Latrocínio - name: quantidade_lesao_corporal_seguida_de_morte - description: Quantidade de Lesão corporal seguida de morte + description: Quantidade de Lesão corporal seguida de morte - name: quantidade_morte_a_esclarecer description: Quantidade de Mortes a esclarecer - name: quantidade_morte_intervencao_policial_civil_servico - description: Quantidade de Mortes decorrentes de intervenções de Policiais + description: Quantidade de Mortes decorrentes de intervenções de Policiais Civis em servico - name: quantidade_morte_intervencao_policial_civil_fora_servico - description: Quantidade de Mortes decorrentes de intervenções de Policiais + description: Quantidade de Mortes decorrentes de intervenções de Policiais Civis fora de servico - name: quantidade_morte_intervencao_policial_militar_servico - description: Quantidade de Mortes decorrentes de intervenções de Policiais + description: Quantidade de Mortes decorrentes de intervenções de Policiais Militares em servico - name: quantidade_morte_intervencao_policial_militar_fora_servico - description: Quantidade de Mortes decorrentes de intervenções de Policiais + description: Quantidade de Mortes decorrentes de intervenções de Policiais Militares fora de servico - name: quantidade_morte_violenta_intencional description: Quantidade de Mortes Violentas Intencionais - name: quantidade_policial_civil_morto_confronto_servico description: Quantidade de Policiais Civis mortos em confronto em servico - name: quantidade_policial_civil_morto_confronto_fora_servico - description: Quantidade de Policiais Civis mortos em confronto ou por lesão - não natural fora de servico + description: Quantidade de Policiais Civis mortos em confronto ou por lesão + não natural fora de servico - name: quantidade_policial_militar_morto_confronto_servico description: Quantidade de Policiais Militares mortos em confronto em servico - name: quantidade_policial_militar_morto_confronto_fora_servico description: Quantidade de Policiais Militares mortos em confronto ou por - lesão não natural fora de servico + lesão não natural fora de servico - name: quantidade_suicidio - description: Quantidade de Suicídio + description: Quantidade de Suicídio - name: quantidade_estupro - description: Quantidade de Estupro (incluindo Estupro de Vulnerável) + description: Quantidade de Estupro (incluindo Estupro de Vulnerável) - name: quantidade_tentativa_estupro description: Quantidade de Tentativa de estupro - name: quantidade_furto_veiculo - description: Quantidade de Furto de veículo + description: Quantidade de Furto de veículo - name: quantidade_roubo_instituicao_financeira - description: Quantidade de Roubo a instituição financeira + description: Quantidade de Roubo a instituição financeira - name: quantidade_roubo_carga description: Quantidade de Roubo de carga - name: quantidade_roubo_de_veiculo - description: Quantidade de Roubo de veículo + description: Quantidade de Roubo de veículo - name: quantidade_arma_fogo_apreendida description: Quantidade de Armas de fogo apreendidas - name: quantidade_registro_pessoa_desaparecida description: Quantidade de Registros de pessoas desaparecidas - name: quantidade_populacao_sistema_penitenciario - description: Quantidade de População do sistema penitenciário + description: Quantidade de População do sistema penitenciário - name: despesa_empenhada_seguranca_publica - description: Quantidade de Despesas empenhadas na Função Segurança Pública + description: Quantidade de Despesas empenhadas na Função Segurança Pública