gdal2tiles切图

news2024/9/26 1:25:03

gdal2tiles切图

文章目录

  • 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中实际上有这部分逻辑,但是需要注意每个tif切片时对于tilemapresource.xml的更新需要在源码上修改一下,源码中是直接对tilemapresource.xml进行覆盖,应该是进行比较后动态更新里面的数值)

参考链接

[1]. gdal2tiles.py

[2]. gdal2tiles.py翻译版

[3]. gdal2tiles工具

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/495222.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL安装配置教程(保姆级,包含环境变量的配置)适合小白

文章目录 MySQL安装教程下载链接官网下载安装配置环境变量配置 MySQL安装教程 下载链接 点击下载链接 官网下载 官网下载 2.官网下载 3.官网下载 4.官网下载 5.官网下载 这里我们无需注册,只需要点下载就好 安装配置 1.安装配置   选择第一个 2.安装配置…

FreeRTOS 空闲任务

文章目录 一、空闲任务详解1. 空闲任务简介2. 空闲任务的创建3. 空闲任务函数 二、空闲任务钩子函数详解1. 钩子函数2. 空闲任务钩子函数 三、空闲任务钩子函数实验 一、空闲任务详解 1. 空闲任务简介 当 FreeRTOS 的调度器启动以后就会自动的创建一个空闲任务,这…

【C++从0到王者】第二站:类和对象(中)构造函数与析构函数

文章目录 一、C的六个默认成员函数二、构造函数和析构函数1.构造函数①构造函数的概念②构造函数的特性 2.析构函数①析构函数的概念②析构函数的特性 3.构造函数的其他特性4.构造函数总结5.一些不写构造函数的样例6.析构函数的其他特性 一、C的六个默认成员函数 如果一个类中什…

go与其他语言区别,go与Java、Python有什么区别

零、go与其他语言 0、什么是面向对象 在了解 Go 语言是不是面向对象(简称:OOP) 之前,我们必须先知道 OOP 是啥,得先给他 “下定义” 根据 Wikipedia 的定义,我们梳理出 OOP 的几个基本认知: …

【转存】Go语言设计模式

导语| 设计模式是针对软件设计中常见问题的工具箱,其中的工具就是各种经过实践验证的解决方案。即使你从未遇到过这些问题,了解模式仍然非常有用,因为它能指导你如何使用面向对象的设计原则来解决各种问题,提高开发效率&#xff0…

[漏洞分析] 用chatGPT分析CVE-2023-0386 overlay内核提权

文章目录 漏洞简介环境搭建漏洞原理补丁分析命名空间用户命名空间 overlay文件系统原理创建一个overlay文件系统 漏洞触发逻辑 漏洞利用fuse文件系统漏洞利用touch命令冷知识exp 总结参考 本文的理论知识(命名空间、overlay文件系统、fuse文件系统等)均来…

档案馆库房环境温湿度空气质量等相关要求

档案库房防潮工作,就是要将库内相对湿度控制在规定的范围之内,这个范围就是由建设部和国家档案局共同批准颁布的强制性行业标准《档案馆建设设计规范》对档案库房的温湿度范围已作出明确的要求:温度14℃~24℃,湿度45%&…

深入理解Java虚拟机——垃圾回收算法

1.前言 垃圾回收需要完成的三件事 首先我们需要明白垃圾回收需要完成的三件事: 哪些内存需要回收 堆内存中的对象所使用的内存方法区中的废弃的常量以及不再使用的类型 什么时候回收 当对象死亡方法区中某些内容(常量和类型)不再被使用 如…

AI绘画天花板——Midjourney注册使用保姆级教程(5月5日验证有效)

大家好,我是可夫小子,关注AIGC、读书和自媒体。解锁更多ChatGPT、AI绘画玩法。加我,备注:aigc,拉你进群。 现在市面上AI绘图大概有三大阵营:Midjourney、Stable Diffusion,还有一个就是OpenAI实…

HashSet和HashMap内部结构分析

首先明确一点:HashSet的底层就是HashMap HashSet与HashMap的不同点: HashMap存储的是键值对(也就是key-value),即在调用HashMap的put方法时传入的两个值,而HashSet其实也是存储的键值对,但是键…

TR0ll

总结:提权思路上,利用内核漏洞提权;找可编辑的计划任务脚本:反弹shell;创建可执行的root文件,获取root权限;写入ssh公钥。 思路:思路是来说就是正常的思路,找ip&#xf…

【c语言】字符串复制 | API仿真

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 给大家跳段街舞感谢支持&#xff01;ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ …

CentOS 7.x 安装 JDK1.8

1. JDK 下载 地址: Java Archive | Oracle 我这里选择的版本为 jdk-8u361-linux-x64.rpm 将 JDK 安装包通过 ftp 工具上传到 CentOS 系统&#xff0c;我这里使用 WinSCP 上传到 /usr/java 目录下(目录不存在的话就新建)。 2、进入 CentOS 终端&#xff0c;查看是否有默认安装…

Java简介和基础语法

文章目录 一、java简介二、Java 基础语法总结 一、java简介 通过一个简单的实例来展示 Java 编程&#xff0c;创建文件 HelloWorld.java(文件名需与类名一致), 代码如下&#xff1a; public class HelloWorld {public static void main(String[] args) {System.out.println(&q…

pycharm 安装gerrit插件

安装Gerrit File -> Settings -> Plugins&#xff0c;搜索Gerrit&#xff0c;如果没有安装&#xff0c;就选择install&#xff0c;安装完成后重启IDEA 配置Gerrit File -> Settings -> Version Control&#xff0c;输入Gerrit web-ui登录地址以及账号密码 Passow…

c#笔记-方法

方法 方法定义 方法可以将一组复杂的代码进行打包。 声明方法的语法是返回类型 方法名 括号 方法体。 void Hello1() {for (int i 0; i < 10; i){Console.WriteLine("Hello");} }调用方法 方法的主要特征就是他的括号。 调用方法的语法是方法名括号。 He…

K8S:K8S自动化运维容器化(Docker)集群程序

目录 一、K8S概述 1、什么是K8S 2、为什么要用K8S 3、作用及功能 二、K8S的特性 1、弹性伸缩 2、自我修复 3、服务发现和复制均衡 5、自动发布和回滚 6、集中化配置管理和秘钥管理 7、存储编排 8、任务批量处理运行 三、K8S的集群架构 四、K8S的核心组件 1、Mast…

Type-C接口供电小功率设备解决方案

随着Type-C接口的普及&#xff0c;全球使用Type-C接口的设备在稳步上升&#xff0c;因为它更方便&#xff0c;更安全&#xff0c;更环保&#xff0c;如今在生活中可谓是随处可见。 那么在传统的小功率设备大部分还在使用DC圆头供电&#xff0c;虽然成本很低&#xff0c;但是此类…

数字化转型利器,云表无代码“打破”工业软件开发壁垒

近年来&#xff0c;“数字化”概念成为了各行各业的“热词”&#xff0c;作为与信息化程度高度相关的工业软件&#xff0c;在数字化转型中扮演着不可或缺的角色。据 Gartner最新研究数据显示&#xff0c;目前中国工业软件市场规模已经达到了380亿美元&#xff0c;但与发达国家相…

ArcMap最短路径分析和网络数据集的构建

打断相交点 1.单击【编辑器】工具条上的编辑工具。 2.选择要在交叉点处进行分割的线要素。 3.单击【高级编辑】工具条上的打断相交线工具。 4.默认或可输入拓扑容差。 5.单击确定。 结果:所选线在相交处分割为多个新要素。“打断”操作还会移除叠置的线段-例如&#xff0…