Cesium地图加载3D建筑物
话不多说,看(图文步骤请查看上一篇)步骤 ↓ ↓ ↓
第一步: 登陆【cesium icon】 网站: Cesium ion
第二步: Cesium OSM Buildings 、New York City 3D Buildings添加至My Assets中
第三步: 建筑3DTiles数据加载至地图
a. 加载 Cesium OSM Buildings ,设置建筑颜色,定位至上海(东方明珠塔)
// Cesium地图 --加载建筑体并设置不同的颜色 loadBuilding() { const tileset = this.viewer.scene.primitives.add(new Cesium.Cesium3DTileset({ url: Cesium.IonResource.fromAssetId(96188) })) this.viewer.camera.lookAt(Cesium.Cartesian3.fromDegrees(121.49272854520109, 31.24444484775727, 600.5782714174909), new Cesium.HeadingPitchRange(Cesium.Math.toRadians(6.2831853071795845), Cesium.Math.toRadians(-0.13274323360597196), 5000)) tileset.style = new Cesium.Cesium3DTileStyle({ color: 'color("#565a57",0.8)', show: true }) },b. 加载 New York City 3D Buildings,设置建筑颜色规则,定位至纽约(罗斯福岛)
这边在添加图层资产的时候,我们可以注意到,右边的介绍:
说的是每个3D Tileset
BIN
— NYC DoB(建筑部)IDDOITT_ID
— NYC DoITT 信息 IDLongitude
— 经度。Latitude
— 纬度。Height
— 建筑物的地面高度,以米为单位。TerrainHeight
— 相对于椭球体到建筑物底部的标高。Year
— 这栋建筑的建造年份。Majority_Ownership_Type
— 这栋建筑中最常见的业主类型(也分很多类,什么个体、合作等等)。// Cesium地图 --加载建筑体并设置不同的颜色
// Cesium地图 --加载建筑体并设置不同的颜色 loadBuilding2() { const tileset = this.viewer.scene.primitives.add( new Cesium.Cesium3DTileset({ url: Cesium.IonResource.fromAssetId(75343) }) ) this.viewer.camera.lookAt( Cesium.Cartesian3.fromDegrees(-73.95715181691992, 40.754468669343076, 1847.383194184224), new Cesium.HeadingPitchRange(Cesium.Math.toRadians(0.5212177975607402), Cesium.Math.toRadians(-0.10745795023302507), 10000)) // 条件,颜色 tileset.style = new Cesium.Cesium3DTileStyle({ color: { conditions: [ ['${Height} >= 100', 'color("purple", 0.5)'], ['${Height} >= 50', 'color("red")'], ['true', 'color("blue")'] ] }, show: '${Height} >= 0', meta: { description: '"Building id ${id} has height ${Height}."' } }) },
那么下一章,学习空间数据点、线、面、标签的加载,go go