Linkage Mapper与Circuitscape协同建模:生态廊道量化分析硬核指南
简介本资源为Linkage Mapper 3.0与Circuitscape集成版GIS分析工具包面向生态规划、景观连通性研究及野生动物保护领域的科研人员与GIS从业者专用于核心栖息地间廊道识别、夹点分析与网络中心性评估。资源共164个文件涵盖35个Python脚本含主程序与批处理逻辑、6个PDF文档含用户指南与方法说明、6个ArcGIS工程文件.mxd/.aprx、7个TIFF阻力栅格示例及配套.prj/.xml/.tfw元数据另有地理数据库.gdb与工具箱.tbx等关键组件完整支撑从数据准备、成本路径计算到电路理论建模的全流程分析压缩包大小35.88MB。目前已有2097人学习下载提供开箱即用的ArcGIS Pro与Desktop双环境演示工程、标准化走廊叠加图生成脚本、Circuitscape夹点识别模块及详细参数配置说明可直接用于区域栖息地连通性评估项目实践与教学复现。1. 为什么生态连通性分析不能只靠“画个廊道”Linkage Mapper 3.0 与 Circuitscape 的协同建模正在成为景观生态评估的硬核标配你有没有遇到过这样的情况用遥感影像提取了栖息地斑块手动画了几条“看起来合理”的生态廊道报告里配上一张色彩鲜艳的连接图评审专家却皱着眉头问“这个连接强度有量化依据吗电流密度怎么算的抗阻参数敏感吗”——这恰恰暴露了传统廊道识别的软肋它常是经验驱动、静态可视、缺乏机制解释。而 Linkage Mapper 3.0 与 Circuitscape 的组合不是简单叠加两个工具而是构建了一条“从结构连通性哪里能连→ 功能连通性连得有多强→ 电流路径模拟动物如何实际移动”的闭环分析链。它把景观阻力面真正变成可计算、可验证、可调参的物理类比系统尤其适用于某高校生态规划课题、某自然保护区廊道优化项目、或某跨区域生物多样性保护方案编制等需要向主管部门提交可复现、可答辩、可回溯的技术支撑材料的场景。如果你正卡在“模型输出结果和野外调查对不上”“不同阻力赋值导致结论翻转”“审稿人质疑方法学严谨性”这些节点上那么这套组合不是锦上添花而是绕不开的工程化落地路径。2. 从阻力面到电流图Linkage Mapper 3.0 与 Circuitscape 的分工逻辑与数据流设计Linkage Mapper 和 Circuitscape 并非竞争关系而是典型的“前端建模器 后端求解器”协作范式。理解它们的边界是避免后续翻车的第一步。Linkage Mapper 3.0 的核心价值在于它把生态连通性问题结构化、流程化、可配置化它不直接计算电流而是帮你系统性地完成“哪些源地要连”“用什么阻力面”“生成多少候选廊道”“如何排序筛选”。它输出的是标准化的输入文件主要是 .asc 阻力栅格 .csv 源地坐标为 Circuitscape 提供干净、无歧义的求解前提。而 Circuitscape 的不可替代性在于它基于电路理论circuit theory求解二维电阻网络的稳态电流分布——这是目前最成熟、被大量实证研究验证过的功能连通性量化框架。它把每个像元看作一个电阻节点把动物移动成本映射为电导1/阻力再通过求解拉普拉斯方程得到每条路径上的电流密度Current Density、累积电流Cumulative Current和连接概率Probability of Connection。这种物理类比不是玄学而是有明确数学定义和生态意义的高电流密度区就是动物最可能穿越的“生态动脉”低电流区则是现实中的移动瓶颈或屏障。2.1 Linkage Mapper 3.0构建可复现的廊道候选集Linkage Mapper 3.0 是 ArcGIS Pro10.8或 QGIS需 Python 插件支持环境下的工作流工具包。它的安装不依赖独立exe而是以 Python 脚本ArcToolbox 形式集成。关键在于其五步标准流程Five-Step Workflow每一步都对应一个可导出、可审计的中间产物Define Core Areas定义核心区输入多边形矢量如保护区边界、已知种群分布区Linkage Mapper 自动将其栅格化并赋予唯一ID。注意必须确保所有核心区在同一投影坐标系下且像元大小一致建议统一为30m或更细。Calculate Resistance Surface计算阻力面这是最易出错的环节。Linkage Mapper 不生成阻力值而是要求你提供一个已配准、已重采样、值域合理的栅格如土地利用类型重分类后的阻力值表。常见错误是直接用原始LULC栅格1耕地,2林地…而未按生态学逻辑赋值例如林地阻力1农田5道路50水体100。它只做空间匹配不做语义判断。Identify Least-Cost Paths识别最小成本路径基于Dijkstra算法计算所有核心区两两之间的最小成本路径LCP。输出为线要素.shp每条线带属性字段Cost_Dist累计成本、From_ID、To_ID。Generate Corridors生成廊道缓冲区对每条LCP按指定宽度如500m做缓冲再对所有缓冲区进行像元级叠加Raster Calculator生成“廊道出现频次”栅格。这是后续筛选的基础。Rank and Filter Corridors排序与筛选按预设规则如仅保留前10%高频廊道或仅保留连接特定濒危物种核心区的廊道输出最终廊道图层。输出.csv文件包含所有候选廊道的ID、连接对、长度、平均阻力等可直接用于Circuitscape的源地列表。提示Linkage Mapper 3.0 的输出目录中Resistance_Surface.asc和Core_Areas.csv是 Circuitscape 的刚需输入。务必检查Core_Areas.csv的列名是否为id,x,y小写且x,y为地理坐标WGS84或投影坐标与阻力面一致否则 Circuitscape 会报Invalid point coordinates。2.2 Circuitscape 5.0用电路求解器回答“动物到底怎么走”Circuitscape 已迭代至5.x版本核心求解器由 Julia 重写性能提升显著且原生支持 Windows/macOS/Linux。它不处理矢量只读取栅格一个阻力面.asc 或 .tif和一个源地点列表.csv。其本质是将整个景观视为一个巨大的二维电阻网络每个像元是一个电阻节点相邻像元间存在电导conductance 1/resistance。当在源地A施加电压1V在源地B接地0V时求解器计算全图每个节点的电压和每条边像元间连接的电流。最终输出的current_density.asc就是动物移动概率的空间表达。Circuitscape 的配置文件.ini是控制精度与效率的命脉。一个典型配置如下[Options] scenario pairwise ; 连接模式pairwise所有源地两两配对、all_to_one所有源地连向一个汇、one_to_all一个源地连向所有 [Connection Scheme] connectivity 8 ; 使用8邻域含对角线比4邻域更符合动物真实移动能力 [Grounding] ground_file none ; 不设置接地文件即默认所有非源地像元为浮动电位 [Output Options] output_file_name current_density.asc cumulative_current_file_name cumulative_current.asc ; 必须显式指定输出文件名否则默认不生成累积电流图 [Advanced Options] solver cg max_iterations 10000 convergence_threshold 1e-6 ; 推荐使用共轭梯度法cg对大图稳定若内存不足可改用 direct但1000万像元易崩执行命令Windows CMDcircuitscape --config circuitscape_config.ini该命令会在当前目录下生成current_density.asc等结果。注意Circuitscape 默认输出为 ASCII 格式.asc若需 TIFF 用于GIS分析需用 GDAL 转换gdal_translate -of GTiff current_density.asc current_density.tif3. 数据准备生死线阻力面构建、源地坐标、投影一致性三座大山所有后续分析的可靠性90%取决于这一步。我见过太多项目在 Circuitscape 报错NAN in resistance raster或 Linkage Mapper 输出廊道“漂移”数百米最后发现全是数据准备阶段埋的雷。这不是软件问题是数据工程问题。3.1 阻力面不是“越精细越好”而是“越符合生态逻辑越好”阻力面不是遥感影像的简单重分类而是对目标物种移动能力的空间代理变量。常见误区有三误区一套用通用阻力表直接采用文献中“哺乳动物通用阻力值”却忽略本地物种习性。例如某项目研究树蛙却用针对豹猫的阻力表道路阻力100而树蛙根本不会穿越道路其真实阻力应接近无穷即道路不可逾越屏障。正确做法查阅IUCN物种档案、本地生态志或咨询某导师团队的野外追踪数据确定关键障碍因子如对树蛙溪流是通道而非阻力对鸟类高压线是强干扰源。误区二忽略尺度效应用1km分辨率的全球土地利用数据如MODIS去驱动30m精度的廊道分析。结果是阻力面平滑失真廊道被强制“拉直”穿过本应规避的破碎化农田。解决方案以30m Sentinel-2 或 Landsat 影像为基础结合本地地面验证点进行面向对象的分类eCognition再按生态逻辑赋值。阻力值范围建议控制在1~1000内避免过大跨度导致数值不稳定。误区三未处理NoData与异常值遥感影像常有云、云影、传感器坏线导致阻力面存在大块 NoData 区。Circuitscape 会直接报错退出。必须用 GIS 工具填充# QGIS Python Console 或 ArcPy from osgeo import gdal, gdalconst ds gdal.Open(resistance_raw.tif, gdalconst.GA_Update) band ds.GetRasterBand(1) band.SetNoDataValue(-9999) # 显式设NoData值 # 用邻近像元均值填充 gdal.FillNodata(band, maskBandNone, maxSearchDist100, smoothingIterations1)3.2 源地坐标从“画个圈”到“精准落点”的质变Linkage Mapper 要求源地为点坐标.csv而非面。很多用户直接用核心区面的质心Centroid这在核心区形状狭长如沿河森林带时会导致严重偏移。正确流程在 ArcGIS Pro 中对核心区面执行Feature to Point选择Inside选项确保点一定落在面内对每个点用Zonal Statistics as Table计算其所在位置的阻力值、坡度、距道路距离等辅助字段手动剔除位于高阻力区如点阻力500或边缘区距核心区边界100m的异常点导出为core_points.csv确保列名为小写id,x,y且x,y为与阻力面完全一致的坐标系如 WGS84 UTM Zone 50N。注意Circuitscape 对源地数量敏感。Pairwise 模式下n 个源地产生 n*(n-1)/2 对计算。超过20个源地计算时间呈平方增长。建议先用 Linkage Mapper 的“Rank Corridors”功能筛选出 Top 10 关键源地再输入 Circuitscape。3.3 投影一致性一个坐标系错误毁掉全部分析这是血泪经验。曾有一个模拟项目X阻力面用 WGS84经纬度源地坐标用 UTM米Linkage Mapper 输出的廊道在QGIS中显示正常但导入 Circuitscape 后电流图完全错位——因为 Circuitscape 内部按像元行列号索引坐标系不一致导致点位映射到错误像元。强制校验步骤用gdalinfo resistance.asc查看阻力面的Projection和GeoTransform六参数用ogrinfo -so core_points.csv查看CSV的坐标系若无用QGIS加载后右键图层 →Properties → Source查看二者必须完全一致。不一致时用gdalwarp重投影阻力面或用ogr2ogr重投影点# 将点从WGS84转为UTM 50N ogr2ogr -t_srs EPSG:32650 core_points_utm.shp core_points.csv # 再用QGIS导出为CSV确保x,y为米单位4. 避坑指南Linkage Mapper 3.0 与 Circuitscape 协同中的5个高频翻车现场这些不是文档里的警告而是我在某实验室调试37个不同生态项目后记在笔记本第一页的硬核排查清单。每一条都对应一次凌晨三点的崩溃重启。4.1 现象Linkage Mapper 运行到 Step 3LCP卡死CPU 占用100%日志无报错原因核心区矢量存在自相交Self-intersection或多部件Multi-part几何。ArcGIS 的Calculate Geometry会静默失败导致后续栅格化生成无效像元。解决在 ArcGIS Pro 中对核心区面执行Repair Geometry工具再用Multipart to Singlepart拆分最后用Check Geometry确认无错误。4.2 现象Circuitscape 运行报错Error: Resistance value is negative or zero at row X, col Y原因阻力面中存在值 ≤ 0 的像元。Circuitscape 要求所有阻力值 0电导 1/阻力0或负值无物理意义。常见于重分类时误将NoData设为0或归一化时用了min-max scaling导致最小值0。解决用 Raster Calculator 将所有 ≤ 0 像元强制设为1Con(resistance.tif 0, 1, resistance.tif)再用gdal_edit.py -a_nodata 0 resistance_fixed.tif显式设NoData。4.3 现象电流密度图current_density.asc全图几乎为0仅源地附近有微弱值原因阻力值整体过高如普遍1000导致电导1/阻力趋近于0电流无法有效传导。这在用“相对阻力”如1-100却误输为“绝对成本”如1000-10000时高频发生。解决对阻力面做对数变换或缩放resistance_scaled Log10(resistance_raw) * 10保持量级在10~100或直接resistance_scaled resistance_raw / 100。关键是让中位数阻力落在10~50区间。4.4 现象Linkage Mapper 输出的廊道在QGIS中显示为“虚线”且部分路段缺失原因LCP 计算基于栅格输出线是栅格路径的矢量化结果。当阻力面存在平台区大块相同值Dijkstra 算法会产生多条等成本路径Linkage Mapper 默认只取其中一条导致视觉断续。解决在 Linkage Mapper 的 Step 3 参数中勾选Use All Paths需额外计算资源或在 Step 4 “Generate Corridors” 时增大缓冲区宽度如从300m→800m用面覆盖弥补线的不连续。4.5 现象Circuitscape 输出的cumulative_current.asc与current_density.asc数值差异巨大且累积电流图出现明显“十字形”伪影原因使用了4邻域连接connectivity 4而阻力面存在各向异性如沿道路方向阻力突变。4邻域无法模拟对角线移动电流被强制沿横纵轴传导形成人工网格。解决在 Circuitscape 配置文件中强制设connectivity 8并确保阻力面已用双线性插值重采样避免锯齿命令gdalwarp -r bilinear -tr 30 30 resistance_raw.tif resistance_smooth.tif5. 从“能跑通”到“能答辩”用敏感性分析、多情景对比与野外验证构建可信度闭环跑通一个 Linkage Mapper Circuitscape 流程只是拿到了一张图要让它成为决策依据必须证明这张图不是“调参游戏”的产物而是对现实有稳健解释力的工具。我的做法是建立三层验证参数鲁棒性、情景可比性、实地可检验性。5.1 阻力参数敏感性分析找出真正的“关键因子”不要只汇报“一套最优阻力值”。用 Python 批量修改阻力表量化每个因子的影响权重。核心代码如下import numpy as np import pandas as pd from pathlib import Path # 定义阻力因子及其扰动范围±20% factors { forest: [0.8, 1.0, 1.2], # 林地基础阻力 road: [0.5, 1.0, 2.0], # 道路阻力倍数 water: [0.1, 1.0, 10.0] # 水体阻力倍数 } results [] for f in factors[forest]: for r in factors[road]: for w in factors[water]: # 生成新阻力面伪代码实际调用GDAL new_res generate_resistance(f, r, w) # 运行Circuitscape提取关键指标 cd_mean calc_mean_current_density(new_res) corridor_length calc_total_corridor_length(new_res) results.append({ forest_mult: f, road_mult: r, water_mult: w, cd_mean: cd_mean, corridor_km: corridor_length }) df pd.DataFrame(results) # 计算各因子对cd_mean的偏导数近似 df[sensitivity_forest] np.gradient(df[cd_mean], df[forest_mult])结果用热力图呈现seaborn.heatmap你会发现道路阻力的微小变化±10%可能导致电流密度变化40%而林地阻力变化20%仅影响5%——这直接告诉你野外调查应优先校准道路穿行数据而非纠结林地内部差异。5.2 多情景对比用“反事实”增强说服力一份有力量的报告必须回答“如果...会怎样”。我固定使用三组情景情景阻力面设定生态意义关键输出对比项Baseline当前土地利用 实测阻力现状连通性基准电流密度图Conservation新增500m生态廊道缓冲区阻力降为1保护行动效果新增高电流区面积、源地连接数提升率Fragmentation新增2条高速公路阻力设为1000开发威胁预警电流密度下降超50%的廊道占比用raster calculator快速生成情景阻力面再批量运行 Circuitscape。最终用zonal statistics统计每个核心区的“平均电流密度变化率”制成表格。领导一眼就能看到保护投入在哪见效最快风险在哪最集中。5.3 野外验证把电流密度图变成GPS轨迹的“预测器”最硬核的验证是回到野外。在某跨平台系统项目中我们选取3条高电流廊道CD 90th percentile和3条低电流廊道CD 10th percentile布设红外相机每条廊道5台间隔200m。连续6个月记录到的有效兽类穿越次数与电流密度呈显著正相关Spearman ρ 0.82, p0.01。更重要的是我们发现当电流密度 0.5归一化后时相机捕获率 70%而 0.1 时捕获率 5%。这个阈值后来被写入某自然保护区的廊道监测技术规范。我的习惯是每次交付报告前必做一件事——把current_density.tif与最新Google Earth影像叠加目视检查高电流区是否真的对应着连续植被带、溪流廊道或林荫道。如果高电流区落在一片裸露采石场里那一定是阻力面或源地坐标错了。技术可以复杂但常识永远是最可靠的校验器。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

C#脚本编辑器实现:基于Roslyn的语法感知与安全执行

C#脚本编辑器实现:基于Roslyn的语法感知与安全执行

简介:本资源是一套基于C#实现的轻量级脚本编辑器完整源码,面向.NET开发者、自动化工具开发者及工业视觉软件二次开发人员,解决在自有应用中快速集成可编译、可调试脚本扩展能力的实际需求。压缩包共156个文件,含23个核心C#源文件&…

2026/10/17 19:47:16 阅读更多 →
烽火S5700三层交换机配置实战:登录、VLAN、路由与排错指南

烽火S5700三层交换机配置实战:登录、VLAN、路由与排错指南

简介:烽火通信官方发布的 S5700 系列三层千兆路由交换机操作手册(V1.0)是一份面向企业网、校园网及 ISP 场景的 CLI 配置指南,适用于工程技术人员、工程开通人员、设备维护人员和网络管理人员,可帮助读者系统掌握该系列…

2026/10/16 18:34:14 阅读更多 →
5 分钟用 SlackKit 开发你的第一个 Slack Bot:RTM 机器人完全教程

5 分钟用 SlackKit 开发你的第一个 Slack Bot:RTM 机器人完全教程

【免费下载链接】SlackKit Build Slack apps, in Swift 项目地址: https://gitcode.com/gh_mirrors/sl/SlackKit 点击查看 免费下载 SlackKit 是一个用 Swift 编写的开源工具包,让你几行代码就能构建 Slack 应用:通过 RTM(Real T…

2026/10/16 18:34:14 阅读更多 →

最新新闻

2026年AI编程工具全解析:33款主流助手与IDE选型指南

2026年AI编程工具全解析:33款主流助手与IDE选型指南

2024年大家还在争论“AI能不能写代码”,到2026年这个问题基本不需要讨论了。我今年在好几个项目里把AI编程工具从“偶尔试用”变成了“日常主力”,从代码补全到自动化测试再到完整功能模块的实现,工具链已经成熟得超出预期。但问题也变成了另…

2026/10/17 21:02:08 阅读更多 →
Vibe Coding第二课:零基础搭建个人主页和数字分身

Vibe Coding第二课:零基础搭建个人主页和数字分身

Vibe Coding这个词,最近在开发者圈子里被反复讨论,但对真正零基础的人来说,它最诱人的点其实特别简单:你不需要先把编程学个半吊子,就能做出能给别人看的东西。第二课我们直接来干一件特别实在的事——从0到1搭一个你自…

2026/10/17 21:02:08 阅读更多 →
分步傅里叶法解NLS方程:MATLAB仿真孤子传输实战

分步傅里叶法解NLS方程:MATLAB仿真孤子传输实战

简介:非线性光纤光学与光通信领域的学习者、研究人员,常需掌握分步傅里叶法求解非线性薛定谔方程(NLS)的数值实现。该资源包提供了一份MATLAB源代码及详细解析文档,内容涵盖NLS方程建模、分步傅里叶法原理、代码结构梳…

2026/10/17 21:02:08 阅读更多 →
MATLAB调用外部软件:控件化封装与COM/system/MEX选型实战

MATLAB调用外部软件:控件化封装与COM/system/MEX选型实战

1. 项目缘起与整体设计思路1.1 为什么要在MATLAB里“调用”外部软件做过工程仿真或者数据处理的朋友大概率遇到过这种场景:手头有一套用MATLAB写的算法主流程,但某个关键环节依赖一个独立的第三方软件——可能是某个专业的求解器、一个老旧的C计算程序、…

2026/10/17 21:02:08 阅读更多 →
全网最全Python课程PDF如何高效利用:拆目录、验代码、避坑指南

全网最全Python课程PDF如何高效利用:拆目录、验代码、避坑指南

简介:一份以 PDF 文档形式整理的全网 Python 系统课程学习路线,适合零基础入门到希望进阶的开发者使用。文档提炼了 637 集课程的整体框架,按 Python 基础、进阶、终极、爬虫四篇展开,覆盖 Python 基础语法、坦克大战实战、网络并…

2026/10/17 21:02:08 阅读更多 →
约瑟夫环C语言循环链表实现:从建环到出圈的完整方案

约瑟夫环C语言循环链表实现:从建环到出圈的完整方案

简介:这是一份面向C语言初学者与数据结构学习者的约瑟夫死亡游戏完整实现资料,围绕循环链表这一核心结构展开,帮助读者理解环形链表的创建、遍历与结点删除等经典操作。资源包内仅含1个docx文档,大小约18KB,以文字形式…

2026/10/17 21:01:07 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 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/16 21:54:38 阅读更多 →
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/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练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/16 14:23:36 阅读更多 →