内江企业网站建设公司,怎么做门户网站设计方案,互联网广告营销,wordpress 修改搜索目录 前言
一、Qgis的相关功能
1、数据准备
2、将两个xyz图源添加到图层 二、Qgis栅格工具生成
1、生成xyz图块工具在哪里 2、生成xyz图块怎么用
3、下载结果 4、Leaflet加载离线瓦块 总结 前言 在上一篇博客中#xff0c;介绍了一种在Qgis中基于QMetaTiles插件进行xyz瓦…目录 前言
一、Qgis的相关功能
1、数据准备
2、将两个xyz图源添加到图层 二、Qgis栅格工具生成
1、生成xyz图块工具在哪里 2、生成xyz图块怎么用
3、下载结果 4、Leaflet加载离线瓦块 总结 前言 在上一篇博客中介绍了一种在Qgis中基于QMetaTiles插件进行xyz瓦片离线下载的技术实现方式原文地址在Qgis中使用QMetaTiles插件进行XYZ瓦片离线下载方法。如果不是特别要求这种技术实现的方案是可以满足瓦片离线化的基本要求。不知道有没有亲自实践的小伙伴如果有的话不知道在实践过程中您有没有发现QMetaTiles插件的一些问题。 这里将个人在使用QMetaTiles插件进行瓦片离线化的时候遇到的问题列一下欢迎有一样问题的小伙伴在评论区留个言知道怎么解决的更希望可以告知于我。是否在参数的设置上面出现了问题。
采用QMetaTiles插件在大范围瓦片下载过程中极有可能部分瓦片不能正确下载。导致在使用Leaflet浏览时给用户的感觉是图片错误。使用QMetaTiles下载瓦片时必须要提前安装插件。QMetaTiles下载的瓦片如下图所示 在采用上述的方案时还需要在Qgis软件环境中安装QMetaTiles插件也是一件不太方便的事情。作为喜欢偷懒的我们有没有一种更快捷的方式既不用安装插件也能下载地图瓦片同时能将两个不同的图层进行合并成一个瓦片呢 答案是肯定的。本文将重点介绍在Qgis中直接利用现有功能就能完成XYZ瓦片的下载方式详细介绍如何进行软件操作然后使用Leaflet对下载的瓦片进行综合展示。
一、Qgis的相关功能
1、数据准备 我们这里的需求是需要使用Qgis将星图地球的3-4级地图影像和标注图层进行统一合成下载。因此在Qqis中将星图地球的底图影像和标注影像添加到窗口中。具体操作步骤如下 新建xyz连接首先添加地图影像地址到Qgis当中连接信息如下 具体的连接如下所示
https://tiles2.geovisearth.com/base/v1/img/{z}/{x}/{y}?secretIdH7ILfZkmmyCjwSYt5doCpsABO6AclientIdcaa9e56a-615b-4cdf-e566-29e5784eb31dexpireTime1687048132sign2e7a293a7c0642117d1e45ce2b4483d3cd183223361a51c755b75a4d04aa41f5 同样的方式把标注图层也添加到Qgis当中来添加页面如下所示 链接地址如下
https://tiles3.geovisearth.com/base/v1/cia/{z}/{x}/{y}?secretIdH7ILfZkmmyCjwSYt5doCpsABO6AclientIdcaa9e56a-615b-4cdf-e566-29e5784eb31dexpireTime1687048132sign2e7a293a7c0642117d1e45ce2b4483d3cd183223361a51c755b75a4d04aa41f5
2、将两个xyz图源添加到图层 将上面两个xyz图源添加到图层窗口中这里需要注意一下添加的时候要注意一下顺序。通常情况下影像图层是放在最下面的作为底图进行展示的因此在xyz图源处双击数据源即可完成图层添加。在底图之上叠加标记图层让底图看起来更丰富一些。具体效果如下所示 如果在图层添加的过程中图层的顺序添加错了也可以在图层窗口中进行调整。鼠标右键点击图层比如移到底层即可完成当前图层移到最底层。 二、Qgis栅格工具生成 跟Arcgis一样Qgis同样也有很丰富的工具箱支持而且都是开箱即用的。帮助用户在进行空间数据分析时专注数据的展示。本文讲述的XYZ瓦片生成的基础也是使用Qgis中的栅格工具具体的工具是【生成xyz图块目录】。就是支持图层中的瓦片以xyz的形式输出到指定的目录中。
1、生成xyz图块工具在哪里 在Qgis软件的工作窗口中一般处理工具箱的位置位于操作界面中的右侧。在这里集成了许多有用的工具包括今天的主角栅格工具。 2、生成xyz图块怎么用 鼠标双击生成xyz图块目录链接在这个链接的上面还有一个工具也是生成xyz图块的只不过它是以MBTiles的方式进行存储MBTiles这种格式下次可以专门来说一次。本文不进行展开叙述。点开之后出现如下参数设置页面 需要设置的参数信息如下描述
序号参数说明1extend图层的下载范围可以从当前图层进行选择2minzoom下载的最小层级3maxzoom下载的最大层级4DPI96分辨率5背景颜色默认透明6tile format瓦片格式默认png可以有jpg7tile质量当瓦片格式为jpg时可以设置图片质量8图块宽度2569图块高度25610瓦块输出目录具体保存瓦块的目录11加载示例生成leaflet加载示例程序的位置 以上参数设置完成后点击运行按钮完成工具的运行。可以在界面中看到实时的进度和命令的执行参数跟踪情况日志情况等等。 在记录tab页中可以看到瓦片的下载情况。摘录一部分展示如下
QGIS版本3.16.0-Hannover
QGIS代码版本43b64b13f3
Qt版本5.11.2
GDAL版本3.1.4
GEOS版本3.8.1-CAPI-1.13.3
PROJ版本Rel. 6.3.2, May 1st, 2020
处理算法...
正在启动“生成 XYZ 图块目录”算法…
参数输入
{ BACKGROUND_COLOR : QColor(0, 0, 0, 0), DPI : 96, EXTENT : -20037508.342799999,20037508.342799999,-20037508.342799999,20037508.342799999 [EPSG:3857], METATILESIZE : 4, OUTPUT_DIRECTORY : D:\\wzh_test\\xyzdownload617, OUTPUT_HTML : D:/wzh_test/xyzdownload617/index.html, QUALITY : 75, TILE_FORMAT : 0, TILE_HEIGHT : 256, TILE_WIDTH : 256, TMS_CONVENTION : False, ZOOM_MAX : 4, ZOOM_MIN : 3 }Using 4 CPU Threads:
Generating tiles for zoom level: 3
Generating tiles for zoom level: 4
执行完成花了13.51 秒
结果
{OUTPUT_DIRECTORY: D:\\wzh_test\\xyzdownload617,
OUTPUT_HTML: D:/wzh_test/xyzdownload617/index.html}载入结果图层
算法“生成 XYZ 图块目录”执行已完成
已生成该算法 HTML 格式输出结果。
请打开结果对话框进行检查。 这里详细记录了整个瓦片生成的过程输入参数输出结果执行耗时等非常直观的展示了蒸锅调用过程。
3、下载结果 在刚才设置的瓦片生成目录中可以看到两个层级的瓦片以及一个index.html文件。能看到以下的瓦片信息说明工具执行成功。 4、Leaflet加载离线瓦块 Leaflet加载瓦块的具体技术方式在此不再赘述这里直接贴出具体的代码。
!DOCTYPE html
html
headtitleLeaflet Preview/titlemeta charsetutf-8 /meta nameviewport contentwidthdevice-width, initial-scale1.0link relstylesheet hrefhttps://unpkg.com/leaflet1.5.1/dist/leaflet.cssintegritysha512-xwE/Az9zrjBIphAcBb3F6JVqxf46CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQcrossorigin/script srchttps://unpkg.com/leaflet1.5.1/dist/leaflet.jsintegritysha512-GffPMF3RvMeYyc1LWMHtK8EbPv0iNZ8/oTtHPx9/cc2ILxQu905qIwdpULaqDkyBKgOaB57QTMg7ztg8Jm2Ogcrossorigin/scriptstyle typetext/cssbody {margin: 0;padding: 0;}html, body, #map{width: 100%;height: 100%;}/style
/head
bodydiv idmap/divscriptvar map L.map(map).setView([1.4210854715202004e-14, 8.526512829121202e-14], 3.5);L.tileLayer(file:///D%3A/wzh_test/xyzdownload617/{z}/{x}/{y}.png, {minZoom: 3,maxZoom: 4,tms: false,attribution: Generated by TilesXYZ}).addTo(map);/script
/body
/html温馨提示上述代码中瓦片的发布是以File协议发布的实际项目中是需要发布成http的技术上只要采用nginx或者apache等中间件进行静态资源发布即可。最终加载效果如下 总结 以上就是本文的主要内容本文将重点介绍在Qgis中直接利用现有功能就能完成XYZ瓦片的下载方式详细介绍如何进行软件操作然后使用Leaflet对下载的瓦片进行综合展示。行文仓促如有不当欢迎评论区留言批评指正。