QGIS地图瓦片生成工具使用介绍(目前仅支持QGIS2.X)_qgis 瓦片地图-程序员宅基地

技术标签: GIS  QGIS  切图  瓦片  

1 软件介绍

QGIS的制图相当漂亮,而且也开源。于是便基于QGIS进行切图工具的开发,该软件是本人的毕业设计,它借鉴了诸多博硕士论文成果,并研究了多款开源GIS软件源码,采用当下主流的瓦片切割算法开发而成。为了提高切割效率,对部分QGIS源码进行了重构。下面就其特点进行简单介绍。

特点

1.操作简单,只需简单输入,即可切片。
2.采用多线程缓存切片,超高的切片效率。
3.支持设置瓦片大小,满足不同需求。
4.用户可随时取消正在进行的切片。

使用方法

1.首先使用QGIS配置一套自己需要的地图,例如下图
在这里插入图片描述
2.点击项目-保存,如果是首次创建项目,则会弹出如下对话框
在这里插入图片描述
输入文件名和保存路径,点击保存即可,例如这里保存为F:\VBF\Data\QGIS\shp\VBFCommonMap.qgs.
3.运行切图工具SliceMapTool.exe如下在这里插入图片描述
在这里插入图片描述
输入需要的LOD范围,瓦片大小(一般为256),经纬度范围,瓦片保存路径,配置文件选择刚刚保存的QGIS工程文件(后缀为.qgs)如下
在这里插入图片描述
选择之后点击开始切片(如果工程文件较大,则会加载一会儿)首先会计算瓦片块数和大约占用空间
在这里插入图片描述
选择yes开始切片
在这里插入图片描述
等待切图完成即可,在这个过程中可以随时取消切片。
最后打开刚保存的文件夹即可看到切好的瓦片
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

切片规则(WGS84地理坐标系)

范围:(-180,-90,180,90)
金字塔模型
下面以此类推

瓦片存储规则

    Lod/行/列.png

如何在QGIS中加载生成的瓦片

点这里

注意事项

1.在配置面要素标注时,一定要选择位于整个多边形内。有任何问题,请留言,或加q群:787254386
2.下载链接,提取码:k61x
3.本瓦片坐标为地理坐标系,瓦片组织规则与Google的地理坐标系瓦片不同,不同点如下:
(1)Google从1级开始,本瓦片从0级
(2)Google存储为,级别/列/行,本瓦片为,级别/行/列
(3)Google行号编码从90开始,本瓦片从-90开始
4.特别注意注意注意注意注意注意,目前仅支持QGIS2.X工程文件

更新

2019/9/23
版本:v0.2
详情:添加对栅格数据的支持


2020/10/30
版本:v0.3
更新内容:
1.删掉权限
2.修复乱码问题
3.修复不能切换工程切片问题
4.优化代码


20210130
版本:0.4
更新内容:
1.修复不可见图层(配置工程时,勾选为不可见)渲染问题


20210903
版本:0.5
更新内容:
1.修复标注拼接问题
2.设置背景为透明
3.界面调整
4.优化逻辑
5.优化切图效率
6.使用QSettings
7.增加切图用时


20230417
版本:0.6
更新内容:
1.引入多任务切片,优化缓存,重构部分QGIS代码,大幅提高切图效率,实际测试提高近66%
以下是对比图:
0.5版本
0.6版本

文末附上一些教程:
开源GIS视频教程 点这里 密码:498202
开源gis视频介绍点这里 密码:498202
大数据课程: 点这里 密码:498202
Python相关: 点这里 密码:498202

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/a374682949/article/details/100167869

智能推荐

java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationB-程序员宅基地

文章浏览阅读788次。搭建spring cloud的时候,报以下错误:java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.<init>([Ljava/lang/Object;)V 是由于spring boot版本兼容性导致的,在pom.xml中修改配置文件,修改前:..._nosuchmethoderror: 'void org.springframework.boot.builder.springapplicationb

去除全局设置的box-sizing:border-box_box-sizing去除-程序员宅基地

文章浏览阅读4.1k次。只需要给不需要box-sizing:border-box的元素上加上box-sizing:content-box 就行_box-sizing去除

JavaWeb(14) 页面静态化之使用freemarker模板生成一个html静态页面_java实现静态模板-程序员宅基地

文章浏览阅读6.2k次。题外话: 页面静态化(展示数据从JSP页面变成HTML页面)实现方式-->模板技术 从本质上来讲,模板技术是一个占位符动态替换技术。一个完整的模板技术需要四个元素:①模板语言(使用的语法) ②包含模板语言的模板文件(.ftl结尾) ③模板引擎(jar包)④拥有动态数据的数据对象 FreeMarker是一款模板引擎:即一种基于模板和要改变的数据,并用来..._java实现静态模板

CRC16-CCITT校验算法实现(C#版)_c# static byte[] datacrc16_ccitt-程序员宅基地

文章浏览阅读6.4k次。public ushort[] CRC16Table = { 0x0000, 0x1189, 0x2312, 0x329B, 0x4624, 0x57AD, 0x6536, 0x74BF, 0x8C48, 0x9DC1, 0xAF5A, 0xBED3, 0xCA6C, 0xDBE5, 0xE97E, 0xF8F7,_c# static byte[] datacrc16_ccitt

android 图片压缩避免内存溢出的解决办法-程序员宅基地

文章浏览阅读462次。在android中的很多应用中都需要拍照上传图片,随着手机的像素越来越高,拍摄的图片也越来越大。在拍摄后显示的时候,使用universalimageloader.这个开源项目可以避免内存溢出。但是在上传的时候,一般需要压缩,但是压缩的时候很容易导致内存溢出。解决的办法就是,压缩后的二进制流,不用导出Bitmap,而是直接存储为本地文件,上传的时候直接通过本地文件上传。代码如下:1.图片压缩获..._android压缩图片会造成内存溢出

Subnet简介-程序员宅基地

文章浏览阅读2.9w次,点赞2次,收藏13次。Subnet(子网)在一般的概念中,有两个基本含义:1 这个子网的网段(CIDR)和IP版本;2 这个子网的路由(含默认路由)。事实上,Subnet模型也确实有这两个字段cidr和ip_version,分别表示一个子网的网段和IP版本。另外Subnet模型还有两字段gateway_ip和host_routes,表示一个子网的路由信息。gateway_ip是这个子网的默认网关IP。host_rout..._subnet

随便推点

Ubuntu20下安装QT5.9_qt-opensource-linux-x64-5.9.0.run-程序员宅基地

文章浏览阅读977次。安装c语言和c++环境在终端中输入sudo apt-get install gccsudo apt-get install g++使用清华开源软件镜像进行下载https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.9/5.9.0/进入下载文件所在的位置,进入终端执行命令chmod +x qt-opensource-linux-x64-5.9.0.run然后点开刚刚那个安装包下载即可(这里我全部勾选安装了)安装统一字体配置库_qt-opensource-linux-x64-5.9.0.run

opencv-python常用函数解析及参数介绍(八)——轮廓与轮廓特征_python opencv提取圆轮廓-程序员宅基地

文章浏览阅读986次,点赞2次,收藏9次。在前面的文章中我们已经学会了使用膨胀与腐蚀、使用梯度、使用边缘检测的方式获得图像的轮廓,那么在获得轮廓后我们可以对图像进行什么样的操作呢?本文将介绍轮廓的绘制与轮廓特征的使用。_python opencv提取圆轮廓

linux redis自动关闭问题_linux redis启动 linux redis启动一会后自动关闭-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏5次。linux 自动关闭的问题问题:redis.clients.jedis.exceptions.JedisDataException: MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured_linux redis启动 linux redis启动一会后自动关闭

【SpringCloud-Alibaba系列教程】14.一文教你入门RocketMQ_《芋道 spring cloud alibaba 消息队列 rocketmq 入门-程序员宅基地

文章浏览阅读560次。<本文已参与 RocketMQ Summit 优秀案例征文活动,点此了解详情>MQ简介MQ(Message Queue)是一种跨进程的通信机制,用于消息传递。通俗点说,就是一个先进先出的数据结构。MQ应用场景异步解耦很多场景不使用MQ会产生各个应用见紧密耦合在在一起,其实我们要遵循的原则就是高内聚低耦合,通过上图我们就可以看到,消息生产者,不管消息消费者状态如何,生产好的消息就直接投递到MQ中,消息消费者也是同样,不管消息生产者如何,只取MQ中的消息进行处理。这是解耦.._《芋道 spring cloud alibaba 消息队列 rocketmq 入门

基于微信小程序的校园导航小程序设计与实现_简单的校园导航微信小程序怎么弄-程序员宅基地

文章浏览阅读1k次,点赞23次,收藏41次。今天带来的是基于SpringBoot的校园导航微信小程序设计与实现,智能化的管理方式可以大幅降低学校的运营人员成本,实现了校园导航的标准化、制度化、程序化的管理,有效地防止了校园导航的随意管理,提高了信息的处理速度和精确度,能够及时、准确地查询和修正建筑速看等信息。课题主要采用微信小程序、SpringBoot架构技术,前端以小程序页面呈现给学生,结合后台java语言使页面更加完善,后台使用MySQL数据库进行数据存储。微信小程序主要包括学生信息、校园简介、建筑速看、系统信息等功能。_简单的校园导航微信小程序怎么弄

The server time zone value ‘�й���׼ʱ��‘ is unrecognized or represents more than one time zone.-程序员宅基地

文章浏览阅读33次。java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone.