700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 使用geoserver发布超大TIF文件过程记录--FWTools工具切片

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

时间:2018-10-02 05:17:35

相关推荐

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

使用geoserver发布超大TIF文件过程

尝试直接发布图层FWTools工具的下载和使用geoserver扩展ImagePyramid安装切片后发布

尝试直接发布图层

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

FWTools工具的下载和使用

下载地址:/ 。这里我安装的是windows版

按自己安装软件的习惯进行安装。这个我们使用的这个功能需要用到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*8000COMPRESS 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。所以我选择的是下图中标出的文件。

然后使用pip install GDAL‑2.2.4‑cp27‑cp27m‑win_amd64.whl 来进行安装。之后再运行命令就可以了。

再之后会是一个漫长的等待过程,等待命令行输出FINISHED 。

geoserver扩展ImagePyramid安装

/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 下边。

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

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

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。