使用QGIS切片,使用Nginx反向代理本地瓦片,并在QGIS加载图层
使用QGIS切片(以tif为例)
- 新建QGIS工程(.qgz)
- 将tif文件拖到图层区
- 打开 工具箱-->栅格工具-->生成XYZ瓦片(目录)
- 设置参数:坐标范围、层级、瓦片格式、输出目录等,点击运行
输出目录不选则默认会生成到C盘的临时目录
- 运行完毕后记录出现这段文字,关闭对话框,点击右下角路径可以预览使用leaflet加载的瓦片图层,瓦片也已经在指定目录生成
使用Nginx反向代理本地瓦片
- 配置端口、代理关键词、代理路径
# 地图瓦片
server {
listen 8200;
server_name localhost;
location /map/ {
alias E:/qgis_files/影像/test_tile_output/;
add_header Access-Control-Allow-Origin '*';
add_header Access-Control-Allow-Credentials "true";
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'token,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,XRequested-With';
if ($request_method = 'OPTIONS') {
return 200;
}
}
}
- 启动nginx,访问
http://localhost:8200/map/1/1/1.png
(端口和map替换成自己配置的),能够访问瓦片则代理成功
如果报错404或其他,无法正常访问,可查看nginx目录下 \logs\error.log 错误日志
在QGIS加载XYZ图层
- QGIS 图层-->添加图层-->添加XYZ图层…
- 点击新建,在对话框中填写名称和URL,点击OK
- 在下拉选项中选择刚刚新建的连接,点击添加
- 可以看到瓦片图层。可以双击图层切换到源标签调整CRS为4326
关于目录的设置。我在发这篇的时候重新切了一次,操作一样,结果QGIS加载出来瓦片是错乱的(本身生成的leaflet示例没有错乱),两次的区别在于第二次直接将切片0~5的文件夹放在了映射目录下,而第一次又多套了一层。刚尝试入门不清楚原因,记录一下,还是尽量多带层目录。