GDAL 矢量简化命令 `gdal vector simplify` 深度解析:拓扑保持的 Douglas-Peucker 类算法与 GEOS 实战指南
GIS遥感数据工程【免费下载链接】gdalGDAL is an open source MIT licensed translator library for raster and vector geospatial data formats.项目地址https://gitcode.com/gh_mirrors/gd/gdal点击查看免费下载gdal vector simplify是 GDAL 3.12 版本新增的矢量几何简化子命令用于在保持几何有效性的前提下大幅减少要素顶点数量从而压缩数据体积、加速渲染与分析。本文以官方文档 gdal_vector_simplify.rst 为骨架结合仓库源码与自动化测试完整讲解其算法原理、--tolerance参数语义、全部标准选项、与simplify-coverage的取舍以及在gdal vector pipeline中组合使用的实战方案。一、命令概览与核心特性gdal vector simplify的功能一句话概括简化矢量数据集中要素的几何并确保简化结果是有效valid几何且与输入具有相同的维度和组件数量即不会改变几何类型、维度数 M/Z 与组件构成。该命令具备以下关键特性版本自 GDAL 3.12versionadded:: 3.12引入属于新一代gdal统一命令体系中的gdal vector子命令族注册入口见 apps/gdalalg_vector.cpp。算法采用最大距离差maximum distance difference算法与经典 Douglas-Peucker 算法所用思想类似但额外保证了输出几何的拓扑有效性。底层依赖通过OGRGeometry::SimplifyPreserveTopology方法实现声明见 ogr/ogr_geometry.h、C 接口见 ogr/ogr_api.h。该命令要求 GDAL 以 GEOS 库编译构建否则会直接报错详见下文源码分析。拓扑范围拓扑保持是按要素per feature级别的而不是针对整个图层。因此输入中原本相邻contiguous的几何之间简化后可能出现缝隙gaps或重叠overlaps。组合能力既可以独立使用也可以作为 gdal_vector_pipeline 的一个步骤step名为simplify参与流水线处理。流式输出支持将命令序列化为 GDALG 格式的 JSON 文件作为流式on-the-fly / streamed矢量数据集打开见 gdalg_vector_compatible.rst。二、工作原理最大距离差算法与SimplifyPreserveTopology2.1 算法思想官方文档明确指出本命令的简化使用“最大距离差算法”该算法与 Douglas-Peucker 算法类似给定一个容差tolerance算法会评估折线上中间顶点相对于其前后顶点连线的偏离距离凡是偏离距离小于容差的顶点都会被剔除从而用更少的顶点近似表达原始几何。与纯粹的 Douglas-Peucker 不同本实现经由 GEOS 的GEOSTopologyPreserveSimplify操作完成其核心保证是简化后的几何不会发生拓扑错误——例如不会自相交、不会产生退化环等确保输出几何保持有效。2.2 源码级调用链在 apps/gdalalg_vector_simplify.cpp 的TranslateFeature中核心逻辑如下if (auto poGeom std::unique_ptrOGRGeometry( poSrcFeature-StealGeometry(i))) { poGeom.reset( poGeom-SimplifyPreserveTopology(m_opts.m_tolerance)); if (poGeom) { poGeom-assignSpatialReference(m_srcLayer.GetLayerDefn() -GetGeomFieldDefn(i) -GetSpatialRef()); poSrcFeature-SetGeomField(i, std::move(poGeom)); } }从源码可以提炼出三个关键行为逐几何字段处理命令遍历要素的每一个几何字段GetGeomFieldCount仅对“被选中”的几何字段执行简化。未选中的几何字段保持不变。简化后恢复空间参考SimplifyPreserveTopology返回的新几何本身可能不携带空间参考因此实现上显式调用assignSpatialReference从源图层定义GetGeomFieldDefn中取回 SRS 并重新绑定确保输出几何仍属于原坐标系。调用 GEOS 底层操作OGRGeometry::SimplifyPreserveTopology实现见 ogr/ogrgeometry.cpp会将 OGR 几何导出为 GEOS 几何调用GEOSTopologyPreserveSimplify_r(hGEOSCtxt, hThisGeosGeom, dTolerance)再通过BuildGeometryFromGEOS转换回 OGR 几何。2.3 GEOS 缺失时的行为这是使用本命令必须注意的前提条件。源码中有两处明确的守护逻辑在 apps/gdalalg_vector_simplify.cpp 的RunStep中若构建时未定义HAVE_GEOS会通过ReportError(CE_Failure, CPLE_NotSupported, This algorithm is only supported for builds against GEOS)直接失败并返回false。在 ogr/ogrgeometry.cpp 中无 GEOS 时SimplifyPreserveTopology本身也会报GEOS support not enabled.的CPLE_NotSupported错误并返回空指针。实践提示若你的 GDAL 构建未启用 GEOS运行本命令会立即报错而非静默产生错误结果。可通过gdal --version查看版本信息或构建配置确认是否启用了 GEOS。2.4 拓扑保持的边界按要素而非按图层文档特别强调SimplifyPreserveTopology保留的是每个要素内部的拓扑而不是整个图层的拓扑。这意味着同一要素内环之间、线与线之间的相对位置关系会被尽量保持不会自相交但不同要素之间原本共享的边界不会被协调统一——简化后原本无缝隙铺满contiguous的相邻多边形之间可能裂开出现缝隙或相互叠盖。如果你的数据是一套需要保留共享边界的多边形覆盖coverage请改用 gdal_vector_simplify_coverage对应命令gdal vector simplify-coverage它基于 Visvalingam-Whyatt 算法并需将整个数据集一次性载入内存。两命令对比如下表对比维度gdal vector simplifygdal vector simplify-coverage适用几何任意几何线、面等多边形polygonal数据集共享边界处理不保留可能产生缝隙/重叠保留共享边界不引入缝隙/重叠核心算法最大距离差类似 Douglas-PeuckerVisvalingam-Whyatt内存模型流式逐要素处理需将整个数据集加载进内存GEOS 要求需要 GEOS需要 GEOS 3.12 及以上输入中已有的缝隙/重叠不修正也不被修复不会修正输入中已有的缝隙/重叠若不需要保留要素间的共享边界官方文档明确推荐本命令因为其可以流式处理几何内存占用更低。三、命令语法与 Synopsis命令的完整用法可通过内置帮助获取gdal vector simplify --help-docSynopsis 由文档构建时通过program-output指令从程序本身生成见 gdal_vector_simplify.rst因此--help-doc输出的即是最权威、与当前构建版本严格一致的语法说明。从实现看apps/gdalalg_vector_simplify.cpptolerance被声明为位置参数SetPositional()、必选参数SetRequired()最小取值 0含。命令的基本形态为gdal vector simplify tolerance input_dataset output_dataset [options]四、程序专属选项--tolerance TOLERANCE--tolerance是本命令唯一专属选项语义如下该值是用作简化输出几何时合并连续点的容差经由OGRGeometry::SimplifyPreserveTopology方法生效距离的单位是源图层的地理参考单位georeferenced units。要点解释单位语义容差的单位跟随源图层坐标参考系。若源数据为经纬度EPSG:4326则容差以“度”为单位若为 UTM 等投影坐标系单位为米则以“米”为单位。官方示例--tolerance1000即是在“CRS 单位为米”的前提假设下表示 1 千米。取值约束源码中AddArg(tolerance, ...).SetMinValueIncluded(0)强制容差 ≥ 0。自动化测试 test_gdalalg_vector_simplify.py 验证了传-1或NaN会抛出异常错误信息形如Value of argument tolerance is ..., but should be 0。取值效果容差越大被合并/剔除的顶点越多简化越激进、输出几何顶点越少容差为 0 时几何基本保持不变仅可能消除零长度退化线段。容差选择的经验法则应结合数据用途确定。用于制图输出时容差通常取地图最小可见分辨率的 12 倍用于数据分析时取精度需求的数分之一即可容差过大可能丢失有意义的转折点需反复目视检查结果。五、标准选项详解除了专属的--tolerance本命令还继承了gdal vector系列命令的通用选项。这些选项的官方定义分布在 doc/source/programs/gdal_options 目录下的各.rst片段中通过 include 机制合入命令文档见 gdal_vector_simplify.rst。以下逐一说明5.1 几何与图层范围控制选项说明--active-geometry ACTIVE-GEOMETRY按名称指定参与处理的几何字段。指定后仅该几何字段被简化其他几何字段原样保留不指定时所有几何字段都会被处理。可与--active-layer组合使用。定义见 active_geometry.rst。--active-layer ACTIVE-LAYER按名称指定参与处理的图层。指定后仅该图层被处理其余图层原样输出不指定时所有图层都会被处理。定义见 active_layer.rst。--input-layer INPUT-LAYER指定要读取的图层名默认读取全部图层。如果只想读写所有图层但仅处理其中一部分则应使用--active-layer而非--input-layer。定义见 input_layer.rst。--output-layer NAME指定输出图层名称不指定时输出图层名与输入图层名保持一致。定义见 output_layer.rst。从源码看--active-geometry与--active-layer由基类GDALVectorGeomAbstractAlgorithm统一解析见 apps/gdalalg_vector_geom.cppRunStep中会按m_activeLayer匹配图层命中则挂接CreateAlgLayer产生的算法层未命中则挂接透传层passthrough从而实现对未选中图层“原样输出”的保证apps/gdalalg_vector_geom.cpp。而算法层GDALVectorGeomOneToOneAlgorithmLayer通过IsSelectedGeomField(i)判断几何字段是否被选中apps/gdalalg_vector_geom.h。5.2 输入/输出格式与驱动选项选项说明--if, --input-format format指定打开输入文件所用的驱动名。通常无需指定但在自动驱动探测失败时可用来跳过探测。可重复多次以指定多个候选驱动。注意它并不会“强制”某驱动打开数据集部分驱动对文件扩展名有要求。定义见 if.rst。-f, --of, --format, --output-format OUTPUT-FORMAT指定输出矢量格式。可用取值可通过gdal --formats \| grep vector \| grep rw \| sort列出。定义见 of_vector.rst。--co, --creation-option NAMEVALUE数据集创建选项随驱动而异例如 GeoPackage 驱动可控制版本。可重复。可通过--formats查看驱动支持项但各驱动文档才是权威来源。注意它不同于图层创建选项。定义见 co_vector.rst。--lco, --layer-creation-option NAMEVALUE图层创建选项随驱动而异例如 GeoPackage 驱动可控制要素标识符、几何列名等。可重复。定义见 lco.rst。--oo, --open-option NAMEVALUE数据集打开选项格式特定。可重复。定义见 oo.rst。--output-open-option, --output-oo NAMEVALUE输出数据集的打开选项格式特定自 GDAL 3.12 引入。可重复。定义见 output_oo.rst。5.3 写入行为控制选项说明--append允许向已有图层追加要素若输出数据集尚不存在同时会创建它。定义见 append_vector.rst。--overwrite允许覆盖已存在的目标文件/数据集默认情况下若目标已存在程序会直接报错退出。定义见 overwrite.rst。--overwrite-layer允许覆盖已存在的输出矢量图层。定义见 overwrite_layer.rst。--update以更新模式打开已存在的输出数据集。定义见 update.rst。--upsert--append的变体自 GDAL 3.12 引入改用OGRLayer::UpsertFeature插入或更新要素而非CreateFeature追加。目前仅少数驱动实现GPKG、Elasticsearch、MongoDBv3即暴露GDAL_DCAP_UPSERT能力的驱动。upsert 以输入要素的 FID 为键更新已有要素当 FID 已设置且 FID 列名非空时务必保证源与目标图层的 FID 一致。GPKG 驱动还支持对 FID 未设置或无意义的要素按 UNIQUE 列 upsert可配合gdal vector edit --unset-fid使用。定义见 upsert.rst。--skip-errors忽略写入要素时的失败自 GDAL 3.12 引入。注意该选项会把事务单元大小设为每次一个要素插入数据库时可能造成严重性能下降。定义见 skip_errors.rst。六、实战示例6.1 官方示例以 1 千米容差简化官方文档给出的标准示例假设源 CRS 单位为米则 1000 表示 1 km$ gdal vector simplify --tolerance1000 in.gpkg out.gpkg --overwrite执行要点in.gpkg为输入 GeoPackageout.gpkg为输出--overwrite允许覆盖已存在的out.gpkg。命令会读取in.gpkg中全部图层对全部几何字段执行简化并将图层名原样写入输出文件。6.2 仅处理特定图层与几何字段$ gdal vector simplify --tolerance500 \ --active-layer roads \ --active-geometry SHAPE \ in.gpkg out.gpkg --overwrite--active-layer roads只简化名为roads的图层其余图层按原样复制到输出。--active-geometry SHAPE只简化名为SHAPE的几何字段多几何字段数据集中其他几何字段保持不动。6.3 显式指定输入与输出格式$ gdal vector simplify --tolerance0.001 \ --if GPKG --of GPKG \ in.gpkg out.gpkg --overwrite--if GPKG跳过自动探测直接用 GeoPackage 驱动打开输入。--of GPKG明确输出格式为 GeoPackage。6.4 与gdal vector pipeline组合gdal vector simplify可以作为 gdal_vector_pipeline 中的simplify步骤使用。管道中每个步骤以!分隔第一步必须是read或concat最后一步通常是write$ gdal vector pipeline \ ! read in.gpkg \ ! simplify --tolerance1000 \ ! write out.gpkg --overwrite实际运行时可将多步骤串成一行。例如“读取 → 简化 → 重投影 → 写出”$ gdal vector pipeline ! read in.gpkg ! simplify --tolerance1000 ! reproject --output-crsEPSG:32632 ! write out.gpkg --overwrite在管道中simplify步骤与独立命令共享同一套参数语义--tolerance、--active-geometry、--active-layer等。大多数管道步骤采用按需on-demand逐要素求值的方式不会在每一步将中间结果落盘若出于性能考虑需要将中间结果物化到磁盘可查阅gdal vector materialize见 gdal_vector_pipeline.rst。此外本命令同样支持被序列化为 GDALG 流式数据集# 将简化逻辑写入 JSON 文件 $ gdal vector simplify --tolerance1000 in.gpkg in_simplified.gdalg.json --overwrite # 之后把该 JSON 当作普通矢量数据集打开实时流式应用简化 $ gdal vector info in_simplified.gdalg.jsonGDALG 输出的核心机制是将命令行不含最终write步骤序列化为 JSON 文件随后可由vector.gdalg驱动以 on-the-fly / streamed 方式打开并应用指定管线详见 gdalg_vector_compatible.rst 与 gdal_vector_pipeline.rst。七、行为细节与自动化测试佐证仓库中的自动化测试 autotest/utilities/test_gdalalg_vector_simplify.py 以require_geos标记运行覆盖了本命令的核心行为可作为理解其语义的权威佐证顶点合并输入LINESTRING(0 0,1 1,2 0)设置tolerance 2后输出为LINESTRING (0 0,2 0)——中间顶点(1 1)因偏离量在容差内被合并剔除。空间参考保持源图层使用 EPSG:32631 坐标系输出几何的 SRS 权威代码仍为32631验证了源码中assignSpatialReference的恢复逻辑。空几何透传无几何的要素在输出中几何仍为空None要素数量保持不变GetFeatureCount() 2。流式输出能力测试以output-format stream方式调用算法验证其可作为流式算法被GetDataset()消费。能力转发输出层通过TestCapability转发源层的随机读取、快速要素计数无属性/几何过滤时、快速范围计算等能力见 apps/gdalalg_vector_geom.h。参数校验tolerance取-1或NaN时抛错消息为Value of argument tolerance is ..., but should be 0。八、返回状态码命令执行结束返回状态码约定见 return_code.rst0执行成功非 0执行出错。以警告形式发出的非阻塞错误non-blocking errors仍视为执行成功。九、常见问题与注意事项汇总未启用 GEOS 构建运行即失败报This algorithm is only supported for builds against GEOS。请确认构建时启用了 GEOS。容差必须 ≥ 0 且为数值传负数、NaN或省略--tolerance必选参数都会报错。容差单位与坐标参考系强绑定经纬度数据用“度”、投影数据用投影单位米/英尺等跨 CRS 混用会导致简化结果与预期不符。拓扑保持仅限要素内部相邻要素间可能产生缝隙或重叠需要保留共享边界时请改用gdal vector simplify-coverage注意其要求 GEOS 3.12 且整体载入内存。简化后的几何有效性算法保证输出有效几何但简化会改变要素顶点密度若后续用于高精度分析应结合容差与业务精度要求谨慎取值。写库性能启用--skip-errors会将事务单元降为单要素批量写入数据库时性能可能明显下降--upsert仅适用于少数驱动且需保证 FID 一致性。通过以上内容你可以将gdal vector simplify应用于数据压缩、制图概括、在线简化预处理等场景并可依据 gdal_vector_simplify.rst、实现源码 与 测试用例 进一步深入其实现细节。赞分享GIS遥感数据工程【免费下载链接】gdalGDAL is an open source MIT licensed translator library for raster and vector geospatial data formats.项目地址https://gitcode.com/gh_mirrors/gd/gdal点击查看免费下载相关推荐GDAL 矢量算法 GDALG 输出将 gdal 命令序列化为 JSON实现按需流式矢量数据集GDAL 矢量算法 GDALG 输出将 gdal 命令序列化为 JSON实现按需流式矢量数据集 GDALGGDAL ALGorithm输出格式允许把GIS遥感数据工程GDAL gdal raster clip 命令全解析栅格裁剪、边界框与矢量模板用法指南GDAL gdal raster clip 命令全解析栅格裁剪、边界框与矢量模板用法指南 gdal raster clip 是 GDAL 3.11 引入的统一GIS遥感数据工程GDAL gdal raster slope 坡度图生成命令全面指南算法、单位换算与实战用法GDAL gdal raster slope 坡度图生成命令全面指南算法、单位换算与实战用法 gdal raster slope 是 GDAL 3.11 新增GIS遥感数据工程上一篇OpenCore Configurator 上手指南半小时生成一份可验证的 OpenCore 引导配置下一篇在电脑上玩 Switch 游戏yuzu 模拟器从零基础到跑通全流程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Farm 示例测试指南:用 test-examples 与 test-e2e 精确验证单个示例

Farm 示例测试指南:用 test-examples 与 test-e2e 精确验证单个示例

前端构建构建工具开发工具 【免费下载链接】farm Extremely fast Vite-compatible web build tool written in Rust 项目地址: https://gitcode.com/gh_mirrors/fa/farm 点击查看 免费下载 Farm 是一个用 Rust 编写的现代 Web 构建工具,仓库通过 exampl…

2026/10/13 14:45:01 阅读更多 →
aspWebServer:Win11下免IIS调试经典ASP的轻量级方案

aspWebServer:Win11下免IIS调试经典ASP的轻量级方案

简介:本资源是一款专为ASP开发者打造的轻量级本地测试服务器工具aspWebServer,面向Web初学者、ASP传统项目维护人员及需脱离IIS快速验证脚本的开发人员,解决ASP网站在无IIS环境下的本地调试难题。压缩包共23个文件,含4个可执行程序…

2026/10/13 14:43:55 阅读更多 →
VS Code 调试 TypeScript 断点不生效?sourcemap 与 launch 配置全解析

VS Code 调试 TypeScript 断点不生效?sourcemap 与 launch 配置全解析

简介:这份资源面向希望在 Visual Studio Code 中高效调试 TypeScript 的开发者,尤其适合刚接触 TS 调试配置、需要快速跑通断点调试流程的初中级前端或 Node.js 工程师。包内共 10 个文件,以 5 个 json 配置、2 个 ts 源码为主,另…

2026/10/13 14:43:55 阅读更多 →

最新新闻

Windows 上从零安装配置 Claude Code 完整指南:Node.js、终端与 VS Code 集成

Windows 上从零安装配置 Claude Code 完整指南:Node.js、终端与 VS Code 集成

1. 为什么 Windows 上跑 Claude Code 值得单独写一篇在 Mac 和 Linux 上装 Claude Code,基本就是一行命令的事。但到了 Windows,情况立刻变得复杂起来:终端环境有 CMD、PowerShell、Windows Terminal、Git Bash 好几套,Node.js 的…

2026/10/13 15:33:17 阅读更多 →
基于SpringBoot的社区旧衣物回收与捐赠系统设计与实现

基于SpringBoot的社区旧衣物回收与捐赠系统设计与实现

1. 为什么"旧衣物回收"值得做成一个完整的系统 先聊点实际背景。这几年小区的旧衣物回收箱越来越常见,但很多人也发现了问题:箱子满了没人及时清运、衣物到底去了哪里、捐赠是否真正送达、居民参与后没有任何反馈。社区、物业、公益组织三方各…

2026/10/13 15:33:17 阅读更多 →
showboat 执行层设计揭秘:为什么非零退出码不算错误——os/exec 与退出码处理细节

showboat 执行层设计揭秘:为什么非零退出码不算错误——os/exec 与退出码处理细节

【免费下载链接】showboat Create executable documents that demonstrate an agents work 项目地址: https://gitcode.com/gh_mirrors/sh/showboat 点击查看 免费下载 showboat 是一个用 Go 编写的开源工具,帮助 AI Agent 生成可执行演示文档——把注释…

2026/10/13 15:33:17 阅读更多 →
广东省30米DEM高程数据全流程实战:从下载到地形分析

广东省30米DEM高程数据全流程实战:从下载到地形分析

简介:这份广东省30米分辨率DEM高程数据面向GIS从业者、地理科研人员及规划决策者,用于地形分析、坡度坡向计算、排水方向模拟与自然灾害风险评估等场景。数据以Shapefile矢量格式组织,同时附带GeoTIFF栅格文件,可在ArcGIS、QGIS等…

2026/10/13 15:33:17 阅读更多 →
强化学习速查表深度解析:从 Bellman 方程到蒙特卡洛与时序差分算法

强化学习速查表深度解析:从 Bellman 方程到蒙特卡洛与时序差分算法

示例工程 【免费下载链接】deep-reinforcement-learning Repo for the Deep Reinforcement Learning Nanodegree program 项目地址: https://gitcode.com/gh_mirrors/dee/deep-reinforcement-learning 点击查看 免费下载 这份速查表(Cheatsheet&#xf…

2026/10/13 15:33:16 阅读更多 →
黑胶唱片旋转效果:用requestAnimationFrame实现高精度匀速转动

黑胶唱片旋转效果:用requestAnimationFrame实现高精度匀速转动

1. 项目概述:用代码“转”出一张会呼吸的黑胶唱片你有没有盯着老式唱机上那张缓缓旋转的黑胶唱片发过呆?不是为了听歌,而是被那种沉稳、连续、带着轻微震颤的物理转动本身吸引——指针划过沟槽的微响、唱片边缘泛起的柔光、转盘轴承里藏着的精…

2026/10/13 15:32:14 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/12 21:05:09 阅读更多 →
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 阅读更多 →