请选择 进入手机版 | 继续访问电脑版

01BIM社区

 找回密码
 立即注册

扫一扫,访问微社区

查看: 95|回复: 4

3DTileset上如何加载地形图

[复制链接]

150

主题

510

帖子

1980

积分

金牌会员

Rank: 6Rank: 6

积分
1980
发表于 2022-6-16 08:05:46 | 显示全部楼层 |阅读模式
<3DTileset上如何加载地形图>

2022年6月16日


回复

使用道具 举报

150

主题

510

帖子

1980

积分

金牌会员

Rank: 6Rank: 6

积分
1980
 楼主| 发表于 2022-6-16 08:09:36 | 显示全部楼层
本帖最后由 tzbm123456 于 2022-6-17 13:52 编辑

//一、加载地形图b3dm文件
   tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
        url : './DataSource/SQJS/XDY_DG/b3dm/Dxt/Dxt/tileset.json'
        //url : './DataSource/TZBM/jjj/b3dm/jjj/tileset.json'
   }));
   //设置实体样式
   var transparentStyle=new Cesium.Cesium3DTileStyle({
        color: "color('white',1.0)",
        show: true
   });            
   tileset.style=transparentStyle;
   viewer.flyTo(tileset,{
       duration : 10,
       maximumHeight : 1000000,
   });
//二、设置地图材质
   imageMaterial = new Cesium.ImageMaterialProperty ({
        image:'./DataSource/SQJS/XDY_DG/b3dm/Dxt/Dxt/M_41.png',
        color: Cesium.Color.WHITE,
        repeat : new Cesium.Cartesian2(1, 1)
   });


//三、添加地图材质
   const polygon = viewer.entities.add({
      polygon: {
        hierarchy: new Cesium.PolygonHierarchy(
        Cesium.Cartesian3.fromDegreesArray([116.3925,39.8990, 116.3935, 39.8990, 116.3935, 39.8997, 116.3925, 39.8997])
        ),
        //material: Cesium.Color.BLUE.withAlpha(0.5),
        material : imageMaterial,
        classificationType: Cesium.ClassificationType.CESIUM_3D_TILE,
        //classificationType: Cesium.ClassificationType.TERRAIN,
      },
   });
   viewer.flyTo(polygon,{
        duration : 10,
        maximumHeight : 1000000,
   });


/*
特别说明:
1、cesium.js:41 Entity geometry outlines are unsupported on terrain. Outlines will be disabled. To enable outlines, disable geometry terrain clamping by explicitly setting height to 0。

2classificationType起作用,必须不设置height参数。
*/

QQ截图20220616122652.png










回复 支持 反对

使用道具 举报

150

主题

510

帖子

1980

积分

金牌会员

Rank: 6Rank: 6

积分
1980
 楼主| 发表于 2022-6-16 12:27:49 | 显示全部楼层
QQ截图20220616122652.png
回复 支持 反对

使用道具 举报

150

主题

510

帖子

1980

积分

金牌会员

Rank: 6Rank: 6

积分
1980
 楼主| 发表于 2022-6-16 12:29:38 | 显示全部楼层
本帖最后由 tzbm123456 于 2022-6-17 13:55 编辑

<绘制贴地线体>

button7 = gui.add(controls, 'button7').name('绘制贴地线体').onFinishChange(function(){
    alert('绘制贴地线体');
    viewer.scene.primitives.add(
     new Cesium.GroundPolylinePrimitive({//贴地primitive线
       geometryInstances: new Cesium.GeometryInstance({
        geometry: new Cesium.GroundPolylineGeometry({//贴地线几何
         positions:Cesium.Cartesian3.fromDegreesArray([107.523204,29.403641,107.528098,29.405478]),
         width : 10.0,
        }),
       }),
       appearance: new Cesium.PolylineMaterialAppearance({
         material: Cesium.Material.fromType('Color', {
            color: Cesium.Color.RED
          })
       })
      })
    )
})

QQ图片20220616123019.png


QQ图片20220616124549.png




回复 支持 反对

使用道具 举报

150

主题

510

帖子

1980

积分

金牌会员

Rank: 6Rank: 6

积分
1980
 楼主| 发表于 2022-6-16 13:29:35 | 显示全部楼层
<JS 类型判断>

1、typeof(ptArr[0])
     'object'
2、typeof(23)
     'number'
3、typeof('we')
     'string'
4、typeof("we")
     'string'
5、ptArr[0] instanceof Cesium.Cartesian3
     true


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|01BIM社区 - 最专业的BIM技术交流平台 ( 渝ICP备15000873号 )

GMT+8, 2022-6-27 14:11 , Processed in 0.054900 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表