使用geoserver发布超大TIF文件过程记录--FWTools工具切片

尝试直接发布图层

由于冤种客户给的tif文件太大了,有11.4G,直接使用geoserver发布图层会发现每次加载的时候,等待时间会特别长,基本没有使用体验。所以去查找看看有没有办法将文件进行切片处理,再进行发布。

FWTools工具的下载和使用

下载地址:http://fwtools.maptools.org/ 。这里我安装的是windows版
下载FWTools工具

按自己安装软件的习惯进行安装。这个我们使用的这个功能需要用到python,我电脑安装的是python2。
使用python3会报错

TypeError: 'float' object cannot be interpreted as an integel

主要原因是:
python2和python3中运算符的区别,python2中的/等价于python3的//,在python3中,//表示取整除 - 返回商的整数部分 (向下取整)。
我们要用的工具使用的是python2的写法。

fwtools247版本有一个bug,需要我们去 软件安装主目录/bin/gdal_retile.py文件中查找第273行 end=’ ‘,并将end=’ '去掉。修改成如下图。

修改文件

尝试使用命令 python.exe F:\FWTools2.4.7\bin\gdal_retile.py -v -r bilinear -levels 10 -ps 8000 8000 -co "TILED=YES" -co COMPRESS=JPEG -targetDir F:\geoserver-2.21.2-bin\data_dir\data\arcIn F:\geoserver-2.21.2-bin\data_dir\data\arcIn\hhg-0528-3857.tif 来进行切片的操作。
记得将 F:FWTools2.4.7\ 换成你自己的软件安装路径

一些基础参数的解释:

  • -level 10 代表分级,我的原始文件过大所以我调高了一些。
  • -ps 8000 8000 代表切片大小为 8000*8000
  • COMPRESS JPEG 代表按照jpeg方式压缩
  • -targetDir F:\geo… 表示 在哪里存放切片后的文件
  • F:\geoserver-2.21.2-bin\data_dir\data\arcIn\hhg-0528-3857.tif 最后的文件表示要将谁进行切片

在运行命令后开始的时候,我遇到了无法引入gdal插件的报错。我们可以去https://www.lfd.uci.edu/~gohlke/pythonlibs/这里下载gdal包来进行安装。

主要要与自己的python版本匹配。我的python版本是2.7.16。所以我选择的是下图中标出的文件。

gdal

然后使用pip install GDAL‑2.2.4‑cp27‑cp27m‑win_amd64.whl 来进行安装。之后再运行命令就可以了。
再之后会是一个漫长的等待过程,等待命令行输出FINISHED 。

geoserver扩展ImagePyramid安装

https://geoserver.org/release/2.21.2/

在上边的网址下载ImagePyramid扩展。注意链接后边的/2.21.2要与你当前的geoserver一致。
在这里插入图片描述

下载完成后将zip文件解压至F:\geoserver-2.21.2-bin\webapps\geoserver\WEB-INF\lib 目录下。重启geoserver服务。在添加数据源界面就可以看到ImagePyramid选项。

新建数据源

切片后发布

添加栅格数据源,链接参数输入file:data/pyramid。file:是固定的,data/pyamid 是相对于geoserver主目录下/data_dir 文件夹的相对路径。
我的切片后数据就放在了 geoserver主目录/data_dir/data/pyramid 下边。

添加栅格数据

发布新图层,点击新建以后,选择刚才新加的储存仓库,然后点击发布。

新建图层

这里有两个基本的操作。第一个是选择你要用的坐标参考系统,第二个是从数据中计算边框。之后点击保存

编辑图层

点击下图位置,就可以进行图层预览了。

预览

发现图层响应速度正常了。至此结束。

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值