---
id: distance_bucket_py_geo
name: distance_bucket
kind: function
lang: py
domain: geo
version: "1.0.0"
purity: pure
signature: "distance_bucket(distance_km: float) -> str"
description: "Clasifica una distancia en km en uno de los buckets: 0-5, 5-10, 10-20, 20-40, 40-80, 80-160, 160+."
tags: [geo, distance, bucket, classification]
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: ""
imports: []
example: |
  from geo.distance_bucket import distance_bucket
  distance_bucket(3.0)    # "0-5"
  distance_bucket(7.0)    # "5-10"
  distance_bucket(200.0)  # "160+"
tested: true
tests: ["bucket_0_5", "bucket_5_10", "bucket_borde_exacto", "bucket_160_mas"]
test_file_path: "python/functions/geo/tests/test_distance_bucket.py"
file_path: "python/functions/geo/distance_bucket.py"
params:
  - {name: distance_km, desc: "distancia en kilometros a clasificar (valor >= 0)"}
output: "cadena con el rango al que pertenece la distancia, p.ej. '0-5' o '160+'"
source_repo: "internal:footprint_aurgi"
source_license: "internal-aurgi"
source_file: "zonas_mapas_aurgi/backend/app.py:678"
---

## Ejemplo

```python
from geo.distance_bucket import distance_bucket

distance_bucket(3.0)    # "0-5"
distance_bucket(50.0)   # "40-80"
distance_bucket(200.0)  # "160+"
```

## Notas

Los bordes son inclusivos por la izquierda: distance_km <= edge retorna el bucket.
