当前位置:首页>农业>农业数据清洗:传感器跳值、轨迹飘点、台账错填,脏数据怎么洗成可用数据

农业数据清洗:传感器跳值、轨迹飘点、台账错填,脏数据怎么洗成可用数据

  • 2026-08-23 00:36:09
农业数据清洗:传感器跳值、轨迹飘点、台账错填,脏数据怎么洗成可用数据

智慧农业数据平台系列 · 第三篇 | 清洗与处理

农业数据清洗:传感器跳值、轨迹飘点、台账错填,脏数据怎么洗成可用数据

···

"数据采进来了,领导说先出个看板看看效果。结果墒情数据里混了一堆 999% 的土壤湿度,农机轨迹有几个点飘到了隔壁县,遥感 NDVI 出现负值,种植台账里'水稻'写了三种写法——水稻、稻子、稻谷。一张图打开全是异常,领导问我这数据能用吗,我没法回答。"

上一篇讲了"搬"——把数据从各系统收进临时区。但临时区的数据是原始脏数据,不能直接用。这一篇讲"洗"——怎么把脏数据洗成可用数据。

清洗这事说大不大,说小不小。说大了,数据质量直接决定后面所有分析、看板、预警能不能用。说小了,无非就是挑异常、补缺失、统一格式、对齐口径这几件事。但每一件里都有坑,农业场景尤其多。

一、农业数据脏在哪

先搞清楚敌人是谁。农业项目的脏数据,分六类:

类型
什么表现
常见原因
出现频率
跳值
土壤湿度突然报 999% 或 -99°C
传感器故障、信号干扰、AD 转换错误
高频(每周都有)
漂移
墒情数据连续几天偏高或偏低
传感器老化、土壤板结包裹探头
中频(每月1-2次)
飘点
农机 GPS 轨迹点跳出地块外几百米
GPS 信号弱、高楼/树木遮挡、冷启动
高频(每次作业都有)
缺失
某时段某站点无数据
设备断电、网络断、太阳能板被遮挡
高频(夜间尤其多)
不一致
同一作物在不同系统里名称/编码不同
各系统独立建设、标准未统一
必然存在
错填
台账里面积填负数、日期填错、作物张冠李戴
人工录入失误、乡镇填报不规范
高频(每次填报都有)

这六类脏数据不是偶发的,是常态。农业物联网设备部署在野外,日晒雨淋,故障率天然比室内设备高。再加上人工填报环节多,出错率就更高。

二、传感器跳值怎么洗

跳值是农业数据里最常见的脏数据。特点很明确:正常范围内的数据突然出现一个明显不合理的值

第一步:设阈值范围

每个指标都有物理极限。土壤湿度不可能 999%,温度不可能 -99°C。先按指标类型设硬阈值:

指标
合理范围
超出范围怎么处理
土壤湿度(%)
0 - 100
标记为异常,用前一次有效值替代
土壤温度(°C)
-20 - 60
标记为异常,用前一次有效值替代
空气温度(°C)
-40 - 50
标记为异常,用相邻站点插值
空气湿度(%)
0 - 100
标记为异常,用前一次有效值替代
风速(m/s)
0 - 60
标记为异常,用前一次有效值替代
电导率(μS/cm)
0 - 5000
标记为异常,标记设备可能故障
NDVI
-0.2 - 1.0
负值标记为云/水体干扰,不剔除

注意:硬阈值只拦"明显不合理的值",不拦"不太合理但在范围内的值"。比如土壤湿度 98% 在范围内,但如果之前一直是 40% 突然跳到 98%,这很可能是传感器故障不是真实变化。硬阈值是第一道网,不是唯一的网。

第二步:变化率检测

硬阈值拦不住"在范围内但不合理"的跳值。这时候要看变化率——跟上一个数据点比,变化了多少。

方法:取连续三个数据点,如果中间点跟前后两点的差值超过阈值,判定为跳值。

t-1 土壤湿度 42% → t 土壤湿度 87% → t+1 土壤湿度 43%

t 时刻变化率 = |87-42| / 42 = 107%,远超正常变化(土壤湿度30分钟变化不超过10%),判定为跳值

每种指标的合理变化率不一样:

指标
30分钟合理变化
超过这个值判跳值
土壤湿度
±10%
变化超过15个百分点
土壤温度
±2°C
变化超过5°C
空气温度
±3°C
变化超过8°C
空气湿度
±15%
变化超过30个百分点
风速
无固定
不适用变化率检测,用阈值即可

第三步:跳值处理

检测到跳值后怎么处理?不是简单删掉,而是替换+标记

  • 替换
    :用前一次有效值替代(最后已知值法),或用前后两点的线性插值
  • 标记
    :加一个 quality_flag 字段,值为 interpolated(插值)或 replaced(替换)
  • 告警
    :同一站点24小时内出现3次以上跳值,触发设备故障告警

为什么不直接删掉?删掉会产生时间空洞,时序分析、趋势图都会断。替换+标记既能保持时间连续性,又能在分析时知道哪些是真实值哪些是补的。

三、农机轨迹飘点怎么洗

农机 GPS 轨迹飘点是农业数据清洗里最头疼的问题。跟传感器跳值不同,轨迹飘点不是一个值的异常,是空间位置的异常——一个轨迹点突然跳出几百米外,再跳回来。

飘点的特征

  • 跳点
    :连续两个轨迹点之间距离突然变大(比如30秒内跳了500米,农机不可能这么快)
  • 漂移
    :轨迹整体偏移,农机看起来在地块外面跑
  • 冷启动
    :农机刚开机时GPS还没定位准,前几个点全是飘的

清洗四步法

第一步:速度过滤

算相邻两个轨迹点之间的距离÷时间间隔=速度。农机作业速度一般不超过 15 km/h,超过 50 km/h 的轨迹点判定为飘点。

第二步:精度过滤

NMEA 报文里有 HDOP(水平精度因子)和 satellites(卫星数)字段。HDOP > 5 或卫星数 < 4 的点标记为低质量,不删但降权使用。

第三步:轨迹平滑

对剩余轨迹点做卡尔曼滤波或移动平均平滑——不是改变原始数据,而是在分析层用平滑后的轨迹做地块匹配。原始轨迹保留,方便回溯。

第四步:地块匹配+缓冲区

平滑后的轨迹跟地块图斑做空间相交。关键:加缓冲区(buffer 2-3 米)。不加缓冲区的话,地块边界附近的轨迹点稍有偏差就落到隔壁地块。加缓冲区后,落在缓冲区内的轨迹点按距离最近的地块归属。

原始轨迹 → 速度过滤 → 有效轨迹 → 轨迹平滑 → 平滑轨迹 → 地块匹配(buffer 3m) → 作业面积统计

真实坑:某项目农机作业面积统计跟农户自己报的对不上。查了半天发现是缓冲区设太大(10米),把隔壁地块的作业也算进来了。缓冲区一般2-3米够用,别贪大。还要按停留时长过滤——农机在某地块停留超过30秒才算"在该地块作业",否则可能是路过。

四、编码统一怎么洗

同一作物在不同系统里叫不同名字、用不同编码,这个问题在农业项目里100%存在

作物
遥感解译
农情调度
农户台账
国标 GB/T 35850
水稻
paddy
A01
稻子
1101
小麦
wheat
A02
麦子
1102
玉米
maize
A03
苞谷
1103
大豆
soybean
A04
黄豆
1107
油菜
rapeseed
B01
菜籽
2101

洗法不复杂,但必须在建模型之前做——不然数据进了标准层,编码不一致带来的错误会渗透到所有分析结果里。

操作步骤

  • 第一步
    :把所有系统的作物编码/名称全部拉出来,列成一张映射表
  • 第二步
    :映射到 GB/T 35850《农作物分类》国家标准编码
  • 第三步
    :在清洗环节加一个编码转换步骤——数据从临时区进清洗区时,自动查映射表把原始编码替换成国标编码
  • 第四步
    :原始编码不删,存一个 raw_crop_code 字段,方便回溯

真实坑:某县农情调度系统的作物编码前缀"A"代表粮食作物、"B"代表经济作物,但文档里没写。数据抽过来后"水稻"和"油菜"混在一起做统计,全县种植结构分析全错。编码映射表一定要跟业务方确认,不能自己猜。

五、坐标系统一怎么洗

农业项目里至少三套坐标系并存:农机 GPS 用 WGS84,高标准农田图斑用 CGCS2000,有些村台账用的是地方独立坐标系(比如北京54、西安80)。

不同坐标系之间差几十米到上百米。不统一的话,农机轨迹跟地块图斑做空间相交会对不上。

统一到 CGCS2000

国标要求使用 CGCS2000(2000国家大地坐标系),所有数据统一到这个坐标系。

原始坐标系
转换方式
注意事项
WGS84
近似等于 CGCS2000,误差<1米
农业场景精度要求不高,直接当 CGCS2000 用
北京54
七参数转换
需要当地控制点参数,找测绘部门要
西安80
七参数转换
同上
地方独立坐标系
四参数或七参数
最难搞,有些地方连转换参数都没留

实操建议:WGS84 和 CGCS2000 的差异在厘米级,农业场景(精度要求米级)直接当同一个用。老数据(北京54/西安80)找当地自然资源局要转换参数,一般都有。实在拿不到的,找地块的已知特征点(道路交叉口、地块拐角)做配准校正。

六、缺失值怎么补

农业物联网设备在野外运行,断电断网是常态。墒情设备太阳能供电,阴雨天电量低自动休眠,夜间也可能不报数据。

缺失值处理策略:

缺失时长
处理方式
说明
1-2个周期(30-60分钟)
线性插值
用前后两个有效值线性插值,标记 quality_flag=interpolated
3-6个周期(1.5-3小时)
最后已知值
用最后一次有效值填充,标记 quality_flag=last_known
6-12个周期(3-6小时)
相邻站点插值
用周围3个最近站点的加权平均值填充
超过6小时
不补值
标记 quality_flag=missing,数据留空,不做插值。夜间设备休眠导致的缺失是正常的

关键原则:补的值必须有标记。分析时可以选择"只用真实值"还是"用补值+标记值",不能让补值跟真实值混在一起分不清。

真实坑:某项目把所有缺失值都用前一次值填充,连续填充了3天的数据。结果干旱预警没触发——因为填充值一直是"正常湿度",实际上设备已经断了3天,真实湿度早就降到预警阈值以下了。超过6小时的缺失不要补值,直接标 missing 让系统知道这里数据断了。

七、遥感云遮挡怎么洗

遥感数据在农业项目里用得越来越多——作物长势监测(NDVI)、种植结构提取、旱情监测都离不开它。但光学遥感有个硬伤:

Sentinel-2(哨兵2号)卫星每5天过境一次,但一个月4次过境里,可能2-3次被云挡住。如果直接用单张影像,大面积区域可能是云不是作物。

处理方法:多时相合成

不是用单张影像,而是取一个月内所有无云/少云的影像,逐像素合成——每个像素取这个月内NDVI的中位数或最大值。

Sentinel-2 影像1(8月5日,30%云)
Sentinel-2 影像2(8月10日,60%云)
Sentinel-2 影像3(8月15日,10%云)
Sentinel-2 影像4(8月25日,80%云)
→ 逐像素去云 → 取无云像素NDVI中位数 → 8月合成NDVI

实操关键点:

  • 云掩膜
    :用 Sentinel-2 自带的 SCL(场景分类层)波段,标记云、云阴影、雪像素,剔除
  • 合成周期
    :月度合成够用。如果某个区域某月全是云,合成结果会有空洞,标 no_data
  • 异常NDVI处理
    :NDVI 为负值通常是水体或云,不是异常值不要删,标记后按场景处理
  • 地块级裁剪
    :合成完的 NDVI 影像按地块图斑裁剪,算每个地块的平均NDVI,用于作物长势分级

八、清洗规则配置化——别写死在代码里

清洗规则会变。墒情设备换了型号,阈值要调。新增了一种作物,编码映射表要加。发现某个气象站数据持续偏高,校准系数要改。

如果清洗规则写死在代码里,每次改规则都要改代码、重新部署、重新跑全量数据——慢、容易出错、还得开发排期。

正确做法:清洗规则配置化

配置项
存在哪
内容
阈值范围
配置表
指标名、下限、上限、是否启用
变化率阈值
配置表
指标名、最大变化率、时间窗口
编码映射
映射表
源系统、原始编码、原始名称、标准编码、标准名称
坐标系参数
参数表
源坐标系、目标坐标系、七参数
站点校准
校准表
站点ID、指标名、校准公式、生效日期
缺失处理策略
策略表
数据源、缺失时长区间、处理方式

改规则只改配置表,不改代码。清洗程序读配置表执行清洗——一套代码跑所有规则,改配置不重启

九、某县实操案例:清洗前后对比

接上一篇某县的采集案例。数据采进来了,开始清洗。

清洗前数据质量

数据源
异常率
缺失率
主要问题
土壤墒情
8.3%
12.7%
跳值多、夜间设备休眠导致缺失
田间气象
3.1%
5.2%
风速偶发异常值、雨量计堵塞
虫情测报
1.5%
2.8%
AI识别误判、图片质量差
农机轨迹
15.7%
飘点严重、冷启动轨迹、GPS信号弱
遥感影像
45%
云覆盖严重,8月4次过境3次被云挡
种植台账
7.2%
3.1%
作物名称不统一、面积填错、日期格式混

清洗后数据质量

数据源
异常率
缺失率
清洗方法
土壤墒情
0.8%
3.2%
硬阈值+变化率检测+插值补缺
田间气象
0.5%
1.8%
阈值过滤+相邻站点插值
虫情测报
0.3%
1.2%
人工复核标记+重复数据去重
农机轨迹
2.1%
速度过滤+精度过滤+轨迹平滑+缓冲区匹配
遥感影像
8%
多时相合成+云掩膜+地块级裁剪
种植台账
0.9%
1.5%
编码映射+校验规则+格式标准化

关键数据:墒情异常率从 8.3% 降到 0.8%,农机飘点率从 15.7% 降到 2.1%,遥感缺失率从 45% 降到 8%。清洗耗时约3周,主要工作量在编码映射表整理和清洗规则调试。

十、清洗阶段踩坑清单

序号
怎么避免
1
只靠硬阈值过滤,漏掉范围内的跳值
硬阈值+变化率检测双保险。硬阈值拦明显异常,变化率拦范围内的突变
2
跳值直接删掉产生时间空洞
不删,用插值或最后已知值替代,加 quality_flag 标记。保留原始值方便回溯
3
农机轨迹不加缓冲区做地块匹配
必须加 buffer 2-3米。不加的话边界附近轨迹点会落到隔壁地块,作业面积统计全错
4
缓冲区设太大
2-3米够用。设10米以上会把隔壁地块作业算进来。配合停留时长过滤"路过不算作业"
5
作物编码映射表自己猜
必须跟业务方确认。每个系统的编码规则、前缀含义、枚举值列清楚,让业务方签字确认
6
坐标系不统一直接做空间分析
所有空间数据统一到 CGCS2000。WGS84可直接当CGCS2000用(误差<1米),老坐标系找测绘部门要转换参数
7
缺失值全用前值填充,掩盖真实故障
超过6小时的缺失不补值,标 missing。防止填充值掩盖设备故障导致的持续异常
8
遥感用单张影像不做云掩膜
必须做多时相合成+云掩膜。月度合成取中位数或最大值,别用单张影像
9
清洗规则写死在代码里
规则配置化——阈值、映射、参数、策略全存配置表,改规则不改代码
10
清洗后不保留原始数据
原始数据必须保留在临时区90天。清洗后的数据存清洗区,两套数据并行可追溯
11
清洗后不做质量评估
清洗完出一份质量报告:各数据源异常率、缺失率、清洗前后对比。让甲方看到清洗效果
12
清洗只做一次就不管了
清洗规则要持续迭代——设备老化阈值要调、新增作物编码要加、季节变化阈值不同(夏季土壤温度上限比冬季高)

十一、清洗做完的标准是什么

序号
验收项
标准
1
异常值处理率
检测出的异常值100%处理(替换或标记),无遗漏
2
数据异常率
清洗后各数据源异常率≤2%
3
缺失值处理
6小时内缺失值已插值补全并标记,6小时以上缺失标记为missing
4
编码统一率
100%作物编码映射到GB/T 35850国标,原始编码保留可回溯
5
坐标系统一率
100%空间数据使用CGCS2000,非CGCS2000的已做投影转换
6
质量标记完整性
每条数据带quality_flag字段,标注原始/插值/替换/缺失
7
清洗规则配置化
阈值、映射、参数、策略全在配置表,改规则不改代码
8
清洗质量报告
输出各数据源清洗前后异常率、缺失率对比报告

···

数据洗完了,异常率降到2%以下,编码统一了,坐标系统一了,缺失值有标记了。这时候数据才真正可用

但洗完的数据还是"扁"的——一张大宽表,所有字段堆在一起。要让它好查好用,得按一定结构组织起来。这就是下一篇"整"——数据建模与存储,怎么把清洗后的数据按地块、时间、指标组织成好查的结构。

智慧农业数据平台系列 · 第三篇

上一篇:农业数据采集与汇聚——7种数据源、4种接入方式

下一篇:数据建模与存储——地块级建模、时序建模、空间数据怎么组织

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-23 01:55:30 HTTP/2.0 GET : https://h.mffb.com.cn/a/571741.html
  2. 运行时间 : 0.305297s [ 吞吐率:3.28req/s ] 内存消耗:4,717.30kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=4f9ea16eaae38690a78efb4cff7807f5
  1. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/runtime/temp/32b793ebdcbdb96aeb8bb24c123b0bef.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/h.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000908s ] mysql:host=127.0.0.1;port=3306;dbname=h_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001589s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000734s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000754s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001705s ]
  6. SELECT * FROM `set` [ RunTime:0.000622s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001806s ]
  8. SELECT * FROM `article` WHERE `id` = 571741 LIMIT 1 [ RunTime:0.001191s ]
  9. UPDATE `article` SET `lasttime` = 1787421330 WHERE `id` = 571741 [ RunTime:0.003316s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000655s ]
  11. SELECT * FROM `article` WHERE `id` < 571741 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001468s ]
  12. SELECT * FROM `article` WHERE `id` > 571741 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.036763s ]
  13. SELECT * FROM `article` WHERE `id` < 571741 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.037518s ]
  14. SELECT * FROM `article` WHERE `id` < 571741 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.036526s ]
  15. SELECT * FROM `article` WHERE `id` < 571741 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.003570s ]
0.308972s