本节摘要:查询与量算是加工链深加工的第一级——成本最低、使用频率最高,也是口径错误的重灾区。本节讲属性查询、空间查询、组合查询三种问法与长度、面积、质心三种量法,重点在"口径":问法差一个字,结果差一个量级。
阅读完本节,你应当能够:
属性查询只看表格不看图:STUDENTS > 1000 AND IS_PUBLIC = 1,从全县小学里挑出公办大学校。空间查询只看图不看表:给定一个面,问哪些学校落在里面;或者给一条河,问 500 米范围内有哪些取水口。组合查询是实战形态:空间条件定范围,属性条件定对象,两层过滤一先一后。
看一个口径拆解的实例。业务部门的原话是"统计城区公办小学的在校生规模"。这句话至少藏着四个必须问清的口径:
# 口径拆解:一句话拆成四个可执行条件 业务原话:统计城区公办小学的在校生规模 条件1 城区:建成区边界内?还是某几个街道?—— 空间范围,决定空间条件 条件2 小学:含教学点吗?九年一贯制学校的小学部算吗 —— 对象定义 条件3 公办:以办学许可证为准还是经费来源为准 —— 属性字典 条件4 规模:在校生数?班级数?还是折算生均指标 —— 统计口径 # 经验:口径不清就跑数,返工是小事;两个口径混着出数,决策就会被误导
量算看似是点一下按钮的事,实际藏着算法选择。长度量算沿几何累加,折线长是各段之和;面积量算分平面面积与椭球面积两种口径;质心给出要素的"重心",做标注定位与分区汇总都靠它。
平面面积与椭球面积的差别必须搞清。平面面积在高斯投影面上计算,投影带来长度变形,离中央经线越远面积虚增越多;椭球面积直接在椭球面上积分,是权属与不动产登记的法定口径。同一宗地两种口径算出的面积可能差几个平方米——对地块是小事,对全县汇总就是上百亩的出入。
# 面积量算操作与输出示例(面图层统计) 操作:图层右键打开属性统计,选择面积字段与口径 输出示例: 要素总数 1284 个图斑 平面面积合计 76203.45 公顷 椭球面积合计 76187.92 公顷 差值 15.53 公顷(约万分之二) 解读:差值随远离中央经线增大;权属登记用椭球面积, 公顷级汇总报表可用平面面积但须注明口径 # 检查动作:把两种口径都算一遍,差值应在万分之几量级, # 若出现千分级差值,先怀疑坐标系或投影配置错误
质心的一个高频用法是"面转点做标注"。行政区面、地块面直接标注会压线压角,转到质心标注干净利落。但要注意退化情形:马蹄形、L 形地块的几何质心可能落在图形外面,标注反而悬空,这时要用"内部点"而不是严格质心。
口径定了,执行有两条路。图形界面路:属性查询对话框里写过滤条件,空间查询里选参照图层与空间关系(相交、包含、落在内),组合查询则两栏都填。这条路直观,适合临时探索与抽查。语句路:把条件写成结构化查询表达式,适合要反复执行的固定口径——固定口径的月报、季报,第一次在界面里调通,之后转成语句存档,每月改个日期就能重跑。
# 组合查询示例:城区公办小学(两个条件一先一后) 界面路径 属性栏填:办学性质 等于 公办 AND 学段 等于 小学 空间栏填:与图层 建成区 的关系选择 落在内 执行顺序:先空间后属性 平台自动优化 无需人工操心先后 语句路径(结构化查询示意) SELECT 学校名称, 在校生数 FROM 学校 WHERE 办学性质 = '公办' AND 学段 = '小学' AND ST_Within(学校.shape, 建成区.shape) -- 输出:47 条记录 合计在校生 51320 人 -- 固定口径存档 每月只改统计时点字段 # 两条路的选择:探索用界面 固定用语句 混着用最常见
量算出的数字不能直接上报,先用三个旁证压一遍:
# 概念演示:量算结果的三重交叉验证(伪代码示意) report = { "图斑数": 1284, "全县控制面积": 76200.0, # 来自上级下发的控制数,单位公顷 "量算合计": 76187.9, # 椭球口径 } diff_pct = abs(report["量算合计"] - report["全县控制面积"]) / report["全县控制面积"] print(f"与控制面积偏差:{diff_pct:.5f}") # 输出:与控制面积偏差:0.00016(万分之1.6,合理区间内) # 三重验证清单: # 一验 控制数:与上级下发控制面积比对,偏差应在万分级 # 二验 单图斑:抽 10 个图斑手工量测核对(影像加测距) # 三验 分区:分区合计与全县合计勾稽,加总必须闭合
这套验证的逻辑在会计里叫勾稽关系:部分之和等于整体,本批与上批的变化幅度合理。数据工作到量算这一步,工程味就出来了。
⚠️ 常见坑:用投影平面上的距离量算做导航或权属判断。高斯投影的长度变形在离开中央经线 300 公里处可达约千分之一——量一条 10 公里的边界线,平面口径能虚增出 10 米。需要真实距离时,要么用椭球口径,要么确保测区紧贴中央经线。
💡 关键直觉:查询是"圈人",量算是"点钞"。圈人圈错人群、点钞点错币种,后面的分析再精妙也是精准地错。
再补一个口径事故的活例。某次"全县果园面积"汇报后领导质询:报表三万亩,图上一量只有两万四。复盘发现查询条件写的是"地类编码含园地",而属性表里"园地"字段有三类取值——果园、茶园、其他园地,报表口径含三类,图上勾选的图层过滤只勾了果园一类。同一个词、两种范围,差出六千亩。修复动作用了五分钟(图层过滤补勾两类),但信任的修复用了两周。口径的价值,事故里最看得清。
下一节进入矢量分析的主力设备:缓冲区、叠加与网络。