使用echarts-gl 绘制3D地球配置详解

news/2024/11/24 1:34:05/

大屏可视化绘制关联配置绘制3D地球

为 ECharts 准备一个定义了宽高的 DOM

 <div :id="'container' + attrs.id" :style="'width:' + (attrs.width) + 'px;'+ 'height:' + (attrs.height) + 'px;' + 'z-index:1;'">
</div>

实例化

        //初始化地图async initEcharts() {this.chart = echarts.init(document.getElementById('container' + this.attrs.id))//构建填充optionthis.buildOption()this.chart.setOption(this.option)},

指定图表的配置项和数据

        buildOption() {let style = this.attrs.stylethis.option = {backgroundColor: style.backgroundColor,globe: {// show: false,globeRadius: style.globeRadius, // 地球的半径globeOuterRadius: style.globeOuterRadius, // 地球的外半径baseTexture: style.heightTextureSrcEnable ? (style.heightTextureSrc ? this.heightTextureSrc : require("../zImage/gl/world.topo.bathy.200401.jpg")) : '',  //  背景图  地球的纹理heightTexture: style.heightTextureSrcEnable ? (style.heightTextureSrc ? this.heightTextureSrc : require("../zImage/gl/world.topo.bathy.200401.jpg")) : '', // 背景图凹凸贴图  地球的高度纹理displacementScale: style.displacementScale, // 地球顶点位移的大小displacementQuality: style.displacementQuality, //地球顶点位移的质量。支持设置成 'low', 'medium', 'high', 'ultra'shading: style.shading, //地球中三维图形的着色效果  color  lambert  realisticenvironment: style.environmentEnable ? (style.environmentSrc ? this.environmentSrc : require("../zImage/gl/Milkyway/Milkyway_BG.jpg")) : '', // 环境贴图realisticMaterial: {roughness: style.realisticMaterialRoughness, // 粗糙度},// 后处理特效的相关配置postEffect: {enable: style.postEffectEnable, // 是否开启后处理特效// 高光特效bloom: {enable: style.postEffectBloomEnable,bloomIntensity: style.postEffectBloomBloomIntensity,},// 景深效果depthOfField: {enable: style.depthOfFieldEnable,focalDistance: style.depthOfFieldFocalDistance, // 初始的焦距focalRange: style.depthOfFieldFocalRange, //完全聚焦的区域范围fstop: style.depthOfFstop,  //镜头的F值,值越小景深越浅。blurRadius: style.depthOfBlurRadius,  // 模糊半径},SSAO: {enable: style.SSAOEnable,quality: style.SSAOQuality, // 环境光遮蔽的质量radius: style.SSAORadius, // 采样半径intensity: style.SSAOIntensity, // 环境光遮蔽的强度  值越大颜色越深}},// 光照相关的设置  shading 为 'color' 的时候无效light: {// 主光源main: {color: style.lightMainColor, // 主光源的颜色intensity: style.lightMainIntensity, // 主光源的强度shadow: style.lightMainShadow, // 主光源是否投射阴影shadowQuality: style.lightMainShadowQuality, // 阴影质量},ambient: {color: style.lightAmbientColor,// 环境光的颜色intensity: style.lightAmbientIntensity, // 环境光的强度},},// 地球外部大气层相关设置atmosphere: {show: style.atmosphereShow, // 是否显示外部大气层color: style.atmosphereColor,glowPower: style.atmosphereGlowPower, // 外部大气层发光功率innerGlowPower: style.atmosphereInnerGlowPower, // 外部大气层内发光功率},// 鼠标的旋转,缩放等视角控制viewControl: {projection: style.viewControlProjection, // 投影方式,默认为透视投影'perspective',也支持设置为正交投影'orthographic'autoRotate: style.viewControlAutoRotate, // 是否开启视角绕物体的自动旋转查看。autoRotateDirection: style.viewControlAutoRotateDirection, // 物体自转的方向 'cw'顺时针方向 'ccw'逆时针方向autoRotateSpeed: style.viewControlAutoRotateSpeed, // 物体自转的速度  单位为角度 / 秒,默认为10 ,也就是36秒转一圈autoRotateAfterStill: style.viewControlAutoRotateAfterStill, // 在鼠标静止操作后恢复自动旋转的时间间隔zoomSensitivity: style.viewControlZoomSensitivity, // 鼠标灵敏度distance: style.viewControlDistance, // 默认视角距离主体的距离minDistance: style.viewControlMinDistance, // 鼠标控制能拉近到主体的最小距离maxDistance: style.viewControlMaxDistance, // 鼠标控制能拉远到主体的最大距离},},series: [{type: 'lines3D',coordinateSystem: 'globe',blendMode: style.blendMode,  // 'lighter'是叠加模式  'source-over'是通过 alpha 混合// 飞线尾迹特效effect: {show: style.effectShow,period: style.effectPeriod, // 尾迹周期 constantSpeed: style.effectConstantSpeed, // 轨迹特效的移动动画是否是固定速度trailWidth: style.effectTrailWidth, //尾迹的宽度。trailLength: style.effectTrailLength, // 尾迹的长度,范围从 0 到 1,为线条长度的百分比trailColor: style.effectTrailColor,  //尾迹的颜色trailOpacity: style.effectTrailOpacity, // 尾迹的不透明度// symbol: 'path://"M61.3,2c6.2,0,12.1,1.1,17.5,3.4C84.3,7.7,89,10.8,93,14.6c4.1,4,7.3,8.6,9.7,13.8c2.4,5.2,3.5,10.9,3.5,16.9c0,8.1-2.4,16.9-7.1,26.4c-4.7,9.4-9.9,18.2-15.5,26.2c-5.6,8-13.1,17.4-22.4,28.1c-9.3-10.7-16.8-20-22.4-28.1c-5.6-8-10.8-16.8-15.5-26.2c-4.7-9.4-7.1-18.2-7.1-26.4c0-6,1.2-11.6,3.5-16.9c2.4-5.2,5.6-9.8,9.7-13.8c4-3.9,8.8-7,14.2-9.2C49.2,3.1,55,2,61.3,2L61.3,2z"',symbol: "arrow", //箭头图标symbolSize: 10, //图标大小},lineStyle: {width: style.lineStyleWidth,color: style.lineStyleColor,opacity: style.lineStyleOpacity,// 线条的不透明度},data: [[[-75.440806, 40.652083],[80.943139, 35.214],],[[86.02, 37.77],[-109.09, 41.82],],[[90.24, 35.23],[-61.63, -21.06],],[[113.62, 25.23],[91.82, 36.79],],[[112.57, 25.39],[149.66, -29.17],],[[24.5, -18.41],[113.97, 32.01],],[[-9.43, 15.18],[-66.2, 1.48],],],},],};},


http://www.ppmy.cn/news/168627.html

相关文章

mapbox-gl开发教程(十四):画圆技巧

mapbox-gl提供了一个画圆的图层方式&#xff0c;图层的类型设置成circle&#xff0c;通过设置circle-radius&#xff0c;实现圆的大小变化&#xff0c;不过这个参数的单位是像素&#xff08;pixels&#xff09;&#xff0c;在地图缩放的时候&#xff0c;圆一直是像素尺寸&#…

mapboxGL轨迹展示与播放

概述 历史轨迹回放是GIS很常见的一个功能&#xff0c;本文结合turf.js实现轨迹的展示与播放动画。 效果 实现功能 轨迹的展示&#xff1b;轨迹的方向的箭头展示&#xff1b;随着轨迹播放的小车&#xff0c;并调整方向与轨迹方向一致&#xff1b;已播放路径的展示&#xff1b…

app闪退之-- GL error: Out of memory!

客户应用运行一段时间后闪退: 日志 2021-09-16 10:35:16.194 2328-2328/? I/Choreographer: Skipped 55 frames! The application may be doing too much work on its main thread. 2021-09-16 10:35:16.207 223-394/? E/BufferQueueProducer: [Toast] dequeueBuffer: Buf…

OpenGL 太阳系行星拾取例子(GL_SELECT) VS2008 + glut实现

太阳系&#xff1a;Solar System 以太阳&#xff08;Sun&#xff09;为中心&#xff0c;由内到外分别是&#xff1a; 水星&#xff08;Mercury&#xff09; 金星&#xff08;Venus&#xff09; 地球&#xff08;Earth&#xff09; 火星&#xff08;Mars&#xff09; 木星&#…

android 内存泄露-抓出重要函数-GL_OUT_OF_MEMORY-GL error: Out of memory!OpenGLRenderer

一般log有错误的内存泄露提示“GL error: Out of memory!”"GL_OUT_OF_MEMORY",我们就需要使用工具去一步一步的获取哪些模块类里面的方法出了问题,然后一个一个去尝试找出问题,以下是个人经历: 问题点:蓝牙传输多个文件,引发蓝牙报停,log打印crash: OpenGL…

echarts+echarts-gl vue2制作3D地图+下钻功能+标记点功能,解决dblclick事件失效问题,解决地图下钻后边框不更新保留问题

目录 先看实现效果&#xff1a;​编辑 步骤一 安装echarts和echarts-gl 步骤二 设置地图容器 在methods中设置初始化地图方法并在mounted中调用 在methods中设置初始化地图方法 在mounted中调用 打开页面效果&#xff1a;​编辑 步骤三 1、给地图添加双击事件dblcli…

华硕FX63VD/FX503VD键盘按键失灵

键盘失灵&#xff0c;开机键能用&#xff0c;有背光&#xff0c;大小写等指示灯切换正常且按键失灵 点击运行&#xff0c;等两分钟重刷程序给键盘芯片就好了 https://www.52pojie.cn/thread-1753087-1-1.html https://download.csdn.net/download/weixin_39444707/87525497

调试STM32+EMMC+GL3227E(固件1857,1858,1859)遇到的问题

声明&#xff1a; 记录下我自己的调试过程&#xff0c;一是给自己看&#xff0c;记录点滴&#xff1b;二也是分享给大家&#xff0c;在碰到类似的问题时&#xff0c;提供些许的思路。 问题描述&#xff1a; 使用如题的结构&#xff0c;STM32将数据存储在EMMC上&#xff0c;电脑…