2.3 KiB
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,LINESTRINGoPOLYGON;- SRID
4326; - fuente
WEB,ANDROID,IMPORToSURVEY; - 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/assetsdevuelve unFeatureCollectionGeoJSON;GET /api/v3/assets/:id/geometryconsulta la geometría actual;PUT /api/v3/assets/:id/geometrycrea o actualiza ubicación y metadatos;DELETE /api/v3/assets/:id/geometryretira 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.