(二)Cesium加载WMTS服务报错400、加载TMS服务、加载本地地形数据

一、加载WMTS服务

按照网上教程发布WMTS切片服务后,使用Cesium加载时出现不加载图像,经过处理按照以下方法处理:

1.在GeoServer的WMTS找到自己发布的切片图像地址:

Ctrl+F键查找:

将此处URL复制到Cesium中使用

注意此处的URL要进行处理:

http://localhost:8080/geoserver/gwc/service/wmts/rest/cesium:县/{style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}?format=image/png

修改为:

http://localhost:8080/geoserver/gwc/service/wmts/rest/cesium:县/{style}/{TileMatrixSet}/{TileMatrixSet}:{TileMatrix}/{TileRow}/{TileCol}?format=image/png

将   {TileMatrix}修改为{TileMatrixSet}:{TileMatrix}

修改坐标系

 tileMatrixSetID: 'EPSG:900913'//通常为这个,改为其他的也可能导致不显示

style属性:

有些博主写的要设置成‘raster’,我设置了就不能显示,不知道原因。

地址很重要,一定多检查!!!

加载代码:

  const wmtsImageryProvider = new Cesium.WebMapTileServiceImageryProvider({
    url: 'http://localhost:8080/geoserver/gwc/service/wmts/rest/cesium:县/{style}/{TileMatrixSet}/{TileMatrixSet}:{TileMatrix}/{TileRow}/{TileCol}?format=image/png',
    layer: 'cesium:县',
    style: '',
    format: 'image/png',
    tileMatrixSetID: 'EPSG:900913'
  })
  viewer.imageryLayers.addImageryProvider(wmtsImageryProvider)

然后已经能显示出来,但是还是会出现400错误,应该是瓦片数据范围过大,加载不及时就会返回400错误,目前没得好的解决办法,先放置,解决了再回来改。

二、加载TMS服务

1.打开TMS服务

2.Ctrl+F搜索title="你所需要的图层",将URL地址复制,但是要在地址后面加上

/{z}/{x}/{reverseY}.png

3.代码

const tmsImageryProvider = new Cesium.UrlTemplateImageryProvider({
    url: 'http://localhost:8080/geoserver/gwc/service/tms/1.0.0/cesium:县@EPSG:900913@png/{z}/{x}/{reverseY}.png',
  })
  viewer.imageryLayers.addImageryProvider(tmsImageryProvider)

三、加载地形数据

数据源下载:地理空间数据云 (gscloud.cn)  ,数据集选择DEM数字高程数据,下载解压。

在GeoSever中加载后,显示是黑白:

将数据设置成彩色,参考文章:GIS开发入坑(一)--GeoServer发布DEM地形图_geoserver 发布高程数据-CSDN博客

                                       

在Cesium中加载GeoServer发布的地形:                                                                                                                                                                 没找到方法!!!!                                                                                                                                                                         

还是用的CesiumLab:首页 地球可视化实验室.团队致力于提供基础应用开发,助力数字孪生从业者,开发相关业务。 (cesiumlab.com)    参考加载方法:【CesiumJS-2】自定义地图图层与加载地形服务_cesium自定义地形-CSDN博客       

代码:

  // 加载地形数据
  viewer.scene.setTerrain(
    new Cesium.Terrain(
      Cesium.CesiumTerrainProvider.fromUrl('http://localhost:9003/terrain/qQlrym3I/', {
        requestWaterMask: true,
        requestVertexNormals: true
      })
    )
  )
  viewer.camera.flyTo({
    destination: Cesium.Cartesian3.fromDegrees(101.999731, 27.999773, 4000),
    orientation: {
      heading: Cesium.Math.toRadians(0),
      pitch: Cesium.Math.toRadians(-90),
      roll: 0
    }
  })

                                                                                                                                                                                                                                                                                                                                                                                                                                            

  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值