地图数据可视化 支持街道乡镇级行政区域分界线 geojson 获取绘制实践

0

最近项目中需要展示区县中街道乡镇行政区域分界线类型的地图应用可视化,项目要求做相应的区县里面的街道和乡镇区域的分界,在地图上展示每个街镇区域的数据。

如果你觉得自己整理这个 geojson 数据麻烦,可以加我微信购买整理好的:D11056888

针对省、市、县区的行政区域分界线,高德地图、百度地图、QQ地图的开放平台都提供对应的数据接口,echarts 和 阿里云的datav都提供对应省、市、县区行政区域边界的导出能力,可以根据需要导出对应地图的 geojson 文件使用。之前因为下载的分界线geo数据没有更新,而使用高德和 echarts 导出最新地图的行政区划的内容。http://5656t.com/archives/1021

但这次的项目是需要精确到乡镇级别的行政区域规划,这个数据还是不好找,地图开放平台没有提供对应的数据,通过百度搜索了几个,大部分内容都是收费提供的街镇级别的地图geojson数据的,以展示他们的数据为主,很多也找不到源头,只能看到一些效果图,想买数据都不太好找人。

找了一晚上,很多方案都是说可以考虑使用 geojson.io 根据高清地图边界去自己画出街道乡镇的边界区域,但是这样需要地图底图,还需要对着地图一笔一笔的画,确实太费眼睛。

第二天找到一个文章说是可以通过 bigmap 软件导出单个街镇级的地图数据的kml 文件,再导入 geojson.io 转换成geojson格式文件使用,测试了一下bigmap可以免费导出乡镇街道级别的边界图,此方案可行,导出的kml在geojson进行转换,测试时导出的geojson总是报错,有些区县可以,有些区县用起来就报错。处理威海环翠区时遇到一个环翠楼街道有个海岛区域与其他街道数据格式不一致和数据类型在echarts 系统不支持,所以就报错了,又针对这种一个地区不连续的geo数据做了修改,还解决了一些其他的问题。

最后出来效果还不错,效果见图。实现了下探到区县级后还能展示街道和乡镇的行政区域分界线。

0

下探到街道乡镇行政区域边界线的echart和百度地图等应用示例,此数据为demo演示。

http://e.bitx.cn/map/geojsonmap/hc/map-hc.html

参考资料:

教你通过bigemap和geojson获取echarts精确到乡镇、街道的地图行政区划 geojson 数据
https://my.oschina.net/phyger/blog/4921001

通过bigmap 导出乡镇街道的kml 文件
http://www.bigemap.com/

下载全能版本:http://www.bigemap.com/reader/download/

0
免费版也可以导出,不要下载。

0

0

在通过自己绘制获取地图geo,导入kml文件汇总出需要的街道乡镇的行政区划的geojson。

http://geojson.io/

一个一个导入kml 最后把汇总的文件复制出来或者导出geojson文件类型。

0

最后拼接出来的效果:

0

针对不连贯区域分界线分开的 geojson 数据问题的处理:

环翠区这个区的规划和辖区街道乡镇总面积不太一致,整个区的规划面积大于管辖街道的地方,可能威海市还规划了一些新区类型的区域。威海环翠是个沿海区域,还有一些海域和单独的海岛作为单独区域,在使用的 geojson.io 和 bigmap 软件导出xhl的文件时还遇到了 echarts 不支持的geojson类型,同一个街道拥有两个不连续的地域,跨海的一个岛也属于环翠楼街道。

涉及到海岛,不连片的区域时,会产生GeometryCollection 类型多级嵌套数据,在 echarts 中还不支持这种geo数据,还会报错。

需要修改echart代码,或者自己把这个 不连片的数据区域拆解成两个区域,配置相同的信息,但需要再自己处理geojson数据,在echart配置里需要配置两个区域才行。

这个处理geo数据的方式显示没问题,但涉及到鼠标经过区域高亮联动时或者展示数据时可能没法同时把两个区域高亮,如果没有单独标明内容容易因为误会,但如果在geojson里把两个数据放到一个里面会在两个区域产生一条连接线导致第一眼不太美观,最好的方式是echart可以支持这种嵌套类型的geojson数据最好了。

配图2,原始GeometryCollection类型代码示例:
0

修改后的 geojson 配图3 :
0

修改echarts源码解决方案。解决echarts地图geoJson报错问题(“echarts.min.js:45 Uncaught Error: Invalid geoJson format Cannot read prope”)

https://blog.csdn.net/xiaoyaoluntian/article/details/114268392

如果你觉得自己整理这个 geojson 数据麻烦,可以加我微信购买整理好的:D11056888

其他支持资料:

修改版的 echart ,对GeometryCollection类型数据不再报错,但我没改完整,还是展示不出完整的多级分区域地图。

http://e.bitx.cn/map/geojsonmap/hc/echarts.js

阿里云datav提供的可以下探到全国省市区县级的GeoJSON 和 SVG 地图边界下载:http://datav.aliyun.com/tools/atlas/

本站地图类可视化学习资料:

如何通过IP地址确认用户位置,做一个可视化的地图应用?
http://5656t.com/archives/1021

百度地图标记定位点,功能接口页面
http://5656t.com/archives/1862

其他地图相关应用资料:

1、echart 乡镇地图 在线生成图片,支持省、市、县区、乡镇四级地图查看,自定义颜色大小等,适合PPT截图和UI,产品设计素材下载
https://blog.csdn.net/m0_48169194/article/details/107154419
制作图片应用
上面博客作者提供的,地图自定义生成下载,可以下载省市县地图和乡镇行政区划图片,做设计和放到ppt很合适。作者也挺厉害,自己买了乡镇json数据做的应用挺好用的,看了下针对乡镇区划还做了代码混淆,一看也是老司机了,不想自己折腾解密的可以加他qq买乡镇街道区划的 geojson 数据。
这种数据特殊情况都没法保障最新,最全,放张环翠图片对比一下,跟我导出的还有些不一致的地方。
地图数据可视化 支持街道乡镇级行政区域分界线 geojson 获取绘制实践

2、省市区数据采集并标注拼音、坐标和边界范围,项目作者采集整理了到街道乡镇级别的【GEO四级】乡镇 坐标和边界 数据下载 : 乡镇第4级坐标边界数据 ok_geo4_*.csv,为付费数据。

https://gitee.com/xiangyuecn/AreaCity-JsSpider-StatsGov

原来国家对每个地区的行政区域是有编码的,做地图应用的时候,涉及到 geojson 文件可以考虑使用地区编码进行命名和保存,方便按照国家统一方式进行区域数据对应。

腾讯地图中国行政区域编码:https://lbs.qq.com/service/webService/webServiceGuide/webServiceDistrict

民政部县以上行政区划代码:http://www.mca.gov.cn/article/sj/xzqh/2020/

有其他新的办法,需要我协助的也欢迎交流。

如果你觉得自己整理这个 geojson 数据麻烦,可以加我微信购买整理好的:D11056888