chore: import DH V2 D5.6.4 production baseline

This commit is contained in:
DH V2
2026-09-05 10:12:35 -03:00
commit 82213e72f5
757 changed files with 84218 additions and 0 deletions
+80
View File
@@ -0,0 +1,80 @@
# Fase B2 — Geometrías PostGIS y mapa operativo
Versión: `0.9.0`
## Objetivo
Incorporar ubicación geográfica real al Maestro de Activos y reemplazar el
mapa demostrativo por una consulta territorial conectada a PostGIS.
## Modelo
La tabla `asset_geometries` mantiene la geometría actual de cada activo:
- `POINT`, `LINESTRING` o `POLYGON`;
- SRID `4326`;
- fuente `WEB`, `ANDROID`, `IMPORT` o `SURVEY`;
- precisión en metros;
- fecha/hora de captura;
- dispositivo;
- usuario y fechas de actualización.
PostgreSQL valida tipo, rango, validez geométrica y relación con el activo. La
columna posee un índice espacial `GIST`.
## API
- `GET /api/v3/map/assets` devuelve un `FeatureCollection` GeoJSON;
- `GET /api/v3/assets/:id/geometry` consulta la geometría actual;
- `PUT /api/v3/assets/:id/geometry` crea o actualiza ubicación y metadatos;
- `DELETE /api/v3/assets/:id/geometry` retira la geometría actual.
El mapa admite filtros por tipo de activo, estado de información, tipo de
geometría y área visible mediante `bbox`. La respuesta se limita a 5000
features e informa si fue truncada.
## Seguridad
- lectura y mapa: `assets.read`;
- escritura geográfica: `assets.update_geometry`.
La migración asigna escritura a `admin`, `supervisor` e `inspector`. Director y
auditor conservan lectura territorial.
## Interfaz
### Mapa
`/mapa` muestra puntos, líneas y polígonos con:
- filtros reales;
- selección visual;
- datos básicos, jerarquía y estado;
- acceso directo al detalle del activo;
- aviso de resultados truncados o sin ubicación.
### Editor del activo
El detalle del activo permite:
- elegir punto, línea o polígono;
- marcar vértices sobre el mapa;
- deshacer y limpiar;
- usar explícitamente la geolocalización del navegador;
- registrar precisión, timestamp y dispositivo;
- retirar una geometría dejando auditoría.
La captura GPS sólo ocurre cuando el usuario presiona “Usar mi ubicación”.
## Trazabilidad
Cada creación, reemplazo o retiro genera un evento de auditoría con geometría y
metadatos antes/después. El versionado temporal formal de activos se incorpora
en una subfase posterior.
## Fuera de B2
- versiones históricas completas y consulta temporal;
- media/fotografías;
- importaciones masivas;
- relevamiento de campo y sincronización Android.