在QGIS中处理FIT文件:如何按速度符号化可视化轨迹点
基于QGIS实现Garmin风格的轨迹属性可视化
需求可行性结论
完全可行,QGIS可以实现利用Trackpoints的心率、速度等属性对轨迹线进行动态符号化,同时可先解决Trackpoints图层不显示的问题。
一、修复Trackpoints图层不显示问题
- 检查坐标系一致性:右键Trackpoints图层→
属性→坐标系,选择与Tracks图层相同的CRS(通常为WGS84 EPSG:4326),避免因坐标系不匹配导致图层偏移不可见。 - 验证数据有效性:打开Trackpoints图层属性表,确认
latitude、longitude字段存在有效地理坐标值,无空值或异常数值。若存在异常,尝试重新导入FIT文件,或先通过第三方工具将FIT转为GPX格式后再导入QGIS。 - 调整符号尺寸:Trackpoints默认点符号可能过小,在图层符号化设置中增大点尺寸(如设置为5px及以上),并确保图层处于Tracks图层上方。
二、实现轨迹线的属性驱动符号化
要复刻Garmin WebUI的效果(如按心率/速度给轨迹线着色、调整线宽),可通过两种方式实现:
方式1:关联Tracks与Trackpoints属性后渲染
- 图层关联:Tracks与Trackpoints图层通常共享
track_id字段,打开Tracks图层属性表,点击连接图层按钮,选择Trackpoints图层,以track_id为关联字段,勾选需要的属性(如heart_rate、speed)完成关联。 - 动态符号化设置:
- 右键Tracks图层→
属性→符号化 - 选择渐变渲染:选中关联后的心率/速度字段,设置颜色渐变规则(如心率低用冷色调、高用暖色调),同时可开启线宽随数值变化的功能,实现数值越高线越粗的效果。
- 选择规则渲染:手动划分数值区间(如速度<10km/h用细灰线、10-20km/h用蓝线、>20km/h用红线),实现分段式的轨迹可视化。
- 右键Tracks图层→
方式2:基于Trackpoints生成带属性的轨迹线
若Tracks图层无法有效关联属性,可直接用Trackpoints生成完整轨迹线:
- 数据排序:打开Trackpoints图层属性表,按
track_id和time字段升序排序,确保点的顺序符合运动轨迹的时间逻辑。 - 点转线处理:在QGIS处理工具箱中找到
矢量几何工具→点转线,输入Trackpoints图层,分组字段选择track_id,排序字段选择time,输出包含所有Trackpoints属性的线图层。 - 符号化配置:对生成的线图层使用渐变渲染或规则渲染,直接用心率/速度字段控制颜色与线宽,完全匹配Garmin的可视化效果。
额外优化提示
- 开启渐变渲染的
平滑选项,可让颜色过渡更自然,贴合Garmin WebUI的流畅视觉效果。 - 若需要显示实时数值标签,可在图层符号化设置中添加标签,选择心率/速度字段,并设置标签沿轨迹线排列。
内容的提问来源于stack exchange,提问作者Moseleyi
相关产品推荐
相关产品推荐

