Seguimiento de activos en interiores en tiempo real: del tag RTLS a un marcador en vivo sobre tu plano
Lleva posiciones RTLS, BLE, UWB o Wi‑Fi a un mapa interior en vivo: elige la tecnología, envíalas a una tabla, muéstralas y repasa por dónde pasaron.


Qué cubre esta guía
¿Qué tecnología de tag?
Empieza por la pregunta, no por la radio. «¿En qué sala está el proyector?», «¿Dónde está exactamente la carretilla en este pasillo?» y «¿Pasó este carro por la puerta del muelle?» son tres preguntas distintas, y cada tecnología responde bien a una de ellas. A Spatial Map le da igual cuál elijas: necesita un identificador y una posición (o un punto de lectura) por fila.
| Tecnología | Qué te dice | Granularidad habitual | Qué instalas | Encaja con |
|---|---|---|---|---|
| Tags BLE + gateways | Dónde está un tag de forma aproximada, normalmente en qué sala o zona | Sala o zona, hasta unos pocos metros; depende de la densidad de gateways y del edificio | Tags con batería, gateways o receptores BLE | Herramientas, carros, equipos portátiles, credenciales del personal |
| UWB | Una posición x/y precisa (a menudo también z) | Se puede bajar del metro con anclajes densos y bien topografiados | Anclajes con alimentación, un estudio del sitio, tags | Carretillas, manipulación robotizada, equipos donde cada metro cuenta |
| RFID UHF pasivo | Que un tag pasó por un punto de lectura | Presencia en una puerta, arco, ascensor o estante, no un recorrido continuo | Lectores fijos y antenas en puntos de paso, etiquetas de bajo coste | Palés, cajas, consumibles, inventario en puertas y arcos |
| Localización Wi‑Fi | Dónde está un dispositivo Wi‑Fi, según tu red inalámbrica | Unos metros, muy variable según la disposición de los puntos de acceso | Puntos de acceso existentes y un motor de localización | Portátiles, tabletas, tags Wi‑Fi que ya tienes |
El RFID funciona distinto de las otras tres: en lugar de un punto que se mueve, obtienes lecturas en lectores fijos. Nuestra demo Retail Mart muestra ese patrón: 85 lectores en arcos, ascensores y escaleras mecánicas dibujados como zonas pulsantes. Consulta cómo integrar lectores RFID en un mapa interior.
Monta el flujo de datos
Spatial Map no es un motor de posicionamiento y nunca habla con tags ni anclajes. El motor que ya tienes calcula las posiciones; un pequeño relé —un script, una función serverless o tu middleware de integración— convierte su flujo en filas de tabla. Dentro de la app no hay webhook, stream ni ingesta WebSocket que configurar: la API de escritura de tablas es el camino de entrada.
- 1Crea la tabla
En Tables, crea una tabla del tipo Asset (mobile) con los campos que necesitan tus marcadores y tooltips. Por ejemplo: asset_tag, asset_name, asset_type, status, location, battery_pct, last_seen, lat, lng y elevation_m, más status_color si tu relé elige el color. Consulta Tablas.
- 2Crea una clave
En la pestaña API & access de la tabla, pulsa Create key. La clave empieza por sgv_tbl_, se muestra una sola vez y solo puede escribir en esa tabla; da a cada sistema su propia clave para poder revocar una sin romper el resto. Copia la URL base exacta y los ejemplos curl de esa misma pestaña.
- 3Convierte a latitud / longitud
La mayoría de los motores dan x/y en metros en un sistema local. Convierte a WGS84 antes de enviar (una transformación afín a partir de dos o tres puntos medidos) y envía la altura en metros (elevation_m) para que el marcador quede a su nivel en 3D.
- 4Agrupa y envía
Cada pocos segundos, envía los tags que se movieron o cambiaron de estado en un único POST /rows/bulk: hasta 1.000 filas en una transacción. Las filas no válidas vuelven en errors[] y las válidas se guardan; se rechaza una fila sin un campo obligatorio o con un valor único duplicado.
- 5Parchea en vez de sobrescribir
POST sustituye todo el contenido de la fila. Si la tabla guarda datos que tu motor no conoce (nombre del equipo, departamento responsable), crea cada fila una vez y luego envía las posiciones con PATCH /rows/bulk, que solo fusiona los campos que mandas.
# 1) Create or replace rows (full payload) — once per asset,
# or whenever its master data changes
curl -X POST https://app.spatialmap.io/api/v1/public/tables/rows/bulk \
-H "Authorization: Bearer $SPATIALMAP_TABLE_KEY" \
-H "Content-Type: application/json" \
-d '{"rows":[
{"entityKey":"EQ-0103","payload":{"asset_tag":"EQ-0103","asset_name":"Pallet jack 03",
"asset_type":"Pallet jack","status":"In use","location":"Dock 2","battery_pct":76,
"lat":42.4637,"lng":-5.8802,"elevation_m":0.9,"status_color":"#2563eb",
"last_seen":"2026-10-11T16:28:03Z"}},
{"entityKey":"EQ-0149","payload":{"asset_tag":"EQ-0149","asset_name":"Torque wrench 02",
"asset_type":"Tool","status":"Available","location":"Tool crib",
"lat":42.46345,"lng":-5.88047,"elevation_m":0.9,"status_color":"#16a34a",
"last_seen":"2026-10-11T16:28:01Z"}}
]}'
# 2) Every few seconds: patch only the tags that moved or changed
curl -X PATCH https://app.spatialmap.io/api/v1/public/tables/rows/bulk \
-H "Authorization: Bearer $SPATIALMAP_TABLE_KEY" \
-H "Content-Type: application/json" \
-d '{"rows":[
{"entityKey":"EQ-0103","patch":{"lat":42.46336,"lng":-5.88014,"location":"Dock 4",
"last_seen":"2026-10-11T16:28:09Z"}}
]}'Qué pasa después: cada escritura se guarda, se añade al historial de la fila y se anuncia a todos los mapas abiertos, que vuelven a cargar esa capa al momento; un refresco cada 30 segundos actúa de red de seguridad. De extremo a extremo, el marcador va por detrás del activo real lo que tarde tu motor más tu intervalo de envío. Unos segundos es realista; el seguimiento por debajo del segundo no es para lo que sirve este flujo.
Convierte las filas en marcadores que se mueven
Un data link decide cómo aparecen las filas de una tabla en una instalación. Para el seguimiento, el modo es Live location marker: cada fila se convierte en un marcador en su propia latitud y longitud. Una configuración de seguimiento típica tiene dos, uno por tabla:
- Equipment lee una tabla Equipment del tipo Asset (mobile): herramientas, carros, transpaletas, equipos de prueba, cualquier cosa con un tag. lng/lat colocan el marcador, elevation_m lo eleva, asset_name le pone etiqueta y un icono lo identifica como equipo; el color sale de un campo como status_color o de reglas de estilo sobre un estado como Available, In use o Maintenance.
- Staff lee una tabla Staff del mismo tipo, con el ID de la credencial como clave. Mismo modo con un icono de persona, el nombre de la persona como etiqueta y color según el rol o el estado.


En Connect fields apuntas el enlace a tus propios nombres de columna; no tienen por qué llamarse lat y lng (asignación de campos). El color puede salir directamente de un campo como status_color o de reglas de estilo que asignan colores a valores como In use o Maintenance. El paso Map tooltip elige qué se ve al pasar el ratón o al hacer clic; un enlace de equipos podría mostrar etiqueta, tipo, estado, ubicación, batería y última detección.
Plantas: un enlace puede mostrar sus registros en todas las plantas, en plantas concretas o en la planta que indique cada registro. Si tu motor informa de un nivel como «Level 1», envíalo como campo y elige From record en el alcance de plantas; así cada marcador aparece solo en su planta.
Lo que ve la gente en el mapa
En el visor o en un enlace compartido, las dos capas se apoyan sobre el plano 3D junto con el resto de la instalación. El panel Layers lista las capas de datos junto a áreas, escaleras, racks y planos, de modo que un jefe de turno puede ocultar las credenciales del personal y mirar solo los equipos, o apagar una capa por completo (panel de capas).
Capas de tags BLE como estas funcionan en varias instalaciones del espacio de trabajo de demostración: herramientas y cuadrillas en la planta de producción de Summit Assembly Plant, carretillas y cuadrillas en el muelle de Eastport Cross‑Dock Freight Hub, herramientas y equipos sala por sala en Northgate Electronics, y personal, visitantes y equipos por zona en Harborview Corporate Campus, donde el registro de activos y el préstamo de equipos comparten el mismo mapa de tres plantas.


Haz clic en un marcador para abrir el panel de detalle: todas las propiedades de la fila —etiqueta, estado, ubicación, batería, última detección, coordenadas— y, debajo, una sección History con la cronología de cambios de esa fila.
¿Por dónde ha pasado? Historial y reproducción
Cada escritura por la API se guarda como un evento con una instantánea completa de la fila. Eso te da dos formas de mirar atrás, ambas descritas en historial y reproducción de tablas:
- Por activo: la sección History del panel lista cada alta, cambio y baja de esa fila, del más reciente al más antiguo, con los campos que cambiaron. Responde a «¿cuándo pasó la transpaleta 03 a Maintenance y dónde estaba entonces?».
- Toda la capa: añade un segundo data link sobre la misma tabla en modo Historical movement. Mientras esté visible, aparece un History player en la parte inferior del mapa: elige una ventana (1h, 24h, 7d o 30d), pulsa reproducir o arrastra la barra, y cada marcador salta a donde estaba su activo en ese momento. La velocidad es tiempo de historial por segundo de reproducción, de 15s/s a 30m/s.
Lo que falla primero
Siguientes pasos
Para la parte de gestión de activos de esta historia —un registro de activos, el préstamo de equipos y equipos localizados en un mismo mapa— mira la solución de gestión de activos y la ficha de Harborview Corporate Campus; para herramientas y cuadrillas en una planta de producción, Summit Assembly Plant, y para carretillas y cuadrillas en un muelle, Eastport Cross‑Dock Freight Hub. La documentación cubre cada pieza: data links, la API de escritura de tablas y el tutorial seguir personal y equipos con marcadores en vivo, que monta este mismo flujo desde una tabla vacía, paso a paso.
Prueba la plataforma que tus datos merecen.
Spatial Map convierte hojas de cálculo, sensores y planos CAD en una vista 3D en vivo de tus instalaciones — sin instalar nada, prueba gratuita de siete días.
Velo en vivo
- RFID Loss Prevention & Anti-Theft Map
- Indoor Asset Management Map & Equipment Tracking
- Cross-Dock & Yard Management Map in Live 3D
- Manufacturing Digital Twin & Plant Floor Map
- Harborview Corporate Campus — Building A
- Ridgeline Data Center
- Westbrook University — Science Building
- Eastport Cross-Dock Freight Hub
- Summit Assembly Plant
- Production Museum
Sigue leyendo
- Caso de usoOperaciones de terminal aeroportuaria en un mapa en vivo: etiquetas RFID de equipaje, colas y puertasUna terminal funciona a base de relevos: de la facturación al control de seguridad, de la puerta a la cinta de equipaje. Cada relevo ocurre en un lugar, así que cada uno pertenece a un mapa. Así reúne nuestra demo Silverbay Terminal 2 etiquetas de equipaje, colas, puertas y aforo en una vista en vivo de dos plantas.
- Caso de usoVisibilidad del cross-dock y del patio en un mapa en vivo: muelles, remolques y accesosUn cross-dock vive de los tiempos: qué muelle está operando, qué remolque lleva demasiado en el patio, qué carril de acceso se está atascando. Poner el edificio y el patio en un mismo mapa en vivo hace visibles esas respuestas de un vistazo. Así se hace, con nuestra demo Eastport Cross-Dock Freight Hub.
- Caso de usoAlmacén frigorífico farmacéutico y control de calidad en un mapa en vivoUn ID de sonda, un número de puerta o un ID de muestra solo sirven de algo cuando se ve a qué cámara, muelle o estantería pertenecen. Así funciona un almacén frigorífico farmacéutico con su área de control de calidad sobre un único mapa en vivo, con nuestra demo de dos plantas Polar Pharma como ejemplo.