QGIS是一个用户界面友好的桌面地理信息系统,可运行在Linux、Unix、Mac OSX和Windows等平台之上。QGIS是基于Qt,使用C++开发的一个用户界面友好、跨平台的开源版桌面地理信息系统。
QGIS官网:https://www.qgis.org/。
1.1 安装QGIS
下载完后,双击安装,傻瓜式next即可。
安装后,启动界面如下
第一次启动默认语言是英文,我们可以设置语言为中文。
设置好后,重启QGIS即可。
1.2 插件安装
下载影像需要使用插件QuickMapServices。也可以使用自定义图源,这里不做介绍,后续其他地方使用到了再做说明。
安装后,选中插件。
界面会有如下两个按钮
点击选中Settings
执行如下操作,便可以获取更多的互联网地图图源。Google地图图源清晰度是最好的,但是当前Google地图因为政策原因,无法访问,需要科学上网。
选中一个地图图源,便可以在窗口中,看到地图。
1.3 区划范围下载
我们可以使用阿里云提供的区划边界范围下载器,下载感兴趣的区划边界。地址:DataV.GeoAtlas地理小工具系列
下钻到感兴趣的区域,复制接口,在浏览器中请求一下,即可获取geojson格式的区划数据。
保存该区划数据到本地,直接拖动到QGIS供下载影像使用。
数据准备完成,下面就是下载影像数据了。
1.4 影像下载
在范围区域,选中从图层计算,选中我们下载的区划范围。
分辨率根据需要设置,值越小,文件越大,图像越清晰(当然不可能超过图源的最大清晰度)。
关闭在线地图图源图层,可以看到下载的影像的范围是区划范围的外接矩形。
如果业务需求只显示区域范围的影像,还需对影像进行裁剪。下面就进行区域裁剪。
输入图层选择我们下载的影像,掩模图层选择我们下载的区划范围。
裁剪后的影像
下面就是对裁剪后的影像进行切片了,到这里有了裁剪好的影像,切片的软件有很多,使用别的软件也可以,比如可以使用geoserver发布栅格影像,这里直接使用QGIS进行切片。
选择工具箱->栅格工具->生成xyz瓦片目录
参数里的 extent 选择从图层计算,选中我们裁剪后的掩模图层。
最大最小瓦片级别根据项目需要和下载的影像清晰度合理设置。
设置好瓦片的输出位置和使用示例的位置,QGIS给出了使用leaflet.js对切好的瓦片调用的示例。
切好的瓦片目录如下
打开 index.html 可以看到切片已经成功了。
至此,QGIS 下载影像地图并切片就完成了,我们可以将切好的瓦片使用nginx 发布成静态服务,就可以使用了。