GeoServer在Windows环境下发布Tif为WMS失败

GeoServer在Windows环境下发布Tif为WMS失败:

GeoServer发布Tif为WMS


问题描述:

通过GeoServerManager在Windows环境下将Tif发布为WMS后,过程中没有任何异常,但是服务是失败的无法访问。但是在Linux环境下一切正常。以下是发布代码

GeoServerRESTManager manager = new GeoServerRESTManager(new URL(geoServerUrl), geoServerUser, geoServerPassword);
if (!manager.getReader().getWorkspaceNames().contains(workspace)) {
     manager.getPublisher().createWorkspace(workspace);
}
boolean b = manager.getPublisher().publishGeoTIFF(workspace, "tif_"+param.getEpsg(), resourceName, file,
       "EPSG:" + param.getEpsg(), GSResourceEncoder.ProjectionPolicy.FORCE_DECLARED, "光伏_可用区域");           
发布成功后将Linux环境下GeoServer的相同样式复制到Windows,在获取WMTS时候出现异常。
400: Error searching max and min scale denominators for style '光伏_可用区域'.

在这里插入图片描述


原因分析:

WMS发布失败分析:
通过排除法,结合在Linux环境下发布正常,在Windows下文件本地文件路径格式为:E:\test\cd\test\1.tiff。判断为文件路径格式有误。


获取WMTS时候出现异常解决方案分析:
点击样式预览发现编码异常,Windows是GBK编码,Linux估计同事设置了UTF-8。
在这里插入图片描述


解决方案:

发布错误解决方案:
将 \ 符号替换成 / 再次发布后,一切正常。

File file = new File(param.getPath().replaceAll("\\\\", "/"));

获取WMTS时候出现异常解决方案:
把上图中的UTF-8修改为系统的编码,我此处设置为了GBK编码后,一切正常
在这里插入图片描述


总结:

这两个狗问题,搞了我大概三四个小时,特别是发布失败,最奇葩的是,我不改图层的任何参数,点一下保存,发布失败的图层居然就好了???
在这里插入图片描述
当时还以为是GeoServer版本有问题,把Linux服务器下的war包复制到我电脑上测试。搞了半天,全是无用功。上网查又查不到,写个博客给搬砖佬们排坑吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值