业务难点与技术挑战
业务难点与技术挑战
huasa
2026年3月28日
GIS大屏Cesium
生产级 GIS 大屏的难点堆叠:性能、数据、业务、工程化、体验、交付
业务难点与技术挑战
摘要:Navara/Cesium 做 Demo 容易,做生产难。难点不在渲染,而在性能、数据、业务、工程化、体验、交付六个层面的系统性工程问题。
总思想:Demo 追求「好看」;生产 GIS 大屏追求「稳定、可运维、大数据量不崩、适配现场、业务可用」。
性能
- Entity 不适合十万级,改 Primitive / GroundPrimitive / CustomDataSource / 实例化 / 瓦片化
- 3DTile 倾斜摄影:瓦片策略、内存释放、剔除、LOD
- BIM(Revit→3DTile):构件碎裂、法线、纹理、坐标偏移,轻量化成本高
- 现场硬件差异大:降级策略、视口剔除、距离过滤、数据抽稀
数据
- 多源格式:shp / geojson / wfs-wms / postgres / 3DTile / BIM / 业务接口
- GeoJSON 全量加载爆内存 → 后端瓦片化(GeoServer / MVT),前端按视口取
- 坐标系灾难:CGCS2000 / WGS84 / 地方坐标系,要做配准与控制点校正
- 实时流(WebSocket):必须节流 + 对象复用,否则跑几小时崩溃
- 视域过滤 / 聚合 / 热力 / 抽稀,缩放层级自动切换
- 70% 工作量在数据清洗、瓦片服务、坐标对齐
业务
- GIS 只是画布:点击构件查台账、告警联动、空间查询、缓冲区、范围统计
- 复杂空间分析走后端 PostGIS,前端只展示
- 多组件联动:GIS ↔ ECharts ↔ 告警列表 ↔ 设备树 ↔ 时间轴
- 权限:图层 / 设备 / 区域数据动态显隐
工程化(Navara 封装坑)
- 封装黑盒 + 事件劫持,原生 Cesium 与框架混用易冲突
- 升级受限于 Navarra 锁定的 Cesium 版本
- 包体积:分包、按需加载、Worker、静态资源部署
- 多窗口 / 多实例:WebGL 上下文、显卡、多屏坐标、全屏拾取
- 7×24 小时运行:资源销毁、内存泄漏、长时间挂机不卡
体验
- 拾取:模型 / 点位 / 重叠对象 / 倾斜摄影构件
- 离线部署:内网禁外网,自建瓦片 + 地形 + 离线版权
- 截图 / 导出:WebGL 截图、跨域、画布合成
- WebGL 2 兼容性降级到 WebGL 1
交付
- 客户预期:Demo ≠ 生产,倾斜摄影 / BIM 体积扛不住「全构件可点击」
- 成本:70% 在数据生产、处理与服务部署,不在前端代码