Cesium 关于tif数据的切片、发布及tif黑边问题(处理为影像切片)

最近拿到了一个tif格式的数据,想处理成地图服务供项目加载。

第一种方式使用arcmap处理,使用arcgis server发布。

第二种方式是使用cesiumlab处理,使用tomcat发布。

 

以上两种方式都得经过数据的坐标系的校对。我们知道在cesium里目前支持的是4326地理坐标系及3857投影坐标系,所以我们得在arcmap里处理成4326的坐标系。(由于本人这里处理的是无人拍摄的点云高清通道,所以可以通过cc导出,在导出的时候设置为4326即可)

arcmap中处理坐标过程:

Cesium 关于tif数据的切片、发布及tif黑边问题(处理为影像切片)

 

以上就处理好了tif的坐标问题,此时在arcmap里打开是这样的:

Cesium 关于tif数据的切片、发布及tif黑边问题(处理为影像切片)

年少轻狂的我,自认为黑边是没问题的,开始认为我只要将tif切片的时候,切成png格式,那么加载的时候就看不到这个黑边了。实际上,,就算切成png格式还是会有黑边。所以我们要对黑边的问题也要处理,等下会介绍下黑边的两种简单的处理方式。

这里是我使用cesiumlab切成png之后的加载效果:

Cesium 关于tif数据的切片、发布及tif黑边问题(处理为影像切片)

先忽略黑边的问题,谈下怎么切片发布,此处也有两种方式,第一种是通过arcmap直接发布切片服务,也就是发布成mapserver服务,第二种是通过ceisumlab进行切片,切成xyz格式的数据,然后通过tomcat发布。

a)、通过arcmap进行切片,通过arcgis server发布,主要步骤如下:

切片建立缓存:

Cesium 关于tif数据的切片、发布及tif黑边问题(处理为影像切片)

arcgis server 发布:

Cesium 关于tif数据的切片、发布及tif黑边问题(处理为影像切片)

加载:

copy下上面的rest url即可看到服务的详情了。但是我在cesium中加载的时候,一直提示跨域,就算配置了arcgis server 的tomcat也一样提示跨域,不知为啥,后面再研究吧。

注:这里我是将tif切成了png格式的arcgis cache结构的数据,也可通过geowebcache进行发布。那么这样就可以绕开argis server 的发布过程了,没时间尝试,后面有结果了告诉大家,可以先关注这篇文章。

没办法只能采取cesiumlab进行切片:

切片过程不赘述了,傻瓜式操作,最后的效果就是上面带黑边的效果,文件结构如下:

Cesium 关于tif数据的切片、发布及tif黑边问题(处理为影像切片)

加载方式为xyz请求。

 

下面说下关于黑边的处理过程,两种方式:

1、在arcmap里设置nodata为0;

方式a):

Cesium 关于tif数据的切片、发布及tif黑边问题(处理为影像切片)

然后导出tif,用cesiumlab处理,此时处理也不需要设置alpha了。

方式b):导出tif,设置nodata为0,然后用lab处理。

Cesium 关于tif数据的切片、发布及tif黑边问题(处理为影像切片)

2、用ceisumlab切片时,设置如下:设置为透明色即可。

Cesium 关于tif数据的切片、发布及tif黑边问题(处理为影像切片)

 

以上就简单介绍了tif的相关处理及去黑边的过程:

最终效果如下:

 Cesium 关于tif数据的切片、发布及tif黑边问题(处理为影像切片)

大家有什么疑惑或者不明确的地方可以给我留言或私信,如果有说的不对的地方,也请大家指正。