81 lines
2.3 KiB
Markdown
81 lines
2.3 KiB
Markdown
# 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.
|