乐于分享
好东西不私藏

GeoAI样本生成实战

GeoAI样本生成实战

项目背景

之前下载了一块谷歌19级影像图,然后下了osm全国的建筑数据,想那这个和数据,做一个样本示例,升入了解一下样本训练的过程和生成的记过。写好要求交给Agents,在没有约束所使用的库时,代码使用了一下库。

import osimport jsonimport zipfileimport requestsimport numpy as npfrom pathlib import Pathfrom typing importDictTupleOptionalAny# 地理数据处理库import geopandas as gpdimport rasteriofrom rasterio.crs import CRSfrom rasterio.mask import maskfrom rasterio.features import rasterizefrom rasterio.transform import from_boundsfrom shapely.geometry import box, mappingimport matplotlib.pyplot as plt

约束使用geoai-py库后有了才有了今天这篇文章。

数据来源

本项目基于 STAC(SpatioTemporal Asset Catalog)标准数据管理平台进行地理空间数据管理。前段时间撸好了一个STAC时空数据资产管理平台(下个专题可以介绍一下STAC)然后将tif影像和OSM的shape上传到数管平台中,数据来源包括:

  • • 高分辨率影像数据:Google 19级影像,覆盖西安市部分地区,通过 STAC item 访问
  • • 建筑矢量数据:OpenStreetMap 建筑 shp 数据,覆盖全国范围,以 ZIP 格式存储于 STAC 平台
原始和数据

数据特征

数据类型
坐标系
空间范围
数据格式
影像数据
EPSG:4326
西安市部分区域
GeoTIFF
矢量数据
EPSG:4326
全国范围
Shapefile (ZIP)

系统环境

  • • Python 环境:conda geoai
  • • 核心依赖库:geoai-py、geopandas、rasterio、requests
  • • 处理工具:GDAL/OGR 地理空间库

处理流程

阶段
功能
关键操作
输出文件
初始化
创建目录结构
init_dirs()
data/ 目录树
下载
获取 STAC 资产
get_asset_href()
 + download_file()
raw/*
解压
提取 shp 文件
unzip_vector()
raw/vector/buildings/*.shp
对齐
坐标统一与裁剪
align_vector_to_raster()
aligned/*
切片
生成训练样本
export_geotiff_tiles()
output/*

核心代码解析

STAC 资产获取

defget_asset_href(item_url):    r = requests.get(item_url)    r.raise_for_status()    item = r.json()    assets = item.get("assets", {})for _, asset in assets.items():        href = asset.get("href")if href:return hrefraise Exception("未找到资产地址")

技术要点

  • • 通过 REST API 获取 STAC Item 元数据
  • • 遍历 assets 获取第一个有效资源地址
  • • 支持标准 STAC API 规范
时空数据资产

矢量与影像对齐

defalign_vector_to_raster(raster_path, shp_path):with rasterio.open(raster_path) as src:        raster_crs = src.crs        raster_bounds = src.bounds        raster_geom = box(*raster_bounds)    gdf = gpd.read_file(shp_path)if gdf.crs != raster_crs:        gdf = gdf.to_crs(raster_crs)    gdf = gdf[gdf.is_valid]    clip_gdf = gdf.clip(raster_geom)    clip_gdf.to_file(aligned_shp, driver="GeoJSON")return aligned_shp

处理流程

  1. 1. 读取影像获取 CRS 和边界范围
  2. 2. 读取矢量数据并检查有效性
  3. 3. 坐标转换(如需要)
  4. 4. 按影像边界裁剪矢量
  5. 5. 输出 GeoJSON 格式

训练样本生成

geoai.export_geotiff_tiles(    in_raster=str(raster_path),    out_folder=str(OUTPUT_DIR),    in_class_data=str(vector_path),    tile_size=512,    stride=256,    skip_empty_tiles=True,    buffer_radius=0,    all_touched=True,    create_overview=True,    apply_augmentation=True,    augmentation_count=2,    quiet=False,)

参数说明

参数
说明
tile_size
512
切片尺寸(像素)
stride
256
滑窗步长,50% 重叠
skip_empty_tiles
True
跳过无目标区域
all_touched
True
包含接触边界的像素
apply_augmentation
True
启用数据增强
augmentation_count
2
每切片增强数量

数据增强策略

增强类型

geoai-py 库支持多种数据增强方式:

  • • 几何变换:随机翻转、旋转、平移
  • • 颜色变换:亮度、对比度、饱和度调整
  • • 噪声注入:高斯噪声、椒盐噪声
  • • 模糊处理:高斯模糊

增强效果

数据增强使原始样本数量扩展为原来的 3 倍(原始 + 2 次增强),有效提升模型泛化能力。


处理结果统计

数据规模

根据 metadata.json 统计:

指标
原始影像宽度
29,248 像素
原始影像高度
25,984 像素
分辨率
~5.36m
建筑要素数量
28,671 个
空间范围
108.88°E ~ 109.04°E, 34.12°N ~ 34.26°N

样本分布

  • • 有效切片数:约 490+ 个(去除空白区域)
  • • 标注文件数:约 200+ 个(仅包含目标的切片)
  • • 数据增强倍数:3x

技术亮点

STAC 标准集成

项目采用 STAC 标准进行数据管理,具有以下优势:

  • • 统一的元数据规范
  • • 灵活的数据源接入
  • • 便于数据版本管理

自动化处理流程

从数据下载到样本生成实现全流程自动化:

  • • 自动创建目录结构
  • • 自动坐标系统一
  • • 自动空间范围裁剪
  • • 智能跳过无效区域

高效数据处理

  • • 并行处理:geoai-py 内部支持多线程
  • • 内存优化:分块读取大文件
  • • 增量处理:跳过已存在文件

运行方式

cd GIS/geoai/makelablepython geoai-process.py

运行日志示例

训练样本比较慢

执行输出

注意事项

  1. 1. 网络依赖:需确保 STAC 服务正常运行
  2. 2. 存储空间:处理大型影像需预留足够磁盘空间
  3. 3. 内存配置:建议 16GB+ 内存处理高分辨率影像
  4. 4. 坐标系统:确保输入数据坐标系统一或支持自动转换

完整源码

import shutilimport zipfilefrom pathlib import Pathimport geoaiimport geopandas as gpdimport rasterioimport requestsfrom shapely.geometry import box# =========================================================# STAC 配置# =========================================================RASTER_ITEM_URL = ("http://localhost:8010/collections/raster-default/items/""0dcc269fd72a4c4e8a3c388564122fd1")VECTOR_ITEM_URL = ("http://localhost:8010/collections/vector-default/items/""90dbe2fc21b84d83891b87fd61ed24e6")BASE_DIR = Path("./data")RAW_RASTER_DIR = BASE_DIR / "raw/raster"RAW_VECTOR_DIR = BASE_DIR / "raw/vector"ALIGN_RASTER_DIR = BASE_DIR / "aligned/raster"ALIGN_VECTOR_DIR = BASE_DIR / "aligned/vector"OUTPUT_DIR = BASE_DIR / "output"# =========================================================# 初始化目录# =========================================================definit_dirs():    dirs = [        RAW_RASTER_DIR,        RAW_VECTOR_DIR,        ALIGN_RASTER_DIR,        ALIGN_VECTOR_DIR,        OUTPUT_DIR,    ]for d in dirs:        d.mkdir(parents=True, exist_ok=True)print("目录初始化完成")# =========================================================# 获取 STAC Asset# =========================================================defget_asset_href(item_url):    r = requests.get(item_url)    r.raise_for_status()    item = r.json()    assets = item.get("assets", {})for _, asset in assets.items():        href = asset.get("href")if href:return hrefraise Exception("未找到资产地址")# =========================================================# 下载文件# =========================================================defdownload_file(url, save_path):if save_path.exists():print(f"文件已存在: {save_path}")returnprint(f"下载: {url}")    r = requests.get(url, stream=True)    r.raise_for_status()withopen(save_path, "wb"as f:for chunk in r.iter_content(chunk_size=8192):            f.write(chunk)print(f"保存: {save_path}")# =========================================================# 解压 shp zip# =========================================================defunzip_vector(zip_path, extract_dir):with zipfile.ZipFile(zip_path, "r"as zip_ref:        zip_ref.extractall(extract_dir)    shp_files = list(extract_dir.glob("*.shp"))ifnot shp_files:raise Exception("未找到 shp 文件")return shp_files[0]# =========================================================# 矢量与影像对齐# =========================================================defalign_vector_to_raster(raster_path, shp_path):print("开始对齐矢量与影像")with rasterio.open(raster_path) as src:        raster_crs = src.crs        raster_bounds = src.bounds        raster_geom = box(*raster_bounds)print(f"影像 CRS: {raster_crs}")    gdf = gpd.read_file(shp_path)print(f"矢量 CRS: {gdf.crs}")# 坐标统一if gdf.crs != raster_crs:print("执行坐标转换")        gdf = gdf.to_crs(raster_crs)# 修复 geometry    gdf = gdf[gdf.is_valid]# 裁剪    clip_gdf = gdf.clip(raster_geom)print(f"裁剪后数量: {len(clip_gdf)}")    aligned_shp = ALIGN_VECTOR_DIR / "buildings_clip.geojson"    clip_gdf.to_file(        aligned_shp,        driver="GeoJSON"    )print(f"保存裁剪结果: {aligned_shp}")return aligned_shp# =========================================================# 准备影像# =========================================================defprepare_raster(raster_path):    out_raster = ALIGN_RASTER_DIR / "image_align.tif"ifnot out_raster.exists():        shutil.copy(raster_path, out_raster)return out_raster# =========================================================# 使用 geoai-py 生成训练样本# =========================================================defgenerate_training_data(        raster_path,        vector_path):print("=" * 60)print("开始生成训练样本")print("=" * 60)    geoai.export_geotiff_tiles(        in_raster=str(raster_path),        out_folder=str(OUTPUT_DIR),        in_class_data=str(vector_path),# 切片大小        tile_size=512,# 滑窗步长        stride=256,# 只保留有目标的切片        skip_empty_tiles=True,# polygon buffer        buffer_radius=0,# 包含接触边界像素        all_touched=True,# 创建 overview        create_overview=True,# 数据增强        apply_augmentation=True,# 每个 tile 增强数量        augmentation_count=2,        quiet=False,    )print("训练样本生成完成")# =========================================================# 主函数# =========================================================defmain():print("=" * 60)print("GeoAI 样本生产")print("=" * 60)# 初始化    init_dirs()# 获取资产地址    raster_href = get_asset_href(RASTER_ITEM_URL)    vector_href = get_asset_href(VECTOR_ITEM_URL)# 下载    raster_path = RAW_RASTER_DIR / "image.tif"    vector_zip = RAW_VECTOR_DIR / "buildings.zip"    download_file(raster_href, raster_path)    download_file(vector_href, vector_zip)# 解压    vector_extract_dir = RAW_VECTOR_DIR / "buildings"    shp_path = unzip_vector(        vector_zip,        vector_extract_dir    )# 对齐    aligned_vector = align_vector_to_raster(        raster_path,        shp_path    )    aligned_raster = prepare_raster(        raster_path    )# 生成训练数据    generate_training_data(        aligned_raster,        aligned_vector    )print("\n")print("=" * 60)print("全部完成")print("=" * 60)print(f"输出目录:\n{OUTPUT_DIR}")# =========================================================# 入口# =========================================================if __name__ == "__main__":    main()

项目地址会在地下留言中添加

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-31 17:23:00 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/688631.html
  2. 运行时间 : 0.093483s [ 吞吐率:10.70req/s ] 内存消耗:4,775.54kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=5ec3fb5561633a13a1ee75e674074a2e
  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.000560s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000830s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000338s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000292s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000595s ]
  6. SELECT * FROM `set` [ RunTime:0.000252s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000664s ]
  8. SELECT * FROM `article` WHERE `id` = 688631 LIMIT 1 [ RunTime:0.000753s ]
  9. UPDATE `article` SET `lasttime` = 1780219380 WHERE `id` = 688631 [ RunTime:0.002498s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000266s ]
  11. SELECT * FROM `article` WHERE `id` < 688631 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000476s ]
  12. SELECT * FROM `article` WHERE `id` > 688631 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000384s ]
  13. SELECT * FROM `article` WHERE `id` < 688631 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001182s ]
  14. SELECT * FROM `article` WHERE `id` < 688631 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000605s ]
  15. SELECT * FROM `article` WHERE `id` < 688631 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001125s ]
0.095249s