秦岭shp文件下载与清洗指南:从坐标系转换到边界融合的完整实操
简介秦岭行政区划矢量数据是GIS研究与规划中的基础底图资源。资源包为完整的秦岭行政区划Shapefile标准文件包面向区域规划、资源管理、环境保护和科学研究等场景适用于地理信息从业者及高校师生可直接导入ArcGIS、QGIS等主流GIS软件完成行政边界可视化、面积测量、属性查询与专题叠加分析。压缩包共8个文件涵盖核心的.shp几何数据、.dbf属性表、.shx空间索引、.prj坐标系定义以及.xml元数据与.txt说明文档整体仅66KB轻量便于快速获取与应用。已有131人学习下载。资源内附元数据与使用说明用户可按需结合DEM、土壤、植被等专题数据开展多源空间分析同时提示了数据现势性、版权合规与共享交流等使用要点兼顾实用性与规范性能为秦岭地区相关地理空间研究提供可靠的数据支撑。1. 为什么非要秦岭的shp从模糊截图到一套能用的边界数据我接过的项目里至少有三次是因为“秦岭shp文件”翻车才找上门的。用户拿着行政区名称去搜下回来一个“秦岭地区shp”打开一看要么是十几年前的jpg截图要么是主脊线随手勾出来的光滑范围跟县界完全对不上。问题本质在于秦岭不是行政单位它横跨几个省的交界地带市界、县界都画不出一条完整的“山域线”。所以这份下载与使用指南真正解决的是如何把散落在不同来源里的行政边界数据取出来对齐坐标系清洗属性表最后融合成一张能用于裁剪、统计和制图的完整面要素。适合做生态评价、地质填图、保护区范围划定的人也适合学校里拿它做空间统计分析课程实验的同学。2. 找对数据源从哪里下载、怎么判断这份shp能用2.1 别把“泛秦岭范围”当成行政区边界不少平台标注“秦岭行政区划图”的shp实际上是用山脊线、缓冲区或者手工绘制的范围面好看但不带行政属性。你需要看清楚图层属性表里有没有行政区划代码标准字段通常是 12 位数字以及是否包含省级、市级、县级三级名称。如果只有一条“name”字段且值全是“秦岭”那它基本只能用来画示意底图不能用来做按县统计、不能做边界比对也不能直接作为法定范围出图。我一般会先打开属性表看字段数量。能用做分析的面数据至少应该有 4 个以上字段县级名称、上级地市名称、行政区划代码、面积或周长。字段太少后续做 dissolve融合时连按哪个字段分组都不知道这是最常见的选型失误。2.2 三个主要来源与取舍常见获取渠道有三种。第一种是省级基础地理信息公共服务平台提供的数据服务质量最稳坐标系通常是 CGCS2000字段规范但有的需要申请权限有的只提供省域范围要自己裁剪出秦岭区域。第二种是高校GIS课程资料站或者开源社区分享的历史数据下载方便很多是 WGS84 或西安80坐标系混乱属性表里中文字段经常出现乱码需要自己清洗。第三种是开源街图社区有完整的行政边界和道路水系数据格式是 GeoJSON 或 PBF后缀不直接是 shp但转换成本很低胜在免费且更新及时。三种渠道里我通常优先选第一种拿不到完整权限时用第三种做底图第二种只用来做属性对照。不建议直接搜索“秦岭shp下载”因为匹配结果里大量是截图、失效链接和带水印的前端瓦片包浪费时间。2.3 下载后第一时间做的三项检查拿到任何一份 shp 文件包后先确认配套文件是否齐全。一个完整的 shapefile 至少需要以下几个文件缺了哪个都会导致图层行为异常。文件后缀作用缺失后果.shp几何信息点线面坐标无法加载.dbf属性表数据只有图形无字段.shx几何索引部分软件打开超慢或警告.prj坐标参考定义坐标系变成未知.cpg声明 dbf 的字符编码中文属性乱码高发然后打开终端跑一条命令看图层结构我用的是 GDAL 自带的 ogrinfoogrinfo 秦岭边界.shp -so -al输出里重点看几行Feature Count 表示要素个数Extent 是地理范围Geometry 是几何类型Layer SRS 是坐标系定义。如果 SRS 显示为 UNKNOWN后面必须手动指定坐标系否则和其他数据叠加时大概率会偏。如果 Extent 的数值范围是百万级比如 36000000 这种说明数据用的是投影坐标系如果是 100 左右的数值就是地理坐标系。这一步能帮你提前判断后续要不要做投影转换。从拿到数据到确认可用整个流程不超过三分钟。经过这三项检查的数据才能进入下一步做坐标和投影的统一处理。3. 坐标系与投影让秦岭边界落在该在的位置上3.1 三个基准面WGS84 / CGCS2000 / 西安80秦岭地区的 shp 文件最常见的是三种坐标系WGS84CGCS2000西安80。WGS84 是全球定位系统的坐标框架绝大多数 GPS 设备采集的经纬度都是它开源街图数据也用它。CGCS2000 是国内测绘成果的现行标准省级公共服务平台的数据现在基本都转到这个框架上。西安80 是早期测绘成果常用的参心坐标系很多老课程资料站的数据还在用它。这三者之间最大的差别是椭球体和基准面的定义不完全一致哪怕同一个经纬度坐标落在不同框架下的位置偏差可能达到几十米到上百米。所以在把多个来源的数据叠加之前必须统一到一个坐标框架下否则边界重叠之后会有肉眼可见的错位面积计算也会跟着错。我一般以 CGCS2000 为统一框架因为后续如果要把结果提交给规划评审行政边界数据用 CGCS2000 最不容易被质疑。3.2 给秦岭区域选投影坐标系地理坐标系用经纬度表达位置适合定位和查询但直接用它计算面积、长度会把结果扭曲。秦岭跨了几个省的交界地带东西跨度大南北也有数公里。做面积统计时我会用等积投影保证图形面积和实际面积比例一致做显示或配合在线地图切片时转成 Web 墨卡托会更顺手。最常见的选择是 Albers 等积圆锥投影双标准纬线覆盖北纬 20 到 40 度之间的区域中央经线取 105°E 左右时秦岭区域整体变形很小。如果数据本身是高精度地籍或测绘成果可能已经按 3 度带高斯-克吕格投影分带这时要确认带号和中央经线避免把相邻带的图硬叠在一起。3.3 用 Python 统一坐标系的实操拿到数据后我习惯直接用 GeoPandas 处理。下面的操作把读取到的数据转换到 Albers 等积投影并打印转换前后的范围做核对import geopandas as gpd # 读取一份多方来源拼接的秦岭边界数据 gdf gpd.read_file(qinling_raw.shp, encodingutf-8) print(gdf.crs) # 先看来源坐标系 # 如果来源坐标系缺失必须手动指定 if gdf.crs is None: gdf gdf.set_crs(epsg4326, inplaceFalse) # 假设经纬度是 WGS84 # 统一转到适合面积统计的等积投影 gdf_aea gdf.to_crs(projaea lat_125 lat_247 lat_00 lon_0105 datumWGS84) print(gdf_aea.crs) print(gdf_aea.total_bounds) # 查看范围是否跨带或异常这段代码里最关键的是if gdf.crs is None这个分支。很多下载来的旧 shp 文件没有 .prj 文件GeoPandas 读取之后 crs 为空如果你不先手动指定坐标系就直接 to_crs结果是完全不可信的。参数上epsg4326 表示 WGS84 经纬度Albers 投影参数里的 lat_1、lat_2 是标准纬线lon_0 是中央经线我取 105°E 是为了覆盖秦岭的主轴线。用这种方式统一坐标后再去做叠加分析边界才能落在该在的位置。如果发现 total_bounds 里的数值非常奇怪比如纬度出现 40 以上同时经度出现 1000 以上大概率是原始数据本身是投影坐标却被当成了经纬度读入。这时候要先把它定义回它原本的投影坐标系再转换成目标坐标不能跳步。4. 属性清洗与边界融合从碎片行政面到一张完整山域图4.1 读进 GeoDataFrame 后清理字段秦岭区域不是单一行政区它的边界是多个省级、市级、县级面数据拼接出来的。下载到的数据通常有两种情况一种是单图层但属性表里每条记录对应一个县另一种是跨省分图层每个省份一个 shp。在我处理过的模拟项目X里最常见的问题是同一个县存在两条记录一条是调整前的旧边界一条是新边界两个要素在空间上有重叠。清理的第一步是打印字段列表和重复值检查import geopandas as gpd gdf gpd.read_file(qinling_county.shp, encodingutf-8) # 检查字段结构 print(gdf.columns.tolist()) print(gdf.dtypes) # 检查行政区划代码是否有重复 dup gdf[gdf.duplicated(subsetPAC, keepFalse)] print(f重复要素数量{len(dup)})字段名如果是中文且读出来乱码先检查 .cpg 文件是否声明了 GBK 或 UTF-8。实在乱码就把字符集改成 gbk 重新读取。重复字段处理上我会优先保留记录时间更新的那条或者属性表里面积更接近理论面积的那条。这种细节看着不起眼但实际上影响后面融合结果不是说 dissolve 一按就完事。4.2 按需融合边界 dissolve当数据确认无误后核心一步就是融合。如果要做整个秦岭山域的边界范围线直接把所有县级面 dissolve 成一个多边形如果要做按地市或按流域分组则要指定一个分组字段。# 按地市名称融合保留每个地级市的属性 dissolved gdf.dissolve(bycity_name, aggfuncfirst) # 如果不分组融成单纯一个面用于提取山域外轮廓 union_boundary gdf.unary_union print(dissolved.head()) print(f融合后的要素个数{len(dissolved)})dissolve 参数里 by 指定融合分组的依据字段aggfunc 决定非几何字段如何合并。用 first 表示保留第一条记录的值如果字段是面积、人口这种数值型可以用 sum 做汇总。融合后一定要检查几何是否有异常比如是否存在狭长的 sliver 多边形。这种碎片通常是源数据里相邻县界的公共边不重合导致的看起来是一条细缝但在后续裁剪 DEM 时会多出一整条无意义的窄带。我处理这个问题的习惯是融合后先用一个最小面积阈值过滤掉过小的要素再检查多边形是否自相交。GeoPandas 里没有内置的修复功能需要借助 shapely 的buffer(0)做几何自修复from shapely.validation import make_valid # 对每个要素强制修复无效几何 dissolved[geometry] dissolved.geometry.apply(make_valid)make_valid 把自相交、环方向错误这类问题处理成合法的面要素这是做融合后最少不了的一步。不修复后续做空间连接时经常会报“拓扑错误”让整个流程卡死。4.3 用山域范围线裁剪和纠偏融合完得到的往往是一整片多边形但它可能把山脚平原也包含进去了。如果项目要求严格限定在自然山体范围内就需要叠一条“秦岭范围线”做裁剪。范围线来源有两种一种是从水文分水岭数据里提取一种是用高程阈值生成的山体范围。用半官方范围线做裁剪的代码非常直白# range_line 是包含山域范围面的矢量文件 clip_gdf gpd.overlay(dissolved, range_line, howintersection) clip_gdf.to_file(qinling_final.shp, encodingutf-8)gpd.overlay 的 how 参数选 intersection意思就是保留 dissolved 与范围线重叠的部分。与手动裁剪 clip 工具相比overlay 同时会修正两个图层的字段不容易出现裁剪之后属性表丢列的问题。裁剪出来之后我还会再次检查一下要素个数。如果发现碎面超过三个以上说明范围线的精度太低需要先用相关工具做线的平滑简化再重新叠加。到这一步得到的 qinling_final.shp 才算真正能用于统计分析。它几何上合法、属性上干净、坐标系统一、边界贴合山域范围。很多用户拿到手直接用的“秦岭shp”其实缺失的就是这一层清洗与融合。5. 常见问题排查与避坑五个不能忽视的细节5.1 打开 shp 中文乱码提示缺少 .shx 文件现象属性表里中文字段全部变成“锟斤拷”或者问号有时软件直接提示“无法打开或缺少文件”。原因有两个一是 shp 配套的 .shx 文件缺失几何属性加载不完整二是 .dbf 文件是 GBK 编码而软件默认用 UTF-8 读取。解决先补回缺失的 .shx 文件最简单的方式是重新下载完整包或者用ogrinfo列目录时逐个找齐乱码问题则在 QGIS 里调整图层编码为 GBK或者在 Python 读取时指定encodinggbk。我后来做数据分发都会保留一个 .cpg 文件避免对方软件猜错编码。5.2 边界面叠加到卫星影像上偏偏离上百米现象shp 边界和影像图层的几何错开面整体朝一个方向偏移。原因多数是影像底图是 Web 墨卡托而边界数据是未定义的旧投影数据甚至原始就缺少 .prj 信息软件只能按无坐标系数据强行动态投影。解决先用 ogrinfo 确认原始坐标系再用set_crs固定原始框架最后to_crs转到目标坐标系。整个过程不能直接跨坐标基准转换否则偏移依旧。5.3 dissolve 后出现零碎小多边形面积明显异常现象融合后面图层里有几十个小的碎面有的甚至不足 1 平方公里。原因原始数据中县界之间有重叠或缝隙叠加范围线裁剪后产生了不闭合的 speckle加上 dissolve 后没有执行几何修复。解决先buffer(0)或make_valid修复几何再去掉面积小于设定阈值的碎面。阈值要根据你的分析尺度定我做区域级统计时通常去掉 0.01 平方公里以下的面。5.4 算面积总是比报告里的参考值大一圈现象用 GeoPandas 直接对经纬度数据取.area算出来明显偏大。原因没有做投影转换直接把经纬度当作平面坐标计算面积单位不是平方公里数值失真。解决先转成 Albers 等积投影再计算面积。用gdf.geometry.area / 1e6得到平方公里建议始终带上投影后的结果。这是手法问题不是数据问题。5.5 行政区划代码字段对不上统计结果张冠李戴现象两个来源同一县的代码不一致导致统计结果归错县级。原因不同版本修订后的行政区划代码部分县改区或者合并旧数据还在用旧代码。解决用权威行政区划代码表做一次映射统一字典有新旧代码差别的以最新版为准。6. 进阶用法把shp叠到DEM上算秦岭的平均海拔到了这一步你已经有一份可用的秦岭边界面接下来做一个真正落地的分析任务把边界叠加到 DEM 上统计整个山域的平均海拔。这个需求在生态项目里非常常见也是检验数据质量的试金石。首先准备一份覆盖秦岭范围的 DEM 栅格从公开渠道下载的 30m 分辨率数据基本够用。然后要用 rasterio 的 mask 功能按边界面对 DEM 做裁剪同时统计像元值import rasterio from rasterio.mask import mask as rio_mask import geopandas as gpd boundary gpd.read_file(qinling_final.shp) with rasterio.open(dem.tif) as src: out_image, out_transform rio_mask( src, boundary.geometry, cropTrue, nodata0 ) values out_image[0].ravel() values values[(values ! 0) (values -100)] # 去掉空值和异常值 mean_ele values.mean() max_ele values.max() print(f秦岭范围内平均海拔{mean_ele:.1f}m最大海拔{max_ele:.1f}m)cropTrue让输出栅格自动贴合边界范围nodata0声明栅格空值。关键点是要把裁剪出来的数值做一次过滤DEM 和边界交界处往往出现边界外的插值像元直接参与统计会把平均海拔压低。用边界面的投影坐标系与 DEM 保持一致这一步也已经在第 3 章解决过这里才能顺利对齐。得到平均海拔后可以继续往两个方向做一个是按市、县分组统计查看各区域间海拔差异用dissolve时保留的分组字段另一个是把平均海拔与植被指数、降水量叠加作为环境评价的因子图层。如果要做成更正式的结果可以把分析结果输出成栅格 TIFF 或者一份带统计结果的二维表格。我印象最深的一次翻车经历就是没有先检查边界和 DEM 的坐标系裁剪出来一片空白。从那以后我每次换数据源都强制走一遍先打印 crs再打印 total_bounds最后才做空间操作。这个流程花不到一分钟但能避免大半天白干希望帮到你。本文还有配套的精品资源点击获取

相关新闻

苍穹外卖Day03:菜品管理核心功能实现与踩坑复盘

苍穹外卖Day03:菜品管理核心功能实现与踩坑复盘

前两天还在跟登录接口和员工管理打交道的时候,我其实没意识到苍穹外卖这个项目真正好玩的地方在哪儿——直到day03进入菜品管理,我才找到那种“外卖店终于开火”的感觉。管理端从“能登录”走到“能上菜”,中间差的正好就是今天这一课&#x…

2026/10/11 12:54:40 阅读更多 →
新能源充电站负荷预测数据集构建:从数据对齐到LSTM建模

新能源充电站负荷预测数据集构建:从数据对齐到LSTM建模

简介:新能源充电站负荷预测数据集面向电力系统、智能交通与机器学习领域的研究者与开发者,整合时间序列用电记录、充电行为特征与外部环境参数,可支撑充电负荷预测建模、站点效能评估及电网协同优化研究。整套资源共32个文件,压缩…

2026/10/11 12:53:39 阅读更多 →
2G树莓派5打造完全离线AI语音助手实战

2G树莓派5打造完全离线AI语音助手实战

1. 项目概述:为什么2G树莓派5能撑起一个“完全离线”的AI语音助手?最近刷到不少标题党视频,说什么“8G版树莓派5才配跑AI”,点进去一看,全是调用云端API、依赖网络唤醒词检测、语音转文字扔给OpenAI再回传——这哪是离…

2026/10/11 12:53:39 阅读更多 →

最新新闻

图书销售管理系统数据库设计:建表、外键、事务与避坑指南

图书销售管理系统数据库设计:建表、外键、事务与避坑指南

简介:这是一份面向数据库课程设计或初学者的图书销售管理系统数据库设计文档,配套SQL Server实现,完整覆盖从项目背景、需求分析、概念模型设计到逻辑模型设计、建库录入、数据库操作及问题解决的全流程。资源以docx格式提供,共1个…

2026/10/11 13:45:08 阅读更多 →
2026终端对决:OpenClaw VS Chaterm,TaoToken 统一 Key 接入实测

2026终端对决:OpenClaw VS Chaterm,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/11 13:45:08 阅读更多 →
Codex CLI 0.6.5 安装配置指南:从 tar.gz 到终端 AI 编程助手

Codex CLI 0.6.5 安装配置指南:从 tar.gz 到终端 AI 编程助手

简介:这份资源是来自 PyPI 官方源的 codex 0.6.5 开源 Python 库压缩包,适合在分布式系统、Zookeeper 协调服务及云原生环境中工作的开发者使用,既可直接安装调用,也可阅读源码了解相关实现。压缩包共包含 639 个文件,…

2026/10/11 13:45:08 阅读更多 →
Jev 团队公开 Coding Agent 设计草案:每轮重新决定模型「该看什么」,fast-jev-compaction 只是第一步

Jev 团队公开 Coding Agent 设计草案:每轮重新决定模型「该看什么」,fast-jev-compaction 只是第一步

Jev 团队公开 Coding Agent 设计草案:每轮重新决定模型「该看什么」,fast-jev-compaction 只是第一步 【免费下载链接】fast-jev-compaction Claude Code plugin that replaces the compaction summary with Jev decisions: every tool call and result …

2026/10/11 13:45:08 阅读更多 →
波士顿房价数据集:从套娃zip到线性回归建模与避坑指南

波士顿房价数据集:从套娃zip到线性回归建模与避坑指南

简介:面向机器学习和数据科学入门学习者的波士顿房价数据集压缩包,适用于需要开展回归预测练习、特征工程或基础模型训练的开发者与学生。该数据集围绕经典房价预测场景展开,在压缩包内整合了数据说明、处理脚本和原始数据,便于快…

2026/10/11 13:45:08 阅读更多 →
YOLOv8+PyQt5自行车违停检测:完整源码与实战指南

YOLOv8+PyQt5自行车违停检测:完整源码与实战指南

简介:本资源面向计算机、人工智能、自动化等专业的在校学生与开发者,提供一套基于YOLOv8与PyQt5的自行车违规停放检测告警项目源码,可用于毕业设计、课程设计、学科竞赛或项目立项演示。项目包含自行车数据集、已训练好的YOLOv8模型及评估曲线…

2026/10/11 13:44:07 阅读更多 →

日新闻

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

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

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

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

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

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

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

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

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

2026/10/11 0:00:27 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 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/11 10:45:37 阅读更多 →
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/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练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/10 10:38:42 阅读更多 →