背景
一般可视化地图咱们使用geojson数据+(echarts/highchart等)制做,常常咱们业务须要的地图没有合适geojson数据,缘由大体以下:git
- 《测绘法》图表地图一般是简易版地图,很难与真实地图一致,致使结果:正规网站不能提供下载
- 第三方能下载到的矢量地图数据只能到国级省级
- 县区级别的行政划分变更频繁(好比前两年的杭州地图不包括临安)
- 地图区域划分可能不一样于行政划分
思路
本文给出的是本人独家解决方法是经过AI制做地图数据,以真实地图或者草图为底,秒出边界和中心,导出svg,经过正则(下面提供一个gulp插件转)转为geojson数据;github
为何使用AI
- 有图层有组合有钢笔制做准确省事
- 有前进有后退不怕出错
- 出了制做地图geojson数据,还能够利用生产svg作各类吊炸天效果(好比3D地图晒个demo)
- 本人美工大佬,精通PS AE AI等等;
秀张鼠绘
npm
案例
使用方法
1.下载
git clone https://github.com/yuhonyon/svg2geojson.git
2.安装
npm i
3.使用
- 将 svg 文件直接放在
svg/
目录下
- 输入命令
gulp
在 dist/ 目录下将生产对应的目录,目录下有转换后的 geojson 文件以及行政中心的坐标文件和 svg 原文件json
教学
制做地图 geojson 数据的全部步骤
- 设计地图草稿
- 根据设计稿使用 ai 画矢量地图
- 导出 svg
- 使用 gulp 将 svg 转换为 geojson
- 使用图表库制做地图
设计地图草稿
设计师设计地图草稿(只需明确行政划分区域便可),以下图
gulp
使用 AI 描出矢量图
- 将设计草稿导入 AI
- 新建图层,在图层内跟据设计稿使用钢笔工具描出一个行政区的行政(使用多边形描边)
- 将该图层取名为行政区名字
- 重复第 2 步,描出全部行政区

- 选择全部描点,转换尖角,去除不当心画出的曲线(导出的 svg 不是由 polygon 组成的而是 path 的时候使用这个方法,建议描完后就使用一次)
- 在每一个图层中心处再画一个圆形或者椭圆
- 删除设计草稿的图层导出 svg,没有出错的话格式应该以下
- 若是发现 poluygon 标签变成了 path,请注意第 4 步骤
** 注意:导出的 svg 转换出的 geojson 制做的地图将会是垂直颠倒的(多是坐标轴不同,
一个左上角一个右下角),因此咱们要把咱们制做的 AI 图垂直翻转后再导出 svg **bash

将 svg 转换为 geojson