试用echarts扩展地图功能

工作   615阅读

用到echarts,实际上是因为工作相关的原因,所以要用两句话说工作,从运行处转到信息项目处大约有9个月了,这些时间主要是参与秦山第三核电厂的EAM推广项目,主要做EAM开发管理相关的工作,不敢用负责两个字,因为在开发管理方面,更多的是以配合为主。在EAM秦三厂上线到EAM秦二厂推广开发工作开始,这中间有两个月的时间相对不繁忙。因此我打算做一个EAM相关的自研项目,没有经费,自己担任项目经理,自己研究技术,自己编程。

这个项目在初期选型的时候,有多种选择,考虑的与到结合核电厂大数据项目相关联,在大数据可视化上可以选择echarts,因此我打算用echarts来做。主要用到echarts的扩展地图功能,具体一点说是用到echarts扩展SVG地图。

echarts2的文档里面有关于echarts扩展svg地图的实例,因此选择echarts2。echarts3应该也是可以支持扩展svg地图的,后面找时间验证一下。

在图纸准备上,我只有平面化的图片,而且图片还是从pdf文件转换而来的。然后,基于这些图片制作的svg文件,最终验证表明,不能用于echarts扩展svg地图。

在将图片转换为svg格式上面,我组了如下尝试:

第一种,使用fireworks编辑图片,比如加上文字,然后导出为svg格式。

第二种,使用转换工具,有在线的pfd转为svg网站,以及开源的pdf2svg程序。

第三种,使用OCR识别,将pdf识别输出为图片,然后将图片转为svg格式。

采用OCR识别,结果是识别的准确度不是很高。输出的图片不清晰。

第一种方式,svg中通过附件的方式以用图片,第二种方式,图片以base64编码的形式存在于svg中。

但是结果都是一样的,不能用于echarts扩展地图。

我也简单分析了一下原因:

echarts底层canvas绘制采用的是zrender,zrender是百度另一个开源项目,效率很高,可惜对svg文件内的<image>标签,<text>标签不能支持,这是表象,也是原因所在,然后就没有去研究zrender的代码了。

我下一步需要解决的是图片转svg的问题,标准一点来说是栅格图片矢量化。栅格图片矢量化又是GIS的一个名词概念,所以发现技术做着做着就串起来了。

喜欢请常来,打赏请随意。

  1. 姜辰    回复

    地图至今还没怎么好好用过,不过博主这篇我觉得就像慕若曦的博客一样,收藏就好,需要用的时候直接翻出来。