首页 > 其他分享 >gdal2tiles切图_wml00000的博客

gdal2tiles切图_wml00000的博客

时间:2023-07-31 09:46:44浏览次数:55  
标签:wml00000 切图 切片 文件夹 瓦片 gdal2tiles tif

gdal2tiles切图

文章目录

切图流程

从原始数据获取所需的最高级别的瓦片,更低级的瓦片只需从这些最高级瓦片一层一层生成.

这样速度更快:因为最高级的瓦片只能利用gdal从原始tif中获取,其速度受tif尺寸影响很大,且从tif上取得级别越低,单次所取范围越大,速度也越慢.举个实际的例子,从原始tif上获取某位置17级的瓦片的时间将远远大于从原始tif获取4张对应位置的18级瓦片,并将其合成的时间.

首先会读取元数据中的坐标范围信息,通过坐标范围在全球中的位置关系可以计算出需要生成的图片编号。如下图所示:

在这里插入图片描述

图中的白色实际为透明色,原因是该等级下数据范围只占那么大。

Cesium前端加载逻辑相同,首先获取tilemapresource.xml中的extent,当extent与当前浏览器窗口有交集时才会请求瓦片。

瓦片合并

应用场景:

高分辨率的tif影像数据量高达上百GB,如果直接对其进行切片操作会比较费时,可以先将其分割成多个tif,每个tif分别执行切片操作,最后将瓦片合并到一个文件夹供前端调用。

存在问题:

每个tif切片时都可能会生成同文件夹且同名的瓦片文件,如果直接进行文件夹复制,会导致图像被覆盖,无法展示完整范围的图像。如下图所示:

在这里插入图片描述

正常想要的应该是左下角的效果,但是如果直接用文件夹复制,就会导致最后只保留右侧中的一张图片。

问题解决:

在每个tif生成切片时,直接往同一个文件夹生成,在生成png时先判断如果文件夹名称相同且png名称相同的话,需要执行图片合并操作,将两张图片合并为1张。(gdal2tiles.py中实际上有这部分逻辑,需要在调用命令行时加上重采样参数-r antialias,里面会执行Image.composite方法,但是需要注意每个tif切片时对于tilemapresource.xml的更新需要在源码上修改一下,源码中是直接对tilemapresource.xml进行覆盖,应该是进行比较后动态更新里面的数值)

注:如果涉及到切片合并,需要保证待合成的图像都是在antialias重采样模式下生成的,才能够成功合并,否则可能出现黑图情况。

参考链接

[1]. gdal2tiles.py

[2]. gdal2tiles.py翻译版

[3]. gdal2tiles工具

[4]. How it works(14) GDAL2Tiles源码阅读

本文转自 https://blog.csdn.net/wml00000/article/details/130517935?spm=1001.2014.3001.5502,如有侵权,请联系删除。

标签:wml00000,切图,切片,文件夹,瓦片,gdal2tiles,tif
From: https://www.cnblogs.com/hustshu/p/17592641.html

相关文章

  • Unity的UGUI用TexturePacker全自动打图集,包括九宫格切图信息
    @TOC前言最近在学习UGUI的打图集,之前一直在用SpritePacker和SpriteAtlas打图集,现在记录下另一种打图集方式:TexturePacker主要是讲如何自动打图集到Unity,并且不丢掉九宫格信息,以及一些参数的设置环境准备1.unity版本2019.4.10f12.TexturePacker安装官网,支持正版,支持正版,支持正版ht......
  • 前端切图之svg图标的复用基于defs和use 亲测有用
    切图网长期致力于web前端开发外包服务,而我们也关注到现在图标很多时候采用svg更多一点,然后图标字体文件已经提供了很多种类的图标,不过采用svg图标可以自行选择更符合、更好......
  • 图数据库中的“分布式”和“数据切分”(切图)
    今天,我试着简要综述几类不同的图数据库的分布式与切图的设计,希望可以帮助大家了解不同项目、产品的设计差异。如果有理解不对的地方,欢迎留言讨论。什么是分布式系统一般......
  • 切图网2023年改版
    切图网2023年改版,对整体风格进行了调整,更加简约。其实我们每年都会给网站进行改版,这次也是情理之中,其中用到了数字滚动插件countUp,图片预加载lazyload、滑块效果插件swiper......
  • 【Photoshop】切图保存小坑(选择png格式得到gif问题)
    默认情况下:Photoshop导出切片为【GIF】格式当你很嗨皮的把【GIF】调整为【PNG】或【JPG】格式,并保存时:  你会发现,自己的图片格式莫名其妙还是【GIF】:但,我们的期......
  • 小程序 canvas(老写法) 图片切图(一张图片切成3*3 、6*6 、长宽均等)
    <viewclass='sudoku'><viewclass='canvas-box'><canvascanvas-id='canvasIn'id='canvas'class='canvascanvas-in'style='{{canvasWH}}'wx:if='{{canvasI......
  • 前端必备ps切图方法,拿下ui设计师就靠它了。
    方法1(图层切图):点击源psd文件中需要的图片,右击鼠标选择导出为png,保存即可.图片与文字在两个或两个以上图层上的时候,按住Control选择多个图层,右键选择合并图层(快捷键:Cont......
  • canvas处理切图并旋转图片
    场景描述需要把大图中的框的图片给显示出来~类似下图如果将图片倒置,则显示对应倒置的图片~类似下图代码实现letbase64Canvas=document.createElement('canvas');......
  • ps切图
    随便打开一张图片  按住alt键+鼠标滚轮调整大小  按shift+h拖动到合适的位置  按alt键,然后按m键进行选取  多余的部分再次选取移除调,确保边缘没有......
  • css布局与“切图”
    CSS布局与“切图”很多朋友问到关于在网页设计中,特别是使用CSS布局的时候,如何切图的问题,今天就来说说这个问题。在过去,使用表格布局的时候,通常是整个页面在Photoshop或者Fi......