geoserver发布tif影像,关于黑边的问题

解决GIS中的tif格式黑边问题与ImageMosaic优化
文章讨论了在GIS中使用tif格式时遇到的黑边问题,介绍了GeoTIFF格式的支持以及ImageMosaic如何处理大文件并移除黑边。同时提到了图层模块的设置,但缩放时仍存在黑边,引发疑问。

一、tif格式

  1. 支持发布GeoTIFF格式的
  2. 发布的tif格式,无法去除tif的黑边
  3. 发布的tif格式文件不能过大

二、ImageMosaic

  1. 可以发布比较大的tif文件
  2. 可以去除黑边

 

设置后图层,进行访问就发现没有黑边了

三、可以直接到图层模块,通过图层名称进入图层编辑中,设置如下:

这是设置GeoTIFF的时候可以这样去设置,但是通过缩放的时候发现还是有黑边的出现(不知道啥情况)

### 如何通过 GeoServer 发布 TIF 影像并在 Cesium 中加载 #### 准备工作 在开始之前,需确认已成功安装并配置好 GeoServer 和 Cesium。以下是具体操作流程: --- #### 1. GeoServer发布 TIF 数据 要将 TIF 文件作为影像图层发布GeoServer,可以按照以下步骤完成。 ##### 创建工作区 进入 GeoServer 的 Web 界面,在 **Layers** -> **Workspaces** 下创建一个新的工作区[^2]。 命名该工作区以便于后续管理。 ##### 添加数据源 导航至 **Data Stores** 页面,点击“Add new Data Store”,选择适合的存储类型(通常为 “GeoTIFF” 或其他栅格支持格式)。上传准备好的 TIF 文件,并指定其投影坐标系[^5]。 ##### 配置图层 返回主界面后,前往 **Publish Layer** 步骤,定义新图层的相关参数,例如边界范围、分辨率等属性。完成后保存设置。 ##### 测试 WMS/WMTS 输出 确保可以通过浏览器访问生成的服务 URL 地址来验证图像是否正常渲染[^4]。例如: ``` http://localhost:8080/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=test:tif_layer&styles=&bbox=-90,-180,90,180&width=768&height=384&srs=EPSG:4326&format=image/png ``` --- #### 2. TIFF 背景颜色干扰 如果发现发布TIF 图像存在不必要的黑色背景区域,则可通过调整透明度通道实现消除效果[^3]。具体做法如下: - 打开对应图层编辑页面; - 定位到样式部分下的 SLD 编辑器选项卡; - 修改 XML 结构内的 `<ColorMapEntry>` 标签值,将其 opacity 属性设为 `transparent` 对应的颜色编码。 --- #### 3. 在 Cesium 加载 GeoServer 提供的地图服务 当上述准备工作全部就绪之后,就可以利用 JavaScript 将远程服务器上的地理空间资源嵌入到三维场景之中了。 ##### 初始化 Cesium Viewer 实例 首先初始化一个基本视窗组件用于展示最终成果。 ```javascript var viewer = new Cesium.Viewer('cesiumContainer', { terrainProvider : Cesium.createWorldTerrain() }); ``` ##### 动态添加遥感图片覆盖物 借助 ImageryLayer API 方法动态绑定来自外部 RESTful 接口的数据流。 ```javascript viewer.imageryLayers.addImageryProvider( new Cesium.WebMapTileServiceImageryProvider({ url : 'http://localhost:8080/geoserver/gwc/service/wmts?', layer : 'workspace_name:layer_id', style : '', format : 'image/png', tileMatrixSetID : 'GoogleMapsCompatible' }) ); ``` ##### 设置观察视角 为了让用户能够直观看到目标位置的效果,还需要适当调节摄像机的位置与方向向量。 ```javascript viewer.camera.flyTo({ destination : Cesium.Cartesian3.fromDegrees(longitude, latitude, height), orientation : { heading : Cesium.Math.toRadians(heading_angle), // 方向角 (东经正北顺时针旋转角度) pitch : Cesium.Math.toRadians(pitch_angle), // 抬头/低头倾斜程度 (-π 到 π之间变化) roll : 0 // 自身翻转轴偏移幅度,默认水平放置即可满足需求 } }); ``` --- #### 总结说明 以上即完成了整个从本地导入原始素材直至在线可视化呈现的过程描述。值得注意的是实际开发过程中可能还会遇到诸如性能优化、异常处理等问题需要额外关注解决办法。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值