本项目是一套面向香港地区的“空气污染规避导航系统”,目标是在传统最短路径导航基础上,引入空气污染数据分析能力,为用户提供更加健康的出行路线规划方案。
传统地图导航通常仅考虑距离、时间或拥堵情况,而本系统会结合香港区域空气污染数据,对道路进行污染权重分析,尽量减少用户在出行过程中暴露于高污染区域的时间,适用于步行、骑行等对空气质量较敏感的场景。
系统支持用户在地图中自由选择起点与终点,并通过后端智能路径规划服务生成污染暴露更低的路线。用户可在地图中实时查看路线结果、污染热力覆盖区域以及导航路径。
核心功能包括:
1. 香港区域地图浏览与定位
基于 Mapbox 实现高性能地图渲染,支持地图缩放、拖拽、定位及路径展示。
2. 自定义起点终点选取
用户可自由点击地图选择任意地点作为导航起点与终点。
3. 污染规避路径规划
系统综合道路长度、区域污染浓度等多维数据进行路径计算,而非简单采用最短距离算法。
4. 污染热力数据可视化
通过自定义 Tile 图层将污染数据叠加至地图,实现污染区域可视化展示。
5. 后端路径计算服务
所有路径规划逻辑均运行于服务端,移动端仅负责交互与结果展示,便于后续扩展复杂算法。
该系统适用于智慧城市、绿色出行、健康导航、环保监测等相关领域,也适合需要自定义路径规划逻辑的地图类应用场景。
项目整体采用“Flutter 前端 + Supabase 云后端”的前后端分离架构设计。
移动端基于 Flutter 开发,实现 Android/iOS 跨平台统一代码架构。地图部分采用 Mapbox SDK 进行渲染,并封装了地图交互、路径绘制、污染图层叠加等模块。
后端使用 Supabase 提供数据库与接口能力,并结合 PostgreSQL + PostGIS + pgRouting 实现地理空间路径计算。系统通过构建香港道路拓扑网络,将道路长度、污染浓度等数据作为路径权重参与计算,实现污染规避导航算法。
本人独立负责了整个系统的架构设计、移动端开发、后端接口开发、路径规划算法实现以及地图数据处理工作。
项目中的主要技术难点包括:
1. 大规模地理空间数据处理
需要处理香港区域大量 GeoJSON 路网数据,并完成道路拓扑构建与路径节点生成。
2. 污染权重路径规划
传统导航仅计算距离,而本项目需要动态结合污染数据进行路径代价计算,对 pgRouting 的路径权重算法进行了定制化处理。
3. Flutter 与地图渲染性能优化
地图存在大量路径点与污染图层数据,需要优化渲染逻辑,减少卡顿与重复刷新问题。
4. 前后端职责解耦
将复杂路径规划逻辑完全放置于后端,移动端仅负责展示,提高系统可维护性与后续扩展能力。
5. 自定义 Tile 污染图层实现
实现了基于地图瓦片的污染热力图叠加方案,支持不同区域污染等级可视化。
项目最终完成了完整移动端应用与后端服务搭建,具备实际运行能力,并形成了可扩展的智慧城市导航系统基础架构。