当前位置:   article > 正文

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

topobathy3d

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

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

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

实例化

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

指定图表的配置项和数据

  1. buildOption() {
  2. let style = this.attrs.style
  3. this.option = {
  4. backgroundColor: style.backgroundColor,
  5. globe: {
  6. // show: false,
  7. globeRadius: style.globeRadius, // 地球的半径
  8. globeOuterRadius: style.globeOuterRadius, // 地球的外半径
  9. baseTexture: style.heightTextureSrcEnable ? (style.heightTextureSrc ? this.heightTextureSrc : require("../zImage/gl/world.topo.bathy.200401.jpg")) : '', // 背景图 地球的纹理
  10. heightTexture: style.heightTextureSrcEnable ? (style.heightTextureSrc ? this.heightTextureSrc : require("../zImage/gl/world.topo.bathy.200401.jpg")) : '', // 背景图凹凸贴图 地球的高度纹理
  11. displacementScale: style.displacementScale, // 地球顶点位移的大小
  12. displacementQuality: style.displacementQuality, //地球顶点位移的质量。支持设置成 'low', 'medium', 'high', 'ultra'
  13. shading: style.shading, //地球中三维图形的着色效果 color lambert realistic
  14. environment: style.environmentEnable ? (style.environmentSrc ? this.environmentSrc : require("../zImage/gl/Milkyway/Milkyway_BG.jpg")) : '', // 环境贴图
  15. realisticMaterial: {
  16. roughness: style.realisticMaterialRoughness, // 粗糙度
  17. },
  18. // 后处理特效的相关配置
  19. postEffect: {
  20. enable: style.postEffectEnable, // 是否开启后处理特效
  21. // 高光特效
  22. bloom: {
  23. enable: style.postEffectBloomEnable,
  24. bloomIntensity: style.postEffectBloomBloomIntensity,
  25. },
  26. // 景深效果
  27. depthOfField: {
  28. enable: style.depthOfFieldEnable,
  29. focalDistance: style.depthOfFieldFocalDistance, // 初始的焦距
  30. focalRange: style.depthOfFieldFocalRange, //完全聚焦的区域范围
  31. fstop: style.depthOfFstop, //镜头的F值,值越小景深越浅。
  32. blurRadius: style.depthOfBlurRadius, // 模糊半径
  33. },
  34. SSAO: {
  35. enable: style.SSAOEnable,
  36. quality: style.SSAOQuality, // 环境光遮蔽的质量
  37. radius: style.SSAORadius, // 采样半径
  38. intensity: style.SSAOIntensity, // 环境光遮蔽的强度 值越大颜色越深
  39. }
  40. },
  41. // 光照相关的设置 shading 为 'color' 的时候无效
  42. light: {
  43. // 主光源
  44. main: {
  45. color: style.lightMainColor, // 主光源的颜色
  46. intensity: style.lightMainIntensity, // 主光源的强度
  47. shadow: style.lightMainShadow, // 主光源是否投射阴影
  48. shadowQuality: style.lightMainShadowQuality, // 阴影质量
  49. },
  50. ambient: {
  51. color: style.lightAmbientColor,// 环境光的颜色
  52. intensity: style.lightAmbientIntensity, // 环境光的强度
  53. },
  54. },
  55. // 地球外部大气层相关设置
  56. atmosphere: {
  57. show: style.atmosphereShow, // 是否显示外部大气层
  58. color: style.atmosphereColor,
  59. glowPower: style.atmosphereGlowPower, // 外部大气层发光功率
  60. innerGlowPower: style.atmosphereInnerGlowPower, // 外部大气层内发光功率
  61. },
  62. // 鼠标的旋转,缩放等视角控制
  63. viewControl: {
  64. projection: style.viewControlProjection, // 投影方式,默认为透视投影'perspective',也支持设置为正交投影'orthographic'
  65. autoRotate: style.viewControlAutoRotate, // 是否开启视角绕物体的自动旋转查看。
  66. autoRotateDirection: style.viewControlAutoRotateDirection, // 物体自转的方向 'cw'顺时针方向 'ccw'逆时针方向
  67. autoRotateSpeed: style.viewControlAutoRotateSpeed, // 物体自转的速度 单位为角度 / 秒,默认为10 ,也就是36秒转一圈
  68. autoRotateAfterStill: style.viewControlAutoRotateAfterStill, // 在鼠标静止操作后恢复自动旋转的时间间隔
  69. zoomSensitivity: style.viewControlZoomSensitivity, // 鼠标灵敏度
  70. distance: style.viewControlDistance, // 默认视角距离主体的距离
  71. minDistance: style.viewControlMinDistance, // 鼠标控制能拉近到主体的最小距离
  72. maxDistance: style.viewControlMaxDistance, // 鼠标控制能拉远到主体的最大距离
  73. },
  74. },
  75. series: [
  76. {
  77. type: 'lines3D',
  78. coordinateSystem: 'globe',
  79. blendMode: style.blendMode, // 'lighter'是叠加模式 'source-over'是通过 alpha 混合
  80. // 飞线尾迹特效
  81. effect: {
  82. show: style.effectShow,
  83. period: style.effectPeriod, // 尾迹周期
  84. constantSpeed: style.effectConstantSpeed, // 轨迹特效的移动动画是否是固定速度
  85. trailWidth: style.effectTrailWidth, //尾迹的宽度。
  86. trailLength: style.effectTrailLength, // 尾迹的长度,范围从 0 到 1,为线条长度的百分比
  87. trailColor: style.effectTrailColor, //尾迹的颜色
  88. trailOpacity: style.effectTrailOpacity, // 尾迹的不透明度
  89. // 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"',
  90. symbol: "arrow", //箭头图标
  91. symbolSize: 10, //图标大小
  92. },
  93. lineStyle: {
  94. width: style.lineStyleWidth,
  95. color: style.lineStyleColor,
  96. opacity: style.lineStyleOpacity,// 线条的不透明度
  97. },
  98. data: [
  99. [
  100. [-75.440806, 40.652083],
  101. [80.943139, 35.214],
  102. ],
  103. [
  104. [86.02, 37.77],
  105. [-109.09, 41.82],
  106. ],
  107. [
  108. [90.24, 35.23],
  109. [-61.63, -21.06],
  110. ],
  111. [
  112. [113.62, 25.23],
  113. [91.82, 36.79],
  114. ],
  115. [
  116. [112.57, 25.39],
  117. [149.66, -29.17],
  118. ],
  119. [
  120. [24.5, -18.41],
  121. [113.97, 32.01],
  122. ],
  123. [
  124. [-9.43, 15.18],
  125. [-66.2, 1.48],
  126. ],
  127. ],
  128. },
  129. ],
  130. };
  131. },

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/82912
推荐阅读
相关标签
  

闽ICP备14008679号