在实时门店地图上监控货架:库存与冷链
零售货架监控:在一张实时 3D 门店地图上按货架显示库存、按库存状态为各部门着色,并监控冷柜温度和 RFID 读写器,数据通过数据表 API 实时写入,缺货位置一目了然。


本文要点
门店团队早就在采集数据:手持终端循环盘点、冷柜探头、RFID 门禁读取、部门主管的晨间巡店。他们缺的是一个能把这些都放到门店本身之上的地方。本文以我们的 Retail Mart Store 演示为例——三层楼、扶梯和电梯、四个实时图层——讲解如何在你的门店里搭建同样的东西。
为什么缺货检测应该放在地图上
缺货首先是位置问题,其次才是库存问题。ERP 知道某个商品已经为零;补货员需要知道是哪个货架、哪条通道、哪一层。列表按商品或数值排序,门店却是按地理位置排列的。当每个货架都显示自己的满载程度、每个部门都按状态着色时,值班主管一眼就能看完整层楼,直奔红色的地方。
这就是在地图上做货架监控的思路:盘点和传感器数据留在原处,只是给它们一个落脚点。Spatial Map 不取代你的 WMS、ERP 或补货逻辑,而是把它们的数字绑定到平面图上的形状和位置,在数据表变化时刷新已打开的地图,并让任何拿到分享链接的人在浏览器里看到同样的画面。零售解决方案介绍了门店、超市和购物中心的用法。


一次建模:楼层、货架、部门、冷柜
一切从几何开始。在编辑器里放入门店平面图——PDF 按图幅自动换算比例,DWG 或 DXF 图纸渲染为平面图图片,PNG 或 JPG 也可以——然后在上面绘制。演示中每层(Ground、Level 1、Level 2)各有一张平面图,由以 3D 呈现的扶梯和电梯相连,查看器里的楼层切换器可在各层之间切换。
- 货架和端架——用 Rack 工具绘制;演示中库存标记就放在每个货架的位置上。
- 部门——画成区域(Bakery、Dairy、Frozen Food、Fresh Produce、Electronics & Appliances……),让状态为地面着色。
- 冷柜和冷冻柜——测量它们的探头放在真实位置。
- RFID 读写器——每个读写器或通道门一个标记或区域,让状态在原位脉冲显示。
- 扶梯、电梯和楼梯——以 3D 连接各层。导航路线限定在同一层内,并显示在哪里换层。


一家门店里的四个实时图层
演示同时运行四个数据链接。查看者在 Layers 面板里开关它们:冷链技术员可以隐藏库存,补货主管可以隐藏温度。
| 图层 | 显示模式 | 在演示中显示什么 |
|---|---|---|
| Shelf stock by rack | Live location marker | 167 个货架,各自标注满载程度(如 76%):130 个 OK、22 个 Low、15 个 Critical |
| Department stock status | Color a shape | 三层共 40 个部门,按状态着色 |
| RFID reader activity | Pulsing zone activity | 85 个读写器,标注最近一小时的读取次数 |
| Cold-chain temperature | Live location marker | 7 个冷柜和冷冻柜探头,标注当前读数 |
部门库存状态正是 Color a shape 的用武之地:部门是一大片区域,给它着色能提供单个货架标记给不了的全店视角。颜色来自样式规则。在编辑器的 Style rules 面板里写一次规则——条件 status = Critical,填充红色——然后在每个需要它的链接上勾选。规则自上而下判断,第一条命中即生效。演示中部门用了三条(Critical 红、Low 琥珀、Healthy 绿),读写器也用了三条(Offline 红、Idle 灰、Active 紫)。
冷柜与冷冻柜的冷链监控
门店的冷链节奏和配送中心不同:开放式冷柜散布在卖场各处,顾客整天开关柜门,后仓的冷冻柜和前场的一样重要。演示有七个探头——两个在 Dairy 冷藏柜(设定值 3 °C),五个在 Frozen Food 冷冻柜(设定值 −18 °C)。每条记录包含读数、设定值、湿度、电量、当天开门次数和最近一次读数时间。
阈值就是针对读数的样式规则。规则可以组合条件(All match (AND)),于是一条规则可以是“冷冻柜高于 −15 °C”,另一条是“冷藏柜高于 5 °C”。把最紧急的放在最前面:
| 规则(示例) | 条件 | 颜色 |
|---|---|---|
| 冷冻柜温度过高 | unit_type = Freezer AND temperature_c > −15 | 红色 |
| 冷冻柜温度漂移 | unit_type = Freezer AND temperature_c > −17 | 琥珀色 |
| 冷藏柜温度过高 | unit_type = Chiller AND temperature_c > 5 | 红色 |
| 电量低 | battery_pct < 20 | 灰色 |
- 每个探头一个标记,放在它测量的柜子旁——而不是网关处。
- 冷藏和冷冻分开设规则,一个阈值无法兼顾两者。请使用你自己的食品安全限值;上表数值仅为示例。
- 一份 Cold-Chain Sensors 报表,在地图旁列出每个探头及其最新读数。
- 逐行历史,让“冷冻岛柜 1 是什么时候开始升温的?”有带时间戳的答案。
数据接入:数据表、API 密钥与写入 API
把盘点数据和读数放上地图,最简单的方式是数据表。你定义字段结构——文本、数字、布尔、日期等——Spatial Map 会为它生成 REST API。盘点应用、IoT 网关或夜间脚本用 API 密钥写入行。如果数据已经在某个 HTTP 接口后面,数据表也可以按计划从该 URL 拉取。
- 1创建数据表
Tables → Create new table。选择类型(探头用 Marker / POI 或 Sensor,部门用 Polygon / area),添加 rack_name、department、units_on_hand、capacity_units、status 等字段。每行用一个稳定的键标识——货架编码就很合适。
- 2创建 API 密钥
打开数据表的 API & access 标签,为每个系统创建一把密钥。每把密钥只能写入这一张表,撤销某一把不影响其他。
- 3添加数据链接
在编辑器中 Data → Manage data links → New link:选择数据表和显示模式(货架和探头用 Live location marker,部门用 Color a shape),并告诉它每条记录如何定位——用坐标,或用某个字段与形状名称匹配。
- 4添加规则
在 Style rules 面板里一次写好正常 / 偏低 / 严重的规则,再在链接上勾选。最紧急的放最前面,确保它优先生效。
curl -X POST https://app.spatialmap.io/api/v1/public/tables/rows \
-H "Authorization: Bearer sgv_tbl_..." \
-H "Content-Type: application/json" \
-d '{
"entityKey": "G-A10-85",
"payload": {
"rack_name": "A10",
"department": "Grocery Section",
"floor": "Ground",
"units_on_hand": 1314,
"capacity_units": 1728,
"fill_label": "76%",
"status": "OK",
"lat": 33.78801,
"lng": -117.97911
}
}'该接口是 upsert:再次发送相同的 entityKey 会更新这一行而不是新建重复行,每次写入都会记入该行的历史。整店盘点时,POST /rows/bulk 每次请求最多接受 1,000 行。每把密钥每分钟限 60 次请求,所以请批量写入,不要每扫一次就调用一次。
每日盘点报表、审计与历史
地图回答“在哪里”,报表回答“有多少、从什么时候开始”。演示门店为每张表都建了报表——Shelf Stock (daily count)、Department Stock (daily count)、RFID Reader Reads 和 Cold-Chain Sensors——另有 RFID Live Map,这是一份全地图布局的报表:左侧是读写器列表,中间是实时门店,周围是 KPI 和图表。
- 每日盘点报表——KPI、表格和图表,可按部门或楼层筛选。
- 冷链报表——每个探头的最新读数、设定值和状态。
- 导出——PDF 和 Excel 用于审计,另有 CSV、JSON,每个图表还可导出 PNG。
- 历史——在查看器中打开任意货架或探头,其逐行历史会列出每次变更及变更内容。


在你的门店里试试
让数据落到该在的平台上。
Spatial Map 把电子表格、传感器数据流和 CAD 图纸融合成一张实时的 3D 场地视图 —— 无需安装,七天免费试用。
在线演示
继续阅读
- 应用场景在实时地图上运营机场航站楼:RFID 行李牌、排队与登机口航站楼靠一次次交接运转:从值机到安检,从登机口到行李转盘。每次交接都发生在某个位置,所以都应该落在地图上。下面看看我们的 Silverbay 2 号航站楼演示,如何把行李牌、排队、登机口和拥挤度放进一张两层实时视图。
- 应用场景在实时地图上掌握越库中心与堆场:月台门、挂车与闸口越库中心靠节奏运转:哪个月台门正在作业,哪辆挂车在堆场停得太久,哪条闸口车道开始排队。把建筑和堆场放进同一张实时地图,这些答案一眼可见。下面以我们的 Eastport Cross-Dock Freight Hub 演示为例讲解做法。
- 应用场景医药冷库与质检一张实时地图:温区、温度偏差与质检冻结探头编号、门编号和样品编号,只有在你能看到它们属于哪个房间、哪个月台、哪个货架时才真正有用。本文以我们两层楼的 Polar Pharma 演示为例,介绍医药冷库与质检区如何在一张实时地图上运行。