使用Cesiumlab对tiff进行切片处理及在Cesium中加载

 本文章主要介绍了使用Cesiumlab对tiff数据进行处理,生成TMS切片,以及切片之后在Cesium中加载切片数据。

1.使用Cesiumlab对tiff进行切片

切片之前需要在ArcMap中对数据进行处理,首先对tiff数据进行掩膜提取,提取出研究区;进行掩膜提取这一步是为了避免NoData设置为0时(后面会写为什么要设置为0),研究区内出现残缺。

出现残缺情况:

掩膜提取结果:

掩膜提取之后为数据设置图例, 导出数据选择使用渲染器,强制为RGB颜色,保证输出tif为设置的图例颜色;NoData设置为0,防止研究区域之外出现黑边,因为切片格式为png,设置为0则黑边显示透明。

如果NoData不设置为0,会显示黑边:

在ArcMap中导出数据之后,使用Cesiumlab进行切片,选择Cesiumlab中的影像切片,选择刚刚导出的输入文件;设置服务类型为TMS,投影参数为经纬度,瓦片大小选择256;存储类型选择散列,最后选择输出文件夹,提交处理即可

输出文件夹需要放在apache-tomcat服务器的webapps文件夹下才能通过Cesium访问到,然后点击bin目录下的startup.bat文件启动服务器。apache-tomcat服务器可以在官网下载Apache Tomcat® - Apache Tomcat 9 Software Downloads

输出文件夹:

切片结果:

2.使用Cesium加载处理的切片数据

切片完成我们可以通过Cesium.TileMapServiceImageryProvider实例进行加载,写入url,加载切片;url的主机名为localhost,端口号默认8080,主机名+端口号对应到apache-tomcat的webapps目录,后续继续拼接文件路径即可,即:

E:\apache-tomcat-9.0.83\webapps\vegetationClass\heibian

替换为

 http://localhost:8080/vegetationClass/heibian

Cesium加载TMS切片代码(如果加载出现跨域问题可以自行搜索解决,网上列出很多apache-tomcat跨域问题的解决办法)

const CESIUM_SOURCE_PATH = 'http://localhost:8080/vegetationClass/'
let TMSLayer = new Cesium.TileMapServiceImageryProvider({
    url: CESIUM_SOURCE_PATH + `heibian`
}) 
viewer.imageryLayers.addImageryProvider(TMSLayer);

 数据加载结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值