echarts map地图中绘制浙江省市区县乡镇多级联动边界下钻的最新geojson数据文件获取和更新
ECharts Map地图的显示
ECharts支持地理坐标显示,专门提供了一个geo组件,在setOption中提供option.geo配置即可显示地图。
option.geo配置中有个map属性,取值为已通过 echarts.registerMap("name", geojson) 注册的name值,来关联到对应的geojson数据文件;注册不同名称的geojson地图数据,再修改option.geo.map和regions,就能切换显示不同的地图。
具体参考官方文档:https://echarts.apache.org/zh/option.html#geo

GeoJSON数据文件获取
阿里云的DataV.GeoAtlas可以在线获取到数据,不过数据比较旧(更新于2021.5),截止到2022年12月9日已经一年半的时间没有更新,鉴于浙江省有很多区县的区划有变更调整,不建议使用DataV.GeoAtlas的数据。
到AreaCity-JsSpider-StatsGov开源库可以下载到新的geojson数据,包括四级区划数据、省市区三级坐标边界数据、乡镇级坐标边界数据:
- 在线预览和下载(Gitee):https://xiangyuecn.gitee.io/areacity-jsspider-statsgov/assets/geo-echarts.html (提供了ECharts + 高德地图四级下钻代码)
 - 开源库(GitHub):https://github.com/xiangyuecn/AreaCity-JsSpider-StatsGov
 - 一般一月一更(直接从高德同步,忙的时候没时间会久一点)
 
下载到的数据是最新的csv文件,同时下载一下开源库提供的转换工具,工具支持将csv数据转换成:shp、geojson、sql、导入数据库、坐标系转换,功能比较丰富,我们只需转成geojson即可。
转换出来的geojson是一个大的文件,里面包含了全国省市区所有数据,我们在ECharts中一般是使用拆分的文件,每个区县一个文件这种,我们到工具的高级功能中拆分这个大的文件成小文件,点开工具的高级功能,里面切换到geojson拆分功能,即可将文件按省市区县进行拆分,我们需要浙江省的数据就copy浙江下面的文件即可。
一般每年都会有地方有区县的变更,所以数据需要按时更新,建议至少一年更新一次数据,更新时按步骤重新下载最新的数据操作一遍即可。
在ECharts中绘制浙江省的数据
我们得到浙江省geojson文件后,里面每个市、区都有对应的一个json文件,我们根据需要展示的地方加载对应的json文件,然后通过echarts.registerMap("City"+城市id, geojson)来注册地图。
然后更新echarts实例的option.geo.map和regions,就能在ecahrts里面显示这个geojson地图了。
给地图绑定点击事件,点击地图的一个城市时,重复上面的步骤,加载下一级json文件,再注册,再显示;这样就可以做到多级下钻。
放张浙江杭州的geojson渲染图吧,比较直观:

相关代码可以参考这个demo页面,里面实现了ECahrts Map四级下钻,和一个高德地图上的绘制显示,前端源码在页面底下。不过这个demo太过于复杂,不方便copy代码使用,过几天我会专门写一篇文章来介绍ECahrts Map代码的编写,敬请期待~
【完】
echarts map地图中绘制浙江省市区县乡镇多级联动边界下钻的最新geojson数据文件获取和更新的更多相关文章
- echarts map 地图在react项目中的使用
		
需求 展示海南省地图,点击市高亮展示,并在右侧展示对应市的相关数据. 准备工作 Echarts 海南地图json 效果图 代码 index.tsx import React, { useRef, us ...
 - Echarts Map地图下钻至县级
		
**准备工作:**1.首先使用vue-cli的脚手架生成vue项目. 2.然后使用npm安装echartsnpm install echarts -S 3.安装完后再mian.js中挂载到vue的实例 ...
 - echarts在地图上绘制散点图(任意点)
		
项目需求:在省份地图上绘制散点图,散点位置不一定是哪个城市或哪个区县,即任意点 通过查询官网文档,找到一个与需求类似的Demo:https://www.echartsjs.com/gallery/ed ...
 - Echarts Map地图类型使用
		
使用的时候出现了一个BUG, China地图的底色没有绘制出来,现在把一个小的DEMO给大家,以供参考,并附上参考文章(http://blog.csdn.net/danielinbiti/articl ...
 - echarts Map(地图) 不同颜色区块显示
		
以河南地图为例: 代码如下: <h3>天翼日必达完成率</h3> <div id="map" style="height:340px; te ...
 - echarts map地图设置外边框或者阴影
		
geo: { map: 'china', center: [112.194115019531, 23.582111640625], zoom: 12, aspectScale: 1, //长宽比 la ...
 - 省市区/国籍 多级联动-jq
		
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
 - 从区划边界geojson中查询经纬度坐标对应的省市区县乡镇名称,开源Java工具,内存占用低、高性能
		
目录 坐标边界查询工具:AreaCity-Query-Geometry 性能测试数据 测试一:Init_StoreInWkbsFile 内存占用很低(性能受IO限制) 测试二:Init_StoreIn ...
 - (UWP)通过编写算法实现在地图中的渐变路径
		
目前的一个App中需要实现这个需求,但是在UWP自带的Bing Map中,绘制的MapPolyline的StrokeColor的类型是Windows.UI.Color,也就是说一条MapPolylin ...
 - QGIS打印布局中绘制多个子图
		
QGIS如何绘制多图 数据准备 这是一份英国大曼彻斯特地区的数据,里面包含了教育.收入.人口密度.绿地比例.城市比例等数据,我们准备把这些数据在地图上呈现出来,为此,我们需要做在地图中绘制6幅子图,这 ...
 
随机推荐
- Kibana:在Kibana中对数据进行深入分析
 - 第三章:模版层 - 1:Django模板语言详解
			
本节将介绍Django模版系统的语法.Django模版语言致力于在性能和简单性上取得平衡. 如果你有过其它编程背景,或者使用过一些在HTML中直接混入程序代码的语言,那么你需要记住,Django的模版 ...
 - 使用supervisor管理tomcat,nginx等进程详解
			
1,介绍 官网:http://supervisord.org Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时 ...
 - 基于CentOS 8服务器来搭建FastDFS高可用集群环境
			
服务器版本 我们在服务器的命令行输入如下命令来查看服务器的内核版本. [root@localhost lib]# cat /etc/redhat-release CentOS Linux releas ...
 - centos下如何获取某个命令的源代码?
			
以ls命令为例,其它命令类似: 1.利用which命令获取命令可执行文件的位置: [root@228 /]# which ls alias ls='ls --color=auto' /usr/bin/ ...
 - 通过js实现随机生成图片
			
这次给大家分享一个通过js向HTML添加便签,实现随机代码生成的案例,代码已经放在下方,这里我在下面准备了50张图片,但是没有放在博文中,如果读者想要练习,可以自己下载一些图片,建议下载的多一些. & ...
 - NSIS检测到窗口最小化闪烁提示
			
#检测到窗口为最小化时闪烁提示 !include nsDialogs.nsh #编写:水晶石 Name "IsIconic Example" OutFile "IsIco ...
 - 关于Linux下aws-cli-2版本的安装
			
AWS CLI 版本 2 是 AWS CLI 的最新主版本,支持所有最新功能.版本 2 中引入的某些功能无法向后兼容版本 1,您必须升级才能访问这些功能. AWS CLI 版本 2 仅可作为捆绑安装程 ...
 - Aspose.Words 操作 Word 画 EChart 图
			
使用 Aspose.Words 插件在 Word 画 EChart 图 使用此插件可以画出丰富的 EChart 图,API 参考 https://reference.aspose.com/words/ ...
 - 最近无聊搭建一个齐博X1的下载页面
			
https://layui.wanxiangsucai.com/ 用layui官方镜像站的模版 改了个齐博X1的下载页面 https://x1.wanxiangsucai.com/ 哈哈哈!!! 还有 ...