QGIS 加载天地图出现灰色影像:层级参数 l 与 z 的坑,附四种返回码对照
场景QGIS 里挂天地图底图图层加成功了瓦片也在刷画面却是一片灰每个格子上写着此级别下该区域无影像。打开浏览器 F12 一看状态码 200图片也确实回来了。这时候大多数人会往配额上想——毕竟天地图个人 key 有每日调用量。我踩过的结论是200 的灰图和配额没关系它是层级参数名写错了。四种返回码把校验顺序摆出来天地图前面挡了一道华为云 CloudWAF校验是分层的返回码正好暴露了先后顺序。2026-10-13 我在本机用 curl 复跑前两行不带任何有效 key 就能验证请求情况状态码返回内容URL 里不带tk418CloudWAF 的 HTML 页标题「访问被拦截」tk是乱填的一串403{code:301001,msg:非法key,resolve:请到API控制台重新申请Key}tk合法但 User-Agent 与 key 类型不匹配403{code:301013,msg:权限类型错误}全部正确200真实瓦片图片前两行我换过浏览器 UA、补过 Referer 头返回内容一字未变说明 key 的有无与合法性这两关与 User-Agent 无关。第三行的 301013 只在 key 合法时才轮到那是下篇的主题。顺带一句418 本身是个非标准状态码RFC 里它是彩蛋用途这里被 WAF 当作拦截标记使用。复现命令任何人都能跑# 不带 tk → 418 拦截页 curl -s -o - -w \nhttp%{http_code}\n \ https://t0.tianditu.gov.cn/DataServer?Timg_wx170y512l10 ​ # 乱填 tk → 403 301001 curl -s -o - -w \nhttp%{http_code}\n \ https://t0.tianditu.gov.cn/DataServer?Timg_wx170y512l10tk00000000000000000000000000000000灰图的真正原因l写成了z天地图的 XYZ 地址模板官方长这样https://t0.tianditu.gov.cn/DataServer?Timg_wx{x}y{y}l{z}tk你的key层级参数是l{z}等号左边那个小写字母l小写 L等号右边才是 QGIS 的占位符{z}。网上流传的模板里常把它写成z{z}。服务端读不到l参数就按默认逻辑取一个当前图层根本没有的层级于是回你一张 HTTP 200 的占位灰图。这就是假成功——状态码全无异常请求也确实拿到了图片只是那张图片的内容是此级别下该区域无影像。改法只有一处- https://t0.tianditu.gov.cn/DataServer?Timg_wx{x}y{y}z{z}tk你的key https://t0.tianditu.gov.cn/DataServer?Timg_wx{x}y{y}l{z}tk你的key在 QGIS 里改的位置是Browser 面板 → XYZ Tiles → 双击对应连接 → URL 那一栏。改完不用重启重新加载图层即可。图层代号别写错T后面是图层代号四个img_w影像vec_w矢量cia_w影像注记cva_w矢量注记注记就是单独一层文字标注。底图和注记是两条瓦片地址要挂两个图层叠起来只挂img_w是没有地名的。如果你走的是 WMTS 标准入口参数名不一样LAYER后面写的是img/vec/cia/cva不带_w层级参数也叫TILEMATRIX而不是l。两套模板混着抄最容易出错这也是灰图的第二个来源。WMTS 完整模板https://t0.tianditu.gov.cn/img_w/wmts?SERVICEWMTSREQUESTGetTileVERSION1.0.0LAYERimgSTYLEdefaultTILEMATRIXSETwFORMATtilesTILEMATRIX{z}TILEROW{y}TILECOL{x}tk你的key还有一个前提坐标系别调错天地图瓦片是 CGCS2000和 WGS84 的差异小于 10cm日常当同一套用没问题。但工程 CRS 如果设成了 Web 墨卡托EPSG:3857以外的自定义投影瓦片会重投影看起来像位置不对而不是加载失败别和本文这两类问题混在一起排查。小结看到 200 的灰图先查参数名l和图层代号看到 418 或 301001查 key 本身看到 403 的301013 权限类型错误那是 User-Agent 和 key 类型对不上解法在下一篇《QGIS 加载天地图 403 权限类型错误User-Agent 分流与三种解法》。测试环境 QGIS 3.40.1Windows返回码复现时间 2026-10-13。

相关新闻

Agent通信协议选型指南:JSON-RPC、MCP、A2A与ACP的分层实践

Agent通信协议选型指南:JSON-RPC、MCP、A2A与ACP的分层实践

1. 为什么 Agent 通信协议突然“百花齐放”过去一年里,只要你在做 AI Agent 相关的开发,几乎绕不开一个困惑:同样是让两个智能体互相说话,怎么一会儿是 JSON-RPC,一会儿是 MCP,转头又冒出 A2A、ACP&#xf…

2026/10/14 6:41:29 阅读更多 →
Chat2DB 实战:AI 生成 SQL 的数据库管理工具与避坑指南

Chat2DB 实战:AI 生成 SQL 的数据库管理工具与避坑指南

简介:Chat2DB项目代码包是一份集成人工智能能力的开源数据库管理工具示例,面向需要降低数据库操作门槛的开发者、数据分析师以及对自然语言生成SQL感兴趣的技术人员。整个资源共包含3个文件,涵盖inscode入口文件、html介绍文档以及gitignore配…

2026/10/14 6:41:29 阅读更多 →
PS5串流实战:AnyPS5配置与网络调优全攻略

PS5串流实战:AnyPS5配置与网络调优全攻略

把一台PS5玩出三台机器的效果,是不少玩家都在琢磨的事。AnyPS5这个项目,说白了就是干这件事:让PS5不再被客厅电视绑住,而是把画面和操作实时串流到你手边的任何一块屏幕上——笔记本、平板、手机、甚至办公电脑。我在这个方向上前…

2026/10/14 6:41:29 阅读更多 →

最新新闻

MATLAB共享储能电站冷热电多微网双层优化配置模型详解

MATLAB共享储能电站冷热电多微网双层优化配置模型详解

先说一句啊,这篇不是那种把模型往纸上一放、公式一抄就完事的论文复现,而是基于“MATLAB共享储能电站服务冷热电多微网系统双层优化配置模型”这条线,把建模思路、求解路线、MATLAB实现细节和踩坑经验一次性捋清楚。如果你想做园区级综合能源…

2026/10/14 7:20:37 阅读更多 →
90天PMP通关攻略:专治拖延症的反人性备考技巧

90天PMP通关攻略:专治拖延症的反人性备考技巧

2026年6月PMP考试:一场与“拖延症”的终极对决!90天通关全攻略(内附反人性备考技巧)如果有人问我,PMP考试难在哪,我大概率会说:难在开始。2026年6月那场考试,我提前90天就买好了教材…

2026/10/14 7:20:37 阅读更多 →
电商数据获取技术解析与实战架构设计

电商数据获取技术解析与实战架构设计

1. 电商数据获取的核心价值与挑战在电商行业摸爬滚打这些年,我深刻体会到数据就是决策的氧气。记得2016年刚入行时,团队还在用Excel手动统计商品点击量,现在回头看简直像石器时代。如今一个中等规模的电商平台,日均产生的用户行为…

2026/10/14 7:20:37 阅读更多 →
豆瓣电影排行榜高级爬虫实战:从请求构造到数据存储的完整链路

豆瓣电影排行榜高级爬虫实战:从请求构造到数据存储的完整链路

很多人学网络爬虫时,第一个练手项目都会选豆瓣电影排行榜的数据抓取。理由很简单:页面结构清晰、数据规律、难度适中。但如果你以为requests拿到HTML、正则抠出几条电影名就算学会了爬虫,那离真正的高级数据抓取还差着十万八千里。我见过不少…

2026/10/14 7:20:37 阅读更多 →
做Temu多久能看到收益?回款周期与利润真相深度拆解

做Temu多久能看到收益?回款周期与利润真相深度拆解

做Temu多久能看到收益?这个问题几乎每个新入局的人都问过,但网上的答案特别极端:一边是晒后台截图说上架三天就出单的,一边是吐槽备货压了几万块却迟迟见不到钱的。我跟几个做全托管、半托管的朋友反复对过账,也盯着后…

2026/10/14 7:20:37 阅读更多 →
AI编程教程为何爆火2万Star:从零基础到生产落地的完整路径

AI编程教程为何爆火2万Star:从零基础到生产落地的完整路径

1. 这个“2万Star”到底意味着什么:从GitHub数字看AI编程教程的真实分量很多人看到标题里“2万Star”第一反应是:哇,火了。但作为在开发者教育领域摸爬滚打十多年的老手,我得先泼一盆冷静的水——Star数从来不是教学内容质量的直接…

2026/10/14 7:19:37 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →