echarts + GeoJSON 地图绘制(德国县级地图为例)

2023-12-23 14:40

本文主要是介绍echarts + GeoJSON 地图绘制(德国县级地图为例),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

echarts + GeoJSON 地图绘制

  • GeoJSON文件获取
    • 德国(县级)GeoJSON文件获取
    • .shp 文件转GeoJSON文件
  • echarts + GeoJSON绘制地图(德国为例)
    • 整体代码
    • 读取geojson文件组装data
  • 结果展示

GeoJSON文件获取

德国(县级)GeoJSON文件获取

GeoJSON文件可访问:https://download.csdn.net/download/qq_37972108/15559670进行下载(该资源本人通过购买获得,供大家有偿使用)。

.shp 文件转GeoJSON文件

.shp文件可访问:https://download.csdn.net/download/qq_37972108/15559840进行下载(该资源本人通过购买获得,供大家有偿使用)。
使用在线工具mapshaper进行转换:https://mapshaper.org/

  1. 点击select选择shp文件

在这里插入图片描述

  1. 选择GeoJSON 并点击Export

在这里插入图片描述

  1. 地图展示及导出为GeoJSON文件
    在这里插入图片描述

echarts + GeoJSON绘制地图(德国为例)

整体代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Germany</title><script src="../static/echarts.js"></script><script src="../static/jquery.min.js"></script><style>html, body, #main {padding: 0;margin: 0;height: 100%;overflow: hidden;}</style>
</head>
<body>
<div id="main"></div>
<script type="text/javascript">$.get("../static/Germany.json", function (map) { // 读取GeoJSON文件// 组装数据 --startvar features = map["features"]data1 = []for (var i = 0; i < features.length; i++) {var properties = features[i]["properties"]var name1 = properties["name"]var Insgesamt = properties["Insgesamt"]var temp = {name: name1, value: Insgesamt}data1.push(temp)}// 组装数据 -- endvar myChart = echarts.init(document.getElementById('main'));echarts.registerMap("luoyang", map);var option = {tooltip: {//提示框组件。trigger: 'item',},visualMap: { //地图图例,实现颜色渐变min: 0,max: 250000,left: '20%',top: '60%',inRange: {color: ['green', 'yellow', 'red']},text: ['high', 'low'],calculable: true},series: [{map: "Germany",type: "map",aspectScale: 1.0,selectedMode: 'single',//选择类型,hoverable: false,//鼠标经过高亮roam: true,//鼠标滚轮缩放data: data1,itemStyle: {normal: {borderWidth: 1,borderColor: '#ffffff',//区域边框色areaColor: '#FFDAB9',//区域背景色label: {show: false,textStyle: {color: '#6495ED',//文字颜色fontSize: 18      //文字大小}}},emphasis: {          // 选中样式--显示nameborderWidth: 1,borderColor: '#00ffff',color: '#ffffff',label: {show: true,textStyle: {color: '#ff0000'}}}}}]};myChart.setOption(option);});
</script>
</body>
</html>

读取geojson文件组装data

// 组装数据
var features = map["features"]
data = []
for (var i = 0; i < features.length; i++) {var properties = features[i]["properties"]var name1 = properties["name"]var Insgesamt = properties["Insgesamt"]var temp = {name: name1, value: Insgesamt}data.push(temp)
}

结果展示

在这里插入图片描述

这篇关于echarts + GeoJSON 地图绘制(德国县级地图为例)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/528402

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

【WebGPU Unleashed】1.1 绘制三角形

一部2024新的WebGPU教程,作者Shi Yan。内容很好,翻译过来与大家共享,内容上会有改动,加上自己的理解。更多精彩内容尽在 dt.sim3d.cn ,关注公众号【sky的数孪技术】,技术交流、源码下载请添加微信号:digital_twin123 在 3D 渲染领域,三角形是最基本的绘制元素。在这里,我们将学习如何绘制单个三角形。接下来我们将制作一个简单的着色器来定义三角形内的像素

Flutter 进阶:绘制加载动画

绘制加载动画:由小圆组成的大圆 1. 定义 LoadingScreen 类2. 实现 _LoadingScreenState 类3. 定义 LoadingPainter 类4. 总结 实现加载动画 我们需要定义两个类:LoadingScreen 和 LoadingPainter。LoadingScreen 负责控制动画的状态,而 LoadingPainter 则负责绘制动画。

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87

全英文地图/天地图和谷歌瓦片地图杂交/设备分布和轨迹回放/无需翻墙离线使用

一、前言说明 随着风云局势的剧烈变化,对我们搞软件开发的人员来说,影响也是越发明显,比如之前对美对欧的软件居多,现在慢慢的变成了对大鹅和中东以及非洲的居多,这两年明显问有没有俄语或者阿拉伯语的输入法的增多,这要是放在2019年以前,一年也遇不到一个人问这种需求场景的。 地图应用这块也是,之前的应用主要在国内,现在慢慢的多了一些外国的应用场景,这就遇到一个大问题,我们平时主要开发用的都是国内的地

YOLOv8/v10+DeepSORT多目标车辆跟踪(车辆检测/跟踪/车辆计数/测速/禁停区域/绘制进出线/绘制禁停区域/车道车辆统计)

01:YOLOv8 + DeepSort 车辆跟踪 该项目利用YOLOv8作为目标检测模型,DeepSort用于多目标跟踪。YOLOv8负责从视频帧中检测出车辆的位置,而DeepSort则负责关联这些检测结果,从而实现车辆的持续跟踪。这种组合使得系统能够在视频流中准确地识别并跟随特定车辆。 02:YOLOv8 + DeepSort 车辆跟踪 + 任意绘制进出线 在此基础上增加了用户

Imageview在百度地图中实现点击事件

1.首先第一步,需要声明的全局有关类的引用 private BMapManager mBMapMan; private MapView mMapView; private MapController mMapController; private RadioGroup radiogroup; private RadioButton normalview; private RadioBu

MMO地图传送

本篇由以下四个点讲解: 创建传送点 传送点配置 编辑器扩展:传送点数据生成 传送协议与实现 创建传送点 建碰撞器触发 //位置归零 建一个传送门cube放到要传送的位置(这个teleporter1是传出的区域 这是从另一张地图传入时的传送门 创建一个脚本TeleporterObject给每个传送cube都绑上脚本 通过脚本,让传送门在编辑器下面还能绘制出来

使用matplotlib绘制散点图、柱状图和饼状图-学习篇

一、散点图 Python代码如下: num_points = 100x = np.random.rand(num_points) #x点位随机y = np.random.rand(num_points) #y点位随机colors = np.random.rand(num_points) #颜色随机sizes = 1000 * np.random.rand(num_points) # 大

Matlab/Simulink和AMEsim联合仿真(以PSO-PID算法为例)

目录 安装软件和配置环境变量 Matlab/Simulink和AMEsim联合仿真详细流程 非常重要的一点 Simulink模型和AMEsim模型用S-Function建立连接 从AMEsim软件打开Matlab Matlab里的设置 Matlab的.m文件修改(对于PSO-PID算法) 运行程序 我印象中好像做过Matlab/Simulink和AMEsim联合仿真的分享似的