【LVGL进阶日记】③ 离线地图渲染实现方案

文摘   科技   2024-11-18 19:19   山东  

关注+星标公众,不错过精彩内容


作者 | 量子君

微信公众号 | 极客工作室

【LVGL进阶日记】专栏介绍

LVGL 可以说是这两年才刚开始流行的一个小型开源嵌入式 GUI 库,具有界面精美,消耗资源小、可移植度高、响应式布局等特点,全库采用纯 C 语言开发,LVGL 库的更新速度非常快。

本章目录

  • 前言
  • 一、离线地图选择
  • 二、离线地图格式选择
  • 三、地图渲染绘制库选择
  • 总结



 前言

本章介绍了一种离线地图渲染实现方案。

一、离线地图选择

选在开源OSM地图(openstreetmap),由于原始OSM地图较大,内容较多,需要使用过滤工具,过滤出需要的实际地图。

需要工作:

  1. OSM地图格式,了解组成形式。

  2. 地图过滤工具,需要合适过滤工具、过滤标签。

  3. [参考链接]:(https://wiki.openstreetmap.org/wiki/Osmfilter)


二、离线地图格式选择

由于OSM格式原因,导致其源文件较大,计划选用Mapsforge Binary Map文件格式。

 需要工作:

  1. Mapsforge Binary Map格式,熟悉组成形式。

    [参考链接]:(https://github.com/mapsforge/mapsforge/blob/master/docs/Specification-Binary-Map-File.md#:~:text=The%20mapsforge%20binary%20map%20file%20format%20is%20designed,and%20filtering%20of%20map%20objects%20by%20zoom%20level.)

  2. OSM 转换Mapsforge Binary Map工具选择与使用。

    [参考链接]:(https://github.com/mapsforge/mapsforge/blob/master/docs/Getting-Started-Map-Writer.md)

  3. 编写Mapsforge Binary Map寻址、解析代码。

    [参考链接1]:(https://github.com/mapsforge/mapsforge)

    [参考链接2]:(https://github.com/malasiot/maplite)


三、地图渲染绘制库选择

基于目前处理器资源考虑,使用LVGL的画布功能,进行地图渲染,在代码实现时,采用第二屏的方式渲染地图,形成地图图片,作为导航界面的背景图片。

 需要工作:

  1. 编写LVGL生成图片的驱动。

  2. 熟悉画布功能,渲染地图背景。


总结

本章介绍了一种离线地图渲染实现方案。






若觉得文章对你有帮助,随手点『好看』、转发分享,也是对我的支持
关注我的微信公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。
点击“阅读原文”查看更多分享

极客工作室
一个专注于嵌入式系统、智能硬件、AIoT的极客自媒体
 最新文章