Skip to content

Commit

Permalink
Merge pull request #39 from reflejar/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
mpvaldez authored Dec 1, 2023
2 parents 06ab78d + 136dff0 commit f7dcd93
Show file tree
Hide file tree
Showing 15 changed files with 198 additions and 164 deletions.
11 changes: 11 additions & 0 deletions assets/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,20 @@
text-align: center!important;
font-family: Arial, Helvetica, sans-serif;
}
.cell-table tbody tr th {
white-space: pre-line!important;
text-align: center!important;
font-family: Arial, Helvetica, sans-serif;
}

.card-jurisprudencia {
border-left: 20px solid #DEDE7C;
border-radius: 20px!important;

}

@media (max-width: 767px) {
.juris-encabezado {
display: flex;
}
}
4 changes: 3 additions & 1 deletion pages/jurisprudencia/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@
from .componentes.encabezado import Encabezado
from .componentes.filtros import Filtros
from .componentes.fallos import Fallos
from .componentes.metolodogia import Metodologia


layout = dbc.Container([
Encabezado,
Filtros,
Fallos
Fallos,
Metodologia
],
className="my-5 min-vh-100",
)
12 changes: 6 additions & 6 deletions pages/jurisprudencia/componentes/fallos.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import dash_bootstrap_components as dbc
from ..data import DATA

Fallos = dbc.Row(dbc.Col(html.Div(id='fallos-judiciales'), class_name="mt-5"))
Fallos = dbc.Row(dbc.Col(html.Div(id='fallos-judiciales', className="navbar-nav-scroll", ), class_name="mt-5"))

@callback(
Output('fallos-judiciales','children'),
Expand Down Expand Up @@ -30,10 +30,10 @@ def update_fallos(voces, provincia, tipo, organismo):
cards.append(dbc.Card(dbc.CardBody(
html.Div([
html.Div([
html.Span([html.B('AÑO: '), f"{row['Año']}"], className="mx-3"),
html.Span([html.B('PROVINCIA: '), f"{row['Provincia']}"], className="mx-3"),
html.Span([html.B('CIUDAD: '), f"{row['Ciudad']}"], className="mx-3"),
], className="text-end"),
html.Span([html.B('AÑO: '), f"{row['Año']}"], className="mx-2"),
html.Span([html.B('PROVINCIA: '), f"{row['Provincia']}"], className="mx-2"),
html.Span([html.B('CIUDAD: '), f"{row['Ciudad']}"], className="mx-2"),
], className="text-end juris-encabezado"),
html.Hr(),
html.P([html.B("VOCES TEMÁTICAS: "), row['Voces temáticas']]),
html.P([html.B("JURISDICCIÓN TERRITORIAL: "), row['Jurisdicción territorial']]),
Expand All @@ -45,6 +45,6 @@ def update_fallos(voces, provincia, tipo, organismo):
html.P(row['Sintesis del fallo']),
html.A("Ver fallo completo", className="btn btn-primary text-dark")
], className="poppins small mx-2")
), className="mt-4 p-3 card-jurisprudencia"))
), className="mb-4 mx-3 p-3 card-jurisprudencia"))

return cards
21 changes: 21 additions & 0 deletions pages/jurisprudencia/componentes/metolodogia.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
from dash import html

import dash_bootstrap_components as dbc

Metodologia = dbc.Row(dbc.Col([
html.H5([html.Strong("METODOLOGÍA & PRODUCTO"), html.Span("V1.0",className='badge bg-primary text-black mx-3')], className="text-white pt-3 space-grotesk"),
html.P('La herramienta recopila y sistematiza: Fallos judiciales, Resoluciones administrativas, Dictámenes, Recomendaciones de la defensoría del pueblo y Relatorías de la ONU, entre otras, sobre el uso de agroquímicos en Argentina'),
html.P('Jurisprudencia tiene como fuente la recopilación realizada por Fernando Cabaleiro (Naturaleza en Derechos) en “Praxis Jurídica sobre el uso de Agrotóxicos en la Argentina”, por lo que su información llega hasta Abril de 2022'),
html.P('Esta herramienta recopila la información proveniente de la investigación y la sistematiza para permitir que se acceda a una síntesis del caso de interés siguiendo criterios de búsqueda deseados. Para que luego si lo desea acceda a la fuente original. Los criterios por los que se agrupó para facilitar la búsqueda son: A) Año, B) Provincia, C) Ciudad, D) Voces temáticas, E) Autos, F) Organismo judicial o administrativo, G) Jurisdicción territorial y H) Tipo de fallo.'),
html.P([
'Cita:',
html.Br(),
'[“Praxis Jurídica sobre el uso de Agrotóxicos en la Argentina”. Recopilación de fallos judiciales, resoluciones administrativas, dictámenes y recomendaciones de las Defensorías del Pueblo y Relatorías Especiales y Comités de DD.HH de la ONU. Cabaleiro, Fernando. 5º Edición. 16 de Abril de 2022. Naturaleza de Derechos. 1637 páginas.]',
html.Br(),
'Conoce sobre la fuente en: https://naturaleza.ar/contenido/164/praxis-juridica-sobre-los-agrotoxicos-fernando-cabaleiro'
]),
html.P('*Este proyecto posee un enfoque colectivo, participativo y abierto. Si encontraste algún error o información desactualizada comunícate a contacto. También se puede acceder al dataset utilizado para la construcción de la herramienta.')
],
id="metodologia-jurisprudencia",
className=" text-white mt-5"
))
8 changes: 4 additions & 4 deletions pages/jurisprudencia/data/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@

DATA = {
'filtros': {
'voces-tematicas': data['Voces temáticas'].dropna().unique(),
'provincia': data['Provincia'].dropna().unique(),
'tipo-fallo': data['Tipo de fallo'].dropna().unique(),
'organismo': data['Organismo judicial o administrativo'].dropna().unique(),
'voces-tematicas': sorted(data['Voces temáticas'].dropna().unique()),
'provincia': sorted(data['Provincia'].dropna().unique()),
'tipo-fallo': sorted(data['Tipo de fallo'].dropna().unique()),
'organismo': sorted(data['Organismo judicial o administrativo'].dropna().unique()),
},
'contenido': data
}
Expand Down
24 changes: 12 additions & 12 deletions pages/mapa_normativo/componentes/footer_normativo.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
)
], bordered=True, responsive=True),
html.I([
"*Las estaciones de bombeo contemplan tambien las camaras de inspección de agua abastecimiento público."
"*Las estaciones de bombeo contemplan también las cámaras de inspección de agua y abastecimiento público."
]),
html.Br(),
html.Br(),
Expand All @@ -39,25 +39,25 @@
html.Br(),
html.H4(html.Strong("ZONA DE AMORTIGUAMIENTO:"), className="text-white"),
html.P([
"""Área en la que solo está permitida la aplicación de agroquímicos bajo estrictas pautas. Estas son: """
"""Área en la que sólo está permitida la aplicación de agroquímicos bajo estrictas pautas. Estas son:"""
]),
html.Ul([
html.Li("Vientos mayores a 5 kilómetros por hora y menores a 15 kilómetros por hora."),
html.Li("Los vientos siempre deben ser provenientes desde la zona resguardada hacia la zona rural."),
html.Li("Humedad relativa mayor al 50%."),
html.Li("Temperatura no mayor a 25°C."),
html.Li("Sólo se permiten agroquímicos banda verde y/o azul (clase toxicológica IV, SENASA)."),
html.Li("Las aplicaciones solo podrán hacer aplicaciones con receta agronómica válida y presencia de un profesional habilitado.")
html.Li("Las aplicaciones sólo podrán hacer aplicaciones con receta agronómica válida y presencia de un profesional habilitado.")
]),
html.Br(),
html.H4(html.Strong("SOBRE ESCUELAS RURALES:"), className="text-white"),
html.P([
"""Se aplican todas las  pautas de zonas de exclusión y amortiguamiento establecidas en la ordenanza a nivel general, y
"""Se aplican todas las pautas de zonas de exclusión y amortiguamiento establecidas en la ordenanza a nivel general, y
en particular en la cercanía de escuelas rurales también se suman las siguientes exigencias:""",
html.Ul([
html.Li("Es obligatorio el aviso directo al director del establecimiento previo a la aplicación (pasando el mouse sobre cada escuela se muestra el whatsapp del director/a y el email oficial de la escuela)."),
html.Li("Es obligatoria la presencia de un  profesional habilitado al momento de la pulverización."),
html.Li("Estas solo pueden realizarse a contra horario escolar, es decir sin niños en los establecimientos."),
html.Li("Es obligatoria la presencia de un profesional habilitado al momento de la pulverización."),
html.Li("Estas sólo pueden realizarse a contra horario escolar, es decir sin niños en los establecimientos."),
html.Li("La persona titular de dominio del sector rural deberá generar barreras forestales necesarias para que resguarden a la escuela.")
])
]),
Expand All @@ -66,7 +66,7 @@
html.P([
html.Ul([
html.Li("Todas las personas físicas y jurídicas que hagan aplicaciones a nombre propio o de terceros deberán estar inscriptos en el registro municipal."),
html.Li("Todos los equipos de aplicación deberán estar registrados y exhibir la  identificación  alfanumérica en el frente ambos laterales y en la parte posterior de cada equipo con material reflectivo y en un tamaño no inferiores a 20 cm x 12 cm."),
html.Li("Todos los equipos de aplicación deberán estar registrados y exhibir la identificación alfanumérica en el frente ambos laterales y en la parte posterior de cada equipo con material reflectivo y en un tamaño no inferior a 20 cm x 12 cm."),
])
]),
html.Br(),
Expand Down Expand Up @@ -131,16 +131,16 @@
]),
html.P(html.I("""
A falta de un mapa oficial esta herramienta GIS integra información de diversas fuentes:
escuelas de la Provincia de Buenos Aire (Datos Abiertos PBA) la georreferenciación de cursos de agua (Datos Abiertos PBA),
parajes rurales y poblados urbanos a partir de imágenes satelitales (google maps) , información poblacional (INDEC),
ontactos de las escuelas rurales (Datos Abiertos PBA y relevamiento propio) en suma a un conjunto de correcciones y precisiones
escuelas de la Provincia de Buenos Aires (Datos Abiertos PBA) la georreferenciación de cursos de agua (Datos Abiertos PBA),
parajes rurales y poblados urbanos a partir de imágenes satelitales (OpenStreetMap y ArcGIS) , información poblacional (INDEC),
contactos de las escuelas rurales (Datos Abiertos PBA y relevamiento propio) en suma a un conjunto de correcciones y precisiones
reportadas desde el territorio. Las distancias de protección utilizadas (zonas de exclusión/amortiguamiento) se obtienen del
texto original de cada ordenanza municipal.
""")),
html.H5(html.Strong("PRODUCTO"),className="text-white pt-3 space-grotesk" ),
html.P(html.I("""La versión 1.0 solo mapea Mar Chiquita. Ya estamos trabajando en un una versión mejorada para Mar Chiquita
html.P(html.I("""La versión 1.0 sólo mapea Mar Chiquita. Ya estamos trabajando en una versión mejorada para Mar Chiquita
(que incluya la exclusión aérea, las zonificación de parajes rurales y las zonas protegidas por amparo judicial)
y en versiones que incorperen a otros municipios.""")),
y en versiones que incorporen a otros municipios.""")),
html.P(html.I(""" *Este proyecto posee un enfoque colectivo, participativo y abierto. Si encontraste algún error o información
desactualizada comunícate a contacto."""))
],
Expand Down
6 changes: 3 additions & 3 deletions pages/ranking_ambiental/data/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ def preparar_base(base):
# # Reemplazar valores nulos en la columna específica con '-'
# columna_especifica = 'Puntaje'
# base[columna_especifica] = base[columna_especifica].fillna(0)

base["Puntaje"]=base["Puntaje"].fillna(0).apply(lambda x: round(float(x.replace(',', '.')), 2) if isinstance(x, str) else round(x, 2))
# Identificar las columnas que no son numéricas
non_numeric_columns = base.select_dtypes(exclude=['number']).columns
# Llenar los valores faltantes en las columnas no numéricas con una cadena vacía
Expand All @@ -106,7 +106,7 @@ def preparar_base(base):
numeric_columns = base.select_dtypes(include=['number']).columns
base[numeric_columns] = base[numeric_columns].fillna(0)
# base["Puntaje"]=base["Puntaje"].fillna(0).apply(lambda x: round(math.sqrt(x), 2) )
base["Puntaje"]=base["Puntaje"].fillna(0).apply(lambda x: round(x, 2) )

base["Fecha"]=base["Fecha"].apply(lambda x: x if x!="\-" else "")
del base["Link"]
return base
Expand Down Expand Up @@ -137,7 +137,7 @@ def agregar_etiquetas_mapa(mapa, etiquetas):
final_mapa=final_mapa.drop(columns=["Municipios_nombre_original_x","Municipios_nombre_original_y"])
puntaje=final_mapa["Puntaje"].apply(lambda x: str(x))
# Agregar informacion de etiquetas
final_mapa["tooltip"] = '<b>Partido</b>: '+ final_mapa["nam"] + '<br>'+'<b>Puntaje</b>: ' + puntaje+ '<br>'+'<b>Habitantes</b>: '+final_mapa["Habitantes (CENSO 2022)"] + '<br>'+'<b>Intendente</b>: '+final_mapa["INTENDENTE"] + '<br>'+'<b>Afiliación política</b>: '+final_mapa["AFILIACIÓN POLÍTICA"] + '<br>'+'<b>Composición política del consejo deliberante</b>: '+final_mapa["% OFICIALISTA EN EL CONCEJO DELIBERANTE"]
final_mapa["tooltip"] = '<b>Partido</b>: '+ final_mapa["nam"] + '<br>'+'<b>Puntaje</b>: ' + puntaje+ '<br>'+'<b>Habitantes</b>: '+final_mapa["Habitantes (CENSO 2022)"].apply(lambda x: str(x).split(".")[0]) + '<br>'+'<b>Intendente</b>: '+final_mapa["INTENDENTE"] + '<br>'+'<b>Afiliación política</b>: '+final_mapa["AFILIACIÓN POLÍTICA"]
final_mapa["popup"] = final_mapa["tooltip"]
return final_mapa

Expand Down
Binary file modified pages/ranking_ambiental/data/agroecologia_normativa.parquet
Binary file not shown.
Binary file modified pages/ranking_ambiental/data/agua_normativa.parquet
Binary file not shown.
Loading

0 comments on commit f7dcd93

Please sign in to comment.