FIX: Arreglar radio de cobertura es la mitad al ser el radio
Some checks failed
Build docker container / Build image (push) Failing after 27m36s

This commit is contained in:
2026-01-06 22:48:24 +01:00
parent e5cfa721e8
commit 61d91a8e94

View File

@@ -9,9 +9,9 @@ def get_max_radius_by_traffic(traffic_level: int) -> int:
Nivel tráfico | Radio H3 máximo Nivel tráfico | Radio H3 máximo
---------------|---------------- ---------------|----------------
Bajo (1) | 18 Bajo (1) | 9
Medio (2) | 12 Medio (2) | 6
Alto (3) | 9 Alto (3) | 3
Args: Args:
traffic_level: Nivel de tráfico (1=bajo, 2=medio, 3=alto) traffic_level: Nivel de tráfico (1=bajo, 2=medio, 3=alto)
@@ -20,9 +20,9 @@ def get_max_radius_by_traffic(traffic_level: int) -> int:
Radio máximo en hexágonos H3 Radio máximo en hexágonos H3
""" """
traffic_limits = { traffic_limits = {
1: 18, # Tráfico bajo 1: 9, # Tráfico bajo
2: 12, # Tráfico medio 2: 6, # Tráfico medio
3: 9 # Tráfico alto 3: 3 # Tráfico alto
} }
return traffic_limits.get(traffic_level, 18) # Default a tráfico bajo return traffic_limits.get(traffic_level, 18) # Default a tráfico bajo
@@ -33,9 +33,9 @@ def coverage_radius(expected_demand: float, traffic_level: int = 1) -> int:
Nivel demanda | Radio H3 base Nivel demanda | Radio H3 base
---------------|---------- ---------------|----------
baja (<2) | 18 baja (<1) | 9
media (2-5) | 12 media (<2) | 6
alta (≥5) | 6 alta (>2) | 3
Args: Args:
expected_demand: Demanda esperada expected_demand: Demanda esperada
@@ -45,12 +45,12 @@ def coverage_radius(expected_demand: float, traffic_level: int = 1) -> int:
Radio de cobertura ajustado por tráfico Radio de cobertura ajustado por tráfico
""" """
# Radio base según demanda # Radio base según demanda
if expected_demand < 2: if expected_demand < 1:
base_radius = 18 base_radius = 9
elif expected_demand < 5: elif expected_demand < 2:
base_radius = 12
else:
base_radius = 6 base_radius = 6
else:
base_radius = 3
# Aplicar restricción de tráfico # Aplicar restricción de tráfico
max_radius = get_max_radius_by_traffic(traffic_level) max_radius = get_max_radius_by_traffic(traffic_level)
@@ -61,9 +61,9 @@ def get_coverage_weight(expected_demand: float) -> float:
Calcula un peso para la cobertura basado en la demanda. Calcula un peso para la cobertura basado en la demanda.
Demanda más alta = mayor peso. Demanda más alta = mayor peso.
""" """
if expected_demand < 2: if expected_demand < 1:
return 1.0 return 1.0
elif expected_demand < 5: elif expected_demand < 2:
return 2.0 return 2.0
else: else:
return 3.0 return 3.0