地图可视化实践录:开篇需求计划
本系列文章记录了笔者对于地图可视化的实践经过(经历)。此为开篇。
背景
说实话,早在3年前(2022年),就因工作需要接触GIS。起因不复杂,另一部门做的地图服务器不更新,接入的系统无法看到新数据,用户有意见,上峰要求我们内部实现。我不清楚本部门系统用到的服务为何需要另一部门负责开发和维护,但是知道技术要掌握在自己手上。虽然名义上安排了2位同事,但事情是在我头上,因此必须全方位掌握。
从使用F12看信息,到向上级反应情况,几经协调,最终的结果是:我们从零开始,重新实现原来系统的接口,这样对既有系统的入侵性最小。另外,也是因为我们拿不到人家的源码,向人家咨询也是三缄其口,要来的接口惜墨如金。此时此刻,自己掌握技术的念头更强烈了。
现在,任务已经完成了,事情已经过去了。就休题闲话,单记在做任务中用到的基础知识或未能及时研究的技术,再发散到相关的技术,也可作储备。也算是给这些时日做个记录。
实践原则
本次实践,更多的是技术调研和尝试,因此,不限定语言和技术栈,鉴于自己的能力水平,一般用到golang、nodejs、js、html以及gis组件。至于那些vue、前后端分离、微服务开发、高并发等,可能不涉及到。
计划
以下是计划,列出一般地由简单到复杂。原则上不涉及后端交互,尽量使用html+js完成。
原则:除像广西轮廓外,一般地,在一个html完成,像生成随机marker这些也是(框定范围就行)
- 最简单的显示在线地图
- 只显示轮廓
- 地图瓦片数据下载(算法js代码、下载程序,自动化)
- 最简单的显示离线地图
- 离线地图,生产环境的服务须在内网,故要离线地图。地图瓦片服务器搭建(基于nginx或go)
- 显示marker和line
- 地图跳转(flyTo等)
- 显示轮廓,颜色等
- 多个地图源
- 多个地图源+加载geojson
- geojson设计,自定义line颜色,自定义marker图标
- 标点(在某个位置标出信息、图案)。
- marker点过多加载慢解决
- 切换多个地图源,以便分析(如电子图、影像图)
- pm自定义按钮+自定义图标 svg+base64
- 按钮画线,保存成geojson
- 测距
- 与后台交互,如离线在线地图选择,图标选择,颜色选择,按钮选择
- turf.js使用?
其它的:
- 广西轮廓省界和市级不同颜色