# Sprint 19 — Mapa geográfico y rutas migratorias

## Objetivo

Incorporar un espacio geográfico del caso que permita registrar lugares y recorridos sin confundir una representación visual con una conclusión genealógica.

## Principios

- Toda ubicación comienza como propuesta.
- Toda ruta comienza como propuesta.
- La revisión humana es obligatoria.
- Una ubicación alternativa o refutada se conserva.
- La sincronización desde la cronología no confirma presencia.
- El sistema no utiliza geocodificación ni servicios cartográficos externos.
- Ninguna ruta confirma automáticamente migración, identidad o parentesco.
- Todas las consultas filtran por empresa y caso.

## Funciones

- Mapa SVG interactivo sin dependencias externas.
- Zoom, selección accesible de marcadores y detalle contextual.
- Registro manual de coordenadas, nombre actual e histórico.
- Asociación opcional con persona, evento y referencia.
- Fechas exactas, aproximadas, rangos, antes/después o desconocidas.
- Procedencia, certeza, estado y revisión humana.
- Sincronización de eventos que ya tienen lugar georreferenciado.
- Construcción de rutas de dos a veinte ubicaciones.
- Tramos confirmados, probables, alternativos o de contexto.
- Filtros por persona, estado, certeza, referencia y periodo.
- Integración directa con la cronología del caso.

## Tablas

- `gene_mapa_ubicaciones`
- `gene_mapa_rutas`
- `gene_mapa_ruta_puntos`

## Seguridad

- Permisos de lectura y actualización del caso.
- CSRF en todas las operaciones.
- Validación de pertenencia de personas, eventos y ubicaciones.
- Aislamiento por `id_empresa` e `id_caso`.
- Auditoría de creación, sincronización y revisión.
- Casos archivados en modo de solo lectura.

## Caso piloto

El recorrido de José Gallardo Fernández puede registrarse como una o varias rutas propuestas: Málaga, zona republicana, Francia o norte de África, Trípoli, Italia y Perú. Los tramos inciertos deben mantenerse como alternativos o probables hasta que exista evidencia suficiente.
