Cesium系列:加载不规则形状出图

简介: Cesium加载不规则形状出图

在Cesium地图系统开发中,后台出图的范围,在经纬度中是一个不规则的polygon,出来的图片形状也不是规则的,要在地图上贴上这张图,图片显示的范围也要契合到实际地图位置。

图片效果:
image.png
查找Cesium的接口,首先想到的是,用其中的polygon,按照经纬的范围,画一个polygon,再将图片做为材质material贴进去,不过代码写上后,发现的贴图在polygon中变形了,也没有贴到相应的地图位置。

经过测试,最后发现可以用Cesium的Rectangle实体对象,通过计算出不规则多边形四至范围的左上角坐标和右下角坐标,再将图片材质贴上去,地图上的位置还对上了。

具体的代码如下:

//添加一个rectangle的实体

 viewer.entities.add({

        name: '不规则贴图',

        rectangle: {

        //设置rectangle的四个坐标范围

        coordinates: Cesium.Rectangle.fromDegrees(-92.0, 30.0, -76.0, 40.0), 

        //设置图片为材质

        material: 'data/wind_500_2018030616_True.png', 

        //图片显示样式类型,有地形,模型或者两者,此效果可以达到贴图是沿

        //地图弧面的

        classificationType : Cesium.ClassificationType.TERRAIN

    }

添加完成后,效果是贴地的,形状是长方形,但是空白地方显示是黑色,要在材质里单独设置一下,把材质属性改成如下:黑色没有了

material: new Cesium.ImageMaterialProperty({

   image:'data/wind_500_2018030616_True.png',

   transparent:true

  })

//顺便设置个高度属性,可以离开地面显示

height:70000

完成后效果图:
image.png

相关文章
|
图形学 开发者
3D模型如何设置凹凸贴图?
3D模型如何设置凹凸贴图?
144 0
|
存储 vr&ar 图形学
如何设置3D模型法线贴图?
如何设置3D模型法线贴图?
137 0
cesium添加实体不被地形遮挡的参数设置
disableDepthTestDistance:指定从相机到禁用深度测试的距离,关于深度测试我们将在后面的文章中介绍到,由于深度测试的存在,我们的对象很多时候会被地形挡住,如下:
1970 0
cesium添加实体不被地形遮挡的参数设置
|
1月前
ThreeJs创建球体
这篇文章讲解了如何在Three.js中创建并添加一个球体到场景中,包括定义球体的几何形状、赋予材质以及最终渲染球体的过程。
42 1
|
1月前
threeJs绘制曲线
这篇文章讲解了如何使用Three.js中的CatmullRomCurve3来绘制平滑的曲线,并提供了实现的代码示例。
29 3
threeJs绘制曲线
cesium加载魔方立方体
【8月更文挑战第16天】
|
4月前
|
Python
Python制作动态颜色变换:颜色渐变动效
Python制作动态颜色变换:颜色渐变动效
100 0
|
4月前
|
机器学习/深度学习 前端开发 算法
canvas系列教程03 —— 线的样式、绘制文本、操作图片(图片的渲染、缩放、裁剪、切割、平铺、特效)、变换元素(平移、缩放、旋转)(二)
canvas系列教程03 —— 线的样式、绘制文本、操作图片(图片的渲染、缩放、裁剪、切割、平铺、特效)、变换元素(平移、缩放、旋转)(二)
77 0
|
4月前
|
存储 前端开发 JavaScript
canvas系列教程03 —— 线的样式、绘制文本、操作图片(图片的渲染、缩放、裁剪、切割、平铺、特效)、变换元素(平移、缩放、旋转)(一)
canvas系列教程03 —— 线的样式、绘制文本、操作图片(图片的渲染、缩放、裁剪、切割、平铺、特效)、变换元素(平移、缩放、旋转)(一)
396 0
【Three.js入门】纹理及其常用属性、透明纹理、环境遮挡贴图与强度
【Three.js入门】纹理及其常用属性、透明纹理、环境遮挡贴图与强度
490 0