前端vue使用Cesium加载geoserver发布的tif影像

要素都在这了

    let box = layerObj.latLonBoundingBox
    const rectangle = new Cesium.Rectangle(Cesium.Math.toRadians(box.minx), Cesium.Math.toRadians(box.miny), Cesium.Math.toRadians(box.maxx), Cesium.Math.toRadians(box.maxy));
    let url = layerObj.pngUrl.replace('{TileMatrix}', '{TileMatrixSet}:{TileMatrix}')
    const wmtsImageryProvider = new Cesium.WebMapTileServiceImageryProvider({
        url: url,//'/tifUrl/geoserver/gwc/service/wmts/rest/test:seg_1/{style}/{TileMatrixSet}/{TileMatrixSet}:{TileMatrix}/{TileRow}/{TileCol}?format=image/png',
        layer: '',
        style: '',
        format: 'image/png',
        tileMatrixSetID: 'EPSG:4326',
        tilingScheme: new Cesium.GeographicTilingScheme({
            numberOfLevelZeroTilesX: 2,
            numberOfLevelZeroTilesY: 1,
        }),
        ellipsoid: Cesium.Ellipsoid.WGS84,
        rectangle: rectangle,
        maximumLevel: 21,
        minimumLevel: 1,
    });
    let GeoServerHand = Viewer.imageryLayers.addImageryProvider(wmtsImageryProvider);
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
加载倾斜摄影需要用到Cesium的3DTiles功能,具体步骤如下: 1. 引入CesiumCesium中的3DTiles模块 ```html <script src="https://cesium.com/downloads/cesiumjs/releases/1.83/Build/Cesium/Cesium.js"></script> <script src="https://cesium.com/downloads/cesiumjs/releases/1.83/Build/Cesium/Widgets/widgets.css"></script> <script src="https://cesium.com/downloads/cesiumjs/releases/1.83/Build/Cesium/ThirdParty/Workers/require.js"></script> ``` 2. 初始化Cesium Viewer ```js var viewer = new Cesium.Viewer('cesiumContainer'); ``` 3. 加载倾斜摄影的3DTiles数据 ```js var tileset = new Cesium.Cesium3DTileset({ url: 'path/to/3dtiles', maximumScreenSpaceError: 1, maximumNumberOfLoadedTiles: 1000 }); viewer.scene.primitives.add(tileset); viewer.zoomTo(tileset); ``` 其中,`url`是倾斜摄影数据的路径,`maximumScreenSpaceError`是用来控制细节级别的参数,`maximumNumberOfLoadedTiles`是用来控制加载的瓦片数量的参数。 4. 配置Cesium的光照效果 ```js viewer.scene.globe.enableLighting = true; ``` 5. 配置Cesium的相机视角 ```js viewer.camera.setView({ destination: Cesium.Cartesian3.fromDegrees(lon, lat, height), orientation: { heading: Cesium.Math.toRadians(heading), pitch: Cesium.Math.toRadians(pitch), roll: Cesium.Math.toRadians(roll) } }); ``` 其中,`lon`、`lat`和`height`是倾斜摄影的中心点经纬度和高度,`heading`、`pitch`和`roll`是相机的朝向参数。 6. 在Vue使用Cesium 将以上代码放入Vue的`mounted`生命周期钩子中即可。注意,需要在Vue组件中引入Cesium和3DTiles模块。 ```js mounted() { var viewer = new Cesium.Viewer('cesiumContainer'); var tileset = new Cesium.Cesium3DTileset({ url: 'path/to/3dtiles', maximumScreenSpaceError: 1, maximumNumberOfLoadedTiles: 1000 }); viewer.scene.primitives.add(tileset); viewer.zoomTo(tileset); viewer.scene.globe.enableLighting = true; viewer.camera.setView({ destination: Cesium.Cartesian3.fromDegrees(lon, lat, height), orientation: { heading: Cesium.Math.toRadians(heading), pitch: Cesium.Math.toRadians(pitch), roll: Cesium.Math.toRadians(roll) } }); } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值