乐于分享
好东西不私藏

GeoAI矢量化要求

GeoAI矢量化要求

本文档基于 GeoAI 项目源码深度分析及行业最佳实践,系统阐述面向深度学习训练的**矢量标注(Vector Annotation)**规范。在整个 GeoAI 项目 的工作链条中,“标签(Label)”并不是一个简单的附属物,而是决定模型认知边界的核心数据。GeoAI 中的大量训练流程,本质上都是:

遥感影像(Raster) + 矢量标注(Vector Label) → 栅格标签(Mask) → 模型训练

因此,“矢量标注阶段”实际上就是传统 GIS 中的:遥感影像目标矢量化。但 GeoAI 里的“矢量化”与传统测绘制图中的“矢量化”又略有区别。


矢量标注 vs.矢量化

矢量化的广义定义

矢量化(Vectorization) 是 GIS 领域的通用术语,指将栅格数据(如扫描地图、遥感影像)转换为矢量数据(点、线、面)的过程。其目的多样:

  • • 地图数字化与制图
  • • 空间数据库建设
  • • 地物边界提取
  • • 地籍
  • • 测绘成果
  • • 空间分析

矢量标注的特定定义

在 GeoAI 项目中,矢量标注(Vector Annotation) 是矢量化在深度学习场景下的专业化子集。它强调:

维度
通用矢量化
GeoAI 矢量标注
目的
制图、分析、存档,面向地图表达
为神经网络训练提供监督信号,面向地图表达
属性要求
可包含复杂属性
必须包含类别字段
(如 class),属性尽量简单
几何精度
满足制图精度,强调几何精度
需与影像像素级对齐,强调语义一致性
拓扑要求
视应用场景而定
严格要求无重叠、无缝隙
坐标系
按项目要求,可多尺度混合
必须与参考影像完全一致
输出格式
SHP/GeoJSON/GDB 等
最终需栅格化为单波段掩膜

矢量标注 = 面向 AI 训练的、带类别属性的、与影像严格对齐的矢量化成果。

当你拿到一张高清影像图,在 GIS 软件中勾绘建筑、植被、水系的边界并赋予类别属性时,你正在进行的就是矢量标注

SHP 图层结构设计

图层命名

建议:{区域标识}_{任务类型}_{版本号}_{日期},如beijing_building_2026.shp,nanjing_vegetation_2026.shp,不要随意其名称,因为后期数据量会指数爆炸。

字段设计

GeoAI 标签字段:越简单越好,训练阶段通常只需要:

字段名
类型
说明
id
int
唯一ID
class
*
int/string
类别
name
string
类别名称
source
string
数据来源
confidence
float
置信度(可选)

推荐最小训练字段只id 和class字段,如果要进行语义增强,使用id、class、classname、source、remark。方便数据治理也符合STAC规范。

编码推荐:

class 值
类别名称
说明
0
背景(Background)
保留值,矢量文件中不应出现
1
建筑(Building)
人工建筑、房屋、厂房
2
植被(Vegetation)
林地、草地、农田
3
水体(Water)
河流、湖泊、池塘
4
道路(Road)
公路、街道、铁路
5
裸地(Bare Soil)
未利用地、建筑工地

内容两种组织方式对比

假设需要标注建筑、植被、水系三类地物,有两种数据组织策略:

策略 A:多个单种类 SHP(Single-class Multi-layer)

project_annotations/├── buildings.shp          # 仅含建筑,class=1├── vegetation.shp         # 仅含植被,class=2└── water.shp              # 仅含水系,class=3

策略 B:单一综合 SHP(Multi-class Single Layer)

project_annotations/└── landcover_annotations.shp    # 含所有地物,class 字段区分类别

深度对比分析

对比维度
策略 A:多个单种类 SHP
策略 B:综合 SHP
GeoAI 源码支持度
需手动合并或分别栅格化后叠加
原生支持
export_geotiff_tiles_batch 直接读取单文件
class_value_field
 处理
每个文件 class 值固定,灵活性差
同一字段存储多类别值,自动映射为像素 ID
空间一致性保证
多文件间易出现缝隙、重叠
单文件内可通过拓扑检查统一控制
类别冲突处理
多文件栅格化时后覆盖前,类别优先级难以控制
np.maximum
 取高值,或按绘制顺序控制,相对容易
标注效率
需频繁切换图层,易遗漏
同一图层内连续标注,效率更高
数据管理
文件数量随类别线性增长
文件数量恒定,易于版本控制
目标检测
非常合适
一般
语义分割
一般
非常合适
COCO/YOLO 导出
需额外合并步骤
直接导出,类别映射自动完成
实例分割支持
每个文件天然为单类,但实例 ID 需额外处理
需 instance_class_value_field 区分类别与实例

推荐方案

做语义分割,推荐综合shp,适用模型:UNet、DeepLab、SegFormer、SAM 微调

做目标检测,推荐单类别shp,适用模型:YOLO、MMDetection、Detectron2

GeoAI 源码证据

在 geoai/utils/training.py 中,核心切分函数 _process_image_mask_pair 对矢量数据的处理逻辑如下:

# Check if class_value_field existsif class_value_field in gdf.columns:    unique_classes = gdf[class_value_field].unique()# Create class mapping: 自动将任意类别值映射为 1, 2, 3...    class_to_id = {cls: i + 1for i, cls inenumerate(unique_classes)}else:    class_to_id = {11}  # Default mapping

关键结论:GeoAI 的栅格化引擎天然设计为处理单文件多类别输入。它会自动提取 class_value_field 中的唯一值,并将其映射为连续的整数类别 ID。若使用多个单种类 SHP,则需:

  1. 1. 分别读取每个文件;
  2. 2. 手动指定每个文件的类别 ID;
  3. 3. 栅格化后通过 np.maximum 或波段叠加合并;
  4. 4. 极易引入对齐误差和缝隙。

在 geoai/utils/training.py 的瓦片级栅格化代码中:

for idx, feature in window_features.iterrows():    class_val = feature[class_value_field] if class_value_field in feature else1    class_id = class_to_id.get(class_val, 1)    feature_mask = features.rasterize(        [(geom, class_id)], ...    )    label_mask = np.maximum(label_mask, feature_mask)  # 高值优先

这进一步证明:单文件多类别是 GeoAI 的一等公民,多文件需额外适配。

类别映射表

每个矢量标注文件必须附带一个类别映射表(JSON 或 YAML),明确 class 值与语义之间的对应关系:

{"0":"background","1":"building","2":"vegetation","3":"water","4":"road","5":"bare_soil"}

此映射表用于:

  • • 训练时配置 num_classes
  • • 推理结果可视化时赋予颜色与图例;
  • • 多项目协作时统一语义理解。

几何与拓扑规范

Remote Sensing Image Semantic Segmentation Sample Generation Using a ...

几何类型选择

地物类型
推荐几何类型
说明
建筑、水体、农田
Polygon(多边形)
面状地物,最常用
道路、河流
LineString / Polygon
线状地物可用线,但栅格化时建议缓冲为面

GeoAI 优先处理 Polygon。对于线状或点状地物,建议在标注阶段通过 buffer_radius 扩展为面状,或在 GeoAI 导出时设置 buffer_radius 参数。

拓扑规则

QGIS基础:创建矢量数据(栅格矢量化)_qgis矢量图栅格化-CSDN博客
规则
要求
检查工具
无重叠(No Overlap)
同类或不同类多边形之间不得重叠
QGIS 拓扑检查 / ArcGIS Topology
无缝隙(No Gaps)
相邻地物边界应完全贴合
QGIS 拓扑检查
无自相交(No Self-intersection)
单个多边形不得自相交
shapely.is_valid
无悬挂节点
线要素端点应闭合或连接
拓扑检查

重叠处理原则

在 GeoAI 栅格化时,若多边形重叠,后绘制的多边形会覆盖先绘制的(np.maximum 取高值)。为避免不确定性,应在矢量阶段消除重叠:

  • • 建筑压盖植被 → 优先保留建筑,从植被中裁剪出建筑区域;
  • • 道路穿越农田 → 道路与农田边界应完全重合。

边界精度要求

  • • 配准误差:矢量边界与影像地物边界的偏差应 ≤ 0.5 个像元
  • • 最小图斑:面积小于 4 × 4 像元 的地物建议合并到相邻类别或不单独标注;
  • • 简化容差:矢量简化(Simplify)的容差应 ≤ 0.5 个像元,避免过度平滑。

坐标系与投影规范

坐标系选择

场景
推荐坐标系
说明
一般区域
UTM 投影
(EPSG:326xx / 327xx)
保证面积、距离计算准确
中国区域
CGCS2000 / 高斯-克吕格(EPSG:4490 + 3/6度带)
符合国家规范
全球分析
WGS84(EPSG:4326)
仅用于小比例尺,不推荐用于标注

与影像的对齐要求

矢量标注的 CRS 必须与参考影像完全一致

GeoAI 在读取矢量时会自动检查并重投影:

if gdf.crs != src.crs:    gdf = gdf.to_crs(src.crs)

自动重投影会引入微小变形,因此最佳实践是:

在标注阶段就将影像和矢量统一为同一投影坐标系。


数据格式问题

Shapefile 严格来说已经不是最佳选择。Shapefile 有大量历史问题:

  • • 字段名最长10字符
  • • 中文乱码问题
  • • 多文件依赖
  • • NULL 支持差

现在越来越推荐:

  • • GeoPackage
  • • GeoJSON
  • • FlatGeobuf

推荐目录结构

dataset/├── images/│   ├── tile_001.tif│   ├── tile_002.tif├── labels/│   ├── landcover.geojson├── masks/│   ├── tile_001_mask.tif├── chips/│   ├── images/│   ├── masks/

完整工作流程示例

从影像到训练标签的全流程

步骤 1: 准备高清影像    └── beijing_hd_2025.tif (EPSG:32650)步骤 2: 创建综合 SHP 并标注    └── 在 QGIS 中新建 "beijing_hd_landcover_v1.geojson"    └── 添加字段: class (Integer), class_name (String)    └── 勾绘所有地物,填写 class 值步骤 3: 拓扑检查与修复    └── QGIS → Vector → Geoprocessing Tools → Check Validity    └── 修复重叠、缝隙、自相交步骤 4: 导出为 GeoJSON(推荐)    └── beijing_hd_landcover_v1.geojson    └── 配套: class_mapping.json步骤 5: 使用 GeoAI 生成训练数据    └── Python 代码见下方步骤 6: 验证标签质量    └── 可视化检查瓦片与掩膜的对齐情况

GeoAI 训练数据导出代码

import geoai# 单文件多类别模式(推荐)stats = geoai.export_geotiff_tiles_batch(    images_folder="data/images",    masks_file="data/beijing_hd_landcover_v1.geojson",  # 单一综合文件    output_folder="output/training_tiles",    tile_size=256,    stride=256,    class_value_field="class",      # 指定类别字段    skip_empty_tiles=True,          # 跳过无标注瓦片    all_touched=True,               # 接触即标记    buffer_radius=0,                # 无缓冲)print(f"生成瓦片: {stats['total_tiles']}")print(f"含标注瓦片: {stats['tiles_with_features']}")

类别映射表示例

# class_mapping.json{"project""beijing_hd_landcover","version""v1","num_classes"6,"classes": {"0": {"name""background""color": [000]},"1": {"name""building""color": [25500]},"2": {"name""vegetation""color": [02550]},"3": {"name""water""color": [00255]},"4": {"name""road""color": [2552550]},"5": {"name""bare_soil""color": [1396919]}    }}

常见问题与解决方案

问题
原因
解决方案
栅格化后类别粘连
多边形间距 < 像元大小
提高影像分辨率或人工修正矢量边界
小目标在瓦片中丢失
未设置缓冲或瓦片尺寸过大
减小 tile_size 或增大 buffer_radius
类别 ID 冲突
多文件 ID 重复
使用单一综合 SHP,统一分配 ID
瓦片边界标注残缺
地物跨瓦片被截断
设置 stride = tile_size / 2 产生重叠
矢量与影像错位
CRS 不一致或配准误差
统一 CRS,配准残差控制在 0.5 像元内
背景被错误标记
class
 字段存在 0 值
确保 class=0 仅用于背景,矢量中不出现
COCO 导出类别缺失
class
 字段为空或类型错误
检查所有要素的 class 字段是否填充完整
规范项
推荐做法
数据组织
单一综合 SHP/GeoJSON,包含所有类别
文件名{区域}_{任务}_v{版本}_{日期}.geojson
核心字段class
(Integer,从 1 开始)
辅助字段class_name
sourceconfidencedate
类别编码
连续整数:1=建筑, 2=植被, 3=水体...
背景处理0
 保留为背景,矢量中不出现
拓扑规则
无重叠、无缝隙、无自相交
坐标系
与参考影像完全一致,推荐投影坐标系
配套文件
必须附带 class_mapping.json

核心原则:矢量标注是 GeoAI 训练数据流水线的起点,其质量直接决定模型性能。采用单一综合 SHP、规范字段命名、严格拓扑检查,是高效、准确制作训练标签的根本保障。

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