Shapefile底层机制拆解:多文件结构、属性关联与坐标系避坑
简介甘肃省基础矢量数据完整版shp格式面向GIS学习者、规划人员与地理数据分析者涵盖交通、水系、行政边界、地名注记及服务设施等多类地理要素可直接支撑地图制图、空间查询、规划决策等应用场景。压缩包共225个文件以Shapefile标准组成文件为主包括记录几何位置的.shp、存储属性信息的.dbf、维护空间索引的.shx以及包含坐标系统的.prj另有.sbn/.sbx空间索引构建与ArcGIS工程文件.mxd整体约17.3MB目录结构规整便于直接加载使用。目前已有3031人学习下载该数据包。数据内含国道、省道、县乡道、单线水系、乡镇名、加油站、建筑物区域、旅游景点等图层可在ArcGIS或QGIS中直接打开用于叠加分析交通网络、水资源或旅游资源分布也可作为区域研究的基础底图显著节省数据整理与预处理时间。1. 一份“打不开”的矢量数据为什么反而暴露了shp最核心的机制解压这份甘肃基础数据之后你看到的是整整一排.DBF文件地名、公路、县乡道、单线水系、乡镇名……很多人第一反应是“这不是数据库文件吗地图在哪”——这恰恰是 Shapefileshp最容易被误读的地方。它从来不是一个文件而是一组“同姓不同后缀”的文件合谋。文件名相同、后缀不同各管一段职责几何归几何、属性归属性、索引归索引。搞懂这份压缩包里矢量数据的组织方式你才能真正打开它、叠加它、分析它而不是哪一步“玄学”翻车了都不知道原因。这篇就从这堆文件出发把 shp 的底层机制一层层拆开。2. 多文件结构为什么一个“矢量地图”要拆成几个文件来唱一台戏2.1 SHP主文件一段二进制里的点线面骨架任选一个公路.shp用十六进制编辑器打开前 100 个字节你会看到一段特征极其明显的二进制头。它的前 4 个字节永远是00 00 27 0A换算成十进制就是9994。这个数字是 Shapefile 格式的“文件签名”相当于在告诉你我是一份合法的 shp 主文件。这 100 字节的文件头里藏着几组关键信息文件长度、版本号、主 shape 类型、以及边界范围Bounding Box。有意思的是这套文件头的字节序是“混搭”的——文件码和文件长度用大端Big Endian而版本号和 shape 类型反而用小端Little Endian。这不是设计者心血来潮而是因为文件头的前半段借用了早期某类工作站的字节序习惯后半段又向 x86 生态妥协。这种“历史遗留”直接导致了一个问题你自己写解析器时必须小心翼翼地区分每 4 个字节该按哪种序去读读错一个偏移整个文件就全乱了。为了让你直观感受到这个二进制骨架下面这段 Python 可以读取文件头中最重要的四个字段import struct with open(公路.shp, rb) as f: head f.read(100) # 前 4 字节文件码永远是大端写入的 9994 file_code struct.unpack(i, head[0:4])[0] # 第 24 字节起 4 字节整个文件的长度以 16 位字为单位大端 file_len_words struct.unpack(i, head[24:28])[0] # 第 28 字节起 4 字节版本号小端正常是 1000 version struct.unpack(i, head[28:32])[0] # 第 32 字节起 4 字节主 shape 类型小端 shape_type struct.unpack(i, head[32:36])[0] print(hex(file_code), file_len_words * 2, version, shape_type)文件长度之所以要“乘以 2”是因为单位不是字节而是 16 位字这对新手是个隐藏陷阱。而shape_type这一项直接决定整个文件的几何类型1是点、3是线、5是面。这份甘肃数据里加油站大概率是点1公路/国道/县乡道/省道/单线水系大概率是线3建筑物区域大概率是面5。一个 shp 文件只能装一种几何类型这是设计上的一条硬规则也是为什么这份数据要拆成十几个文件而不是一个文件全装下。文件的其余部分是在文件头之后排列的一堆“记录”。每条记录的前 8 个字节是记录头包含记录号和大端的内容长度记录头之后才是真正描述几何坐标的二进制内容。记录号从1开始递增这部分看着不起眼却是整个属性关联机制的地基。2.2 SHX索引地图缩放不卡靠的不是缓存是偏移表很多人没注意过.shx文件但在 QGIS 或 ArcGIS 里打开一个几百 MB 的 shp拖动、缩放还能保持流畅这个文件的功劳常被忽略。SHX 的全称是 Shape Index它不存任何几何细节只存“每条记录在 SHP 文件里从哪个字节开始、占多长”。SHX 的结构极其简单固定长度 100 字节的文件头之后每条记录固定 8 字节——4 字节记录偏移 4 字节记录长度。因为每条索引项长度固定GIS 软件可以把整个 SHX 一次性读进内存形成一个数组。当你要缩放时软件根据当前视野范围判断需要哪些要素然后回到这个索引数组查偏移再通过seek直接跳到 SHP 文件的对应位置读取那一条几何记录。整个过程走的是“随机访问”而不是把几 GB 数据全部读入再过滤这才是“不卡”的真相。如果用 SQL 做个类比SHX 相当于给 SHP 这张“大表”建了一个主键索引。没有它GIS 软件只能顺序扫描整个文件每条记录都得解析一遍几何坐标才能判断是否在视野内。数据量小的时候无所谓一旦要素数量上了十万级没有 SHX 的 shp 打开时能明显感觉到卡顿。2.3 那一堆“尾巴”文件从PRJ到CPG每个后缀都有活干我们平时说“一个 shp 文件”实际是拿“主文件名相同”的一群文件互相配合。.shp管几何.shx管索引.dbf管属性表这三件套是核心。但这份甘肃基础数据里你还可能看到.prj、.cpg、.sbn、.sbx等“配套人员”。.prj是坐标系描述文件里面的内容是一串 WKT 文本定义了这份数据在地球上“贴”在哪里。.cpg文件记录 DBF 属性表的字符编码比如UTF-8或GBK没有它中文属性非常容易乱码。.sbn和.sbx是空间索引的二元组只有使用 ESRI 系列软件时才生成作用是加速空间查询。面对这一堆文件最容易犯的错是“只拷贝了 .shp 和 .dbf 就走了”。结果发给别人之后对方打开发现要么看不到图、要么属性全乱。原因很简单你搬走了台柱子却没带配套的灯光和音响。Name 相同只是“一家人”的标识真正的信息分配在后缀里。3. 属性与几何的暗号DBF里的地名怎么找到地图上的那个点3.1 记录顺序就是外键为什么GIS没有“主键”也能关联打开地名.dbf你会看到一张典型的属性表每一行有一个名称、一个类型或编号。但你找不到一列叫“对应坐标”的字段。反过来打开地名.shp看到的也只是一个个坐标串。那属性行和几何点到底是怎么配对的答案朴素得惊人按顺序配对。SHP 文件里第 N 条几何记录对应 DBF 表里第 N 行属性记录没有中间商也不需要主键。这个设计的妙处在于省去了每个要素都要存一份 ID 的开销让记录长度最小化坏处也显而易见——任何一环插入、删除或排序整条链就全崩了。这种机制在 GIS 软件里表现为一种很经典的现象你用编辑器删除了一条几何记录但没有同步删除 DBF 里的对应行那么从这一条开始往后的所有要素都会发生“形状和属性错位”。表面上看每个点都能显示但点的名字全部张冠李戴。这种错位极其隐蔽因为在属性表里看不出任何异常必须叠加一个已知位置的要素比对才能发现。所以稍微成熟的 GIS 工具都会提供“同步编辑”功能来避免这个坑。3.2 拆成十个DBF的文件组织名称、道路、水系各自的图层语义再看这份甘肃基础数据的文件命名地名、公路、县乡道、单线水系、乡镇名、省道、国道、加油站、建筑物区域、郊区旅游景点。每个 DBF 对应一个要素类也就是 GIS 术语里的“图层”。为什么不能把这些要素合成一个文件呢因为 shp 有一个硬性约束一个文件只能存一种几何类型。如果你把点、线、面全塞进一个文件里文件头的shape_type字段就无法填写了。即使不考虑这个约束把不同要素混在一起也会让属性表变得极度“稀疏”——加油站的字段对公路没有意义公路的里程对景点也没有意义。拆开存放每个图层都只维护自己关心的属性列结构干净、查询高效也方便按专题发布。作者按图层拆分的粒度也透露了这批数据的使用目的道路精细化公路/国道/省道/县乡道拆开、基础地名检索地名/乡镇名、水系与建设现状单线水系/建筑物区域、公共服务加油站/旅游景点。这种组织方式是标准的“基础地理数据包”思路拿到 GIS 里不需要再重新分层直接按业务需求勾选图层叠加即可。3.3 定长字段的代价从DBF数据结构看属性表为什么“笨”DBF 是 dBase 时代流传下来的格式它的核心特征是“定长记录”每条记录的每个字段长度在表结构里写死数据区从头到尾按顺序排列。这种设计读取极快——只要知道记录号乘以记录长度一个seek就能精确跳到那一行完全不需要扫描。但代价是灵活性极差字段名最多 11 字节字符串超过预定义长度就会被截断想加一列字段必须重写整个文件。下面这段代码可以解析一个 DBF 的字段结构帮你理解“定长”到底是怎么回事import struct def read_dbf_schema(path): with open(path, rb) as f: head f.read(32) # 记录数第 4 到 7 字节小端 num_records struct.unpack(I, head[4:8])[0] # 文件头长度第 8 到 9 字节表示第一条记录从哪个偏移开始 header_len struct.unpack(H, head[8:10])[0] # 每条记录长度第 10 到 11 字节 rec_len struct.unpack(H, head[10:12])[0] fields [] while f.tell() header_len - 1: fd f.read(32) if fd[0] 0x0D: # 0x0D 表示字段描述区结束 break # 字段名占前 11 字节以 0x00 或空格补齐 name fd[0:11].split(b\x00)[0].decode(ascii, errorsreplace) ftype chr(fd[11]) # C字符型, N数值型 length fd[16] # 字段最大长度 fields.append((name, ftype, length)) return num_records, rec_len, fields这里有个藏在第 29 字节的语言驱动 IDhead[29]它决定了 DBF 属性数据用哪种代码页解释。但很多 shp 数据是从老数据库直接转换来的这个值是0x03意思是“未声明”于是中文属性表能不能正常显示就完全靠.cpg文件或者 GIS 软件里手动指定的编码来兜底。这也直接引出后面要讲的乱码坑。4. 坐标系为什么同一个shp换个软件就“漂”出几百公里4.1 PRJ里的WKT一行文本如何定义“地球上的位置”把一个 shp 数据拖进 GIS它与地图底图对不上是最常见也最让人恼火的问题。表象是位置偏移底层的根源几乎都集中在坐标系上。这一切的信息都写在.prj文件里它是一段 WKT 文本。拿一份常见的投影坐标数据举例.prj内容大致长这样GEOGCS[GCS_China_Geodetic_Coordinate_System_2000, DATUM[D_China_2000, SPHEROID[CGCS2000,6378137.0,298.257222101]], PRIMEM[Greenwich,0.0], UNIT[Degree,0.0174532925199433]]这段文本里出现了几个关键信息椭球体名称CGCS2000、长半轴6378137、扁率倒数298.257222101。坐标系的本质是“用一套规则把地球椭球上的位置映射成平面上的数字”。没有 PRJ 文件这串数字就失去了地理含义——它可以是经纬度也可以是投影后的平面米制坐标全凭软件猜测。4.2 “漂移”的机制投影坐标被当成了经纬度位置偏移的经典场景是这样的一份数据本来用的是投影坐标系坐标单位是“米”数值大约在X5e6、Y3e6这样的量级。但软件没能读取或压根没有.prj文件就默认按 WGS84 经纬度去解释它。结果就是这幅图被放到了大洋上的陌生位置——这就是你看到的“偏移几百公里”。为什么偏移能到几百公里因为投影坐标的“米”被当成了“度”。1 度经度在赤道附近大约是 111 公里一个 500 万量级的 X 坐标被当成度直接就漂到了地球对面。反之如果你把一份经纬度数据当成投影坐标来读图会缩成一个小点几乎看不见。很多跑了一辈子 GIS 的人最后发现图对不上原因往往就是这么一行.prj里写的坐标系和另一个数据不一致。要验证这份甘肃数据的坐标系是否正常最直接的办法是看text格式的.prj里有没有PROJCS关键字。出现PROJCS说明它已经经过投影只有GEOGCS则说明是纯粹的经纬度。还要留意中央经线central_meridian和带号——同样是高斯投影中央经线差 3 度投影结果就会横移大约 300 公里。4.3 叠加分析的第一个动作先把坐标系对齐这份甘肃基础数据里公路、县乡道、单线水系可能来自不同的数据源批次它们的坐标系未必一致。你在做叠加分析之前第一件事不是加载图层而是检查所有图层的坐标系是否统一。在 GIS 软件里这叫“动态投影”显示的时候自动转到当前视图坐标系看着都叠上了但真正算拓扑、算面积、做缓冲区时底层坐标系不一致会导致结果存在隐蔽误差。所以实操经验是先用“定义投影”把每个图层明确声明成它本来的坐标系再用“投影转换”把所有数据统一到一个目标坐标系。特别记着一个原则——没有.prj的文件先“定义”再“转换”不要直接去“转换”。直接转换等于让软件猜起始坐标系猜错一步后面全盘皆错。5. 避坑打开矢量数据时最容易翻车的四个现场5.1 中文属性乱码原因不是“软件有问题”而是没告诉软件怎么解码现象在 GIS 里打开地名.dbf属性表里的中文全是“口口乱码”或“锟斤拷”。原因DBF 的属性内容本身只是字节序列它没有自描述编码的能力。老数据的属性表常用 GBK 编码而现代 GIS 软件默认按 UTF-8 读取。一旦判断错代码页同一条字节流就会被翻译成完全不同的字符。解决看看有无.cpg文件。有cpg时软件会自动按它指定的编码读表没有时手动在图层属性里设置编码为 “GBK” 或 “GB18030”。也可以用一个小脚本读 DBF 文件头的第 29 个字节快速判断它是否声明了语言驱动with open(地名.dbf, rb) as f: head f.read(32) lang_id head[29] print(hex(lang_id)) # 0x03 表示未声明0x57 表示 ANSI5.2 字段名只剩10个字符这是格式写死的不是数据损坏现象图层属性表里原本应该是ROAD_LEVEL_CODE打开后名字变成了ROAD_LEVEL后面的字符不见了。原因DBF 字段描述区里字段名只保留 11 个字节第 0 到 10 字节超过部分直接舍弃。这不是这份甘肃数据的问题而是 dBase 格式 40 年前的设计限制。解决不要试图修改 DBF 里已有的短字段名那是白费功夫。正确的做法是用 GIS 的“新建字段”功能或者在读取后通过字段别名映射来还原完整语义。如果数据需要入库建议在设计阶段就把字段名控制在 10 字符以内避免导出时被硬截断。5.3 文件打开后图层是空的先检查三件套是否齐全现象把公路.shp单独拷贝出来发给别人对方加载后整个图层空白没有报错但就是什么都没有。原因某些 GIS 软件在发现.shx文件缺失时会尝试重建索引但当.dbf也缺失时它干脆放弃加载该要素类。因为属性与几何按记录号严格一一对应缺了属性表就等于缺了“顺序的证明”几何数据无法被信任。解决拷贝 shp 数据时至少保证.shp、.shx、.dbf三件套同时复制。交付给他人时最好打包成 zip 而不是单独发一个.shp。自己拿到压缩包后也先检查这三个后缀是否齐全再决定是否继续往下用。5.4 面积或长度算出来离谱单位错了不是软件算错了现象量算某条道路长度结果显示一个巨大的天文数字或者小到不可理喻。原因图层使用的是经纬度坐标单位是“度”面积计算结果的单位自然是“平方度”。用来做米制距离和面积分析时结果毫无物理意义。这在带PROJCS的投影图层里不存在但这份数据里的建筑物区域如果直接叠加在经纬度底图上做量算就会踩坑。解决在做任何定量计算之前先把数据投影到适合该区域的高斯-克吕格投影或 UTM 分区再执行量算。只要输出单位变成“米”或“平方米”数值就回到了正常量级。记住一句话看不到.prj里的PROJCS关键字之前任何面积结果都只能当参考不能当结论。6. 设计取舍二十年不换的Shapefile是落后还是恰好够用Shapefile 一直被人诟病的地方很明确多文件拼凑、字段名截断、不支持拓扑、单个文件有 2GB 左右的实用上限。但你要理解一个事实——它发布的上世纪 90 年代磁盘空间以 MB 计算软件以桌面端为主拓扑关系有专门的 coverage 格式在扛。shp 从诞生第一天起定位就是“轻量交换格式”能快速读写、能被任何语言解析、不受数据库厂商锁定。把它和今天的 GeoPackage 对比就能看出 shp 的取舍有多极端。GeoPackage 是单个 SQLite 文件用数据库表管理空间索引、属性、坐标系还能塞栅格数据。功能上全方位碾压 shp。但问题也随之而来你要读写一份 GeoPackage就不能再靠“把文件头拆开抠几个字段”这种简单方式你必须引入 SQLite 解析库用一个完整的数据驱动层去访问它。而 shp 的二进制布局几乎可以在一百行纯 Python 或 C 代码里完成读写这份“极简”让它成为一种底层事实标准二十多年沉淀下来的工具链、转换器和在线服务接口全部围绕它转。我收到一批 shp 数据时的习惯一直没变先看文件后缀齐不齐再用脚本读一遍.shp文件头确认几何类型最后检查.prj和.cpg。三个动作加起来不到五分钟却省下了后面至少半小时的排查时间。这套“先验证、再使用”的流程是从一次次属性错位、乱码和坐标漂移里踩出来的。这份甘肃基础数据值得你下载下来用文中的方式自己读一遍文件头、拆一遍 DBF 字段你会发现那些平时不理解的问题全都有了答案。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

未盈利却估值千亿?AI视频生成赛道的冷思考与商业化解构

未盈利却估值千亿?AI视频生成赛道的冷思考与商业化解构

最近科技圈里最让我觉得微妙的一条消息,不是什么新功能上线,而是一则关于融资的传闻:某家专注AI视频生成的产品,公司还没盈利,可一级市场已经有人按千亿级别的估值在给它标价了。我关注这个赛道有两三年的时间&#xf…

2026/10/18 12:30:26 阅读更多 →
AI文学创作中的抄袭检测:从相似度算法到工程落地

AI文学创作中的抄袭检测:从相似度算法到工程落地

前段时间整理手头一个写作辅助项目时,被朋友问到“AI写的段落到底算不算抄袭”,我一下子没接住话。后来认真把几套文案检测的算法模型调了一遍,又拿近千段真实文本做了测试,才慢慢理清这个问题。今天这篇就把整个测试过程和核心结…

2026/10/18 12:30:26 阅读更多 →
JADE算法:角度与时延联合估计的MATLAB实现与避坑指南

JADE算法:角度与时延联合估计的MATLAB实现与避坑指南

简介:这是一套角度和时延联合估计(JADE)算法的MATLAB实现程序,面向无线通信、雷达探测、声学成像等方向的研究者与工程师,用于从多通道接收信号中同时估计到达角度和时延。程序以5个m脚本文件构成,压缩包约…

2026/10/18 12:29:26 阅读更多 →

最新新闻

Linux下NVML初始化失败:驱动与库版本不匹配的排查与修复指南

Linux下NVML初始化失败:驱动与库版本不匹配的排查与修复指南

1. 这个报错到底在说什么Failed to initialize NVML: Driver/library version mismatch这行字,但凡在 Linux 上跑过深度学习训练、折腾过显卡直通、或者手贱升级过一次系统内核的人,大概率都见过。它的字面意思很直白:NVML 初始化失败&#x…

2026/10/18 13:26:59 阅读更多 →
迈迪三维设计工具:SolidWorks国标件参数化建模加速方案

迈迪三维设计工具:SolidWorks国标件参数化建模加速方案

简介:迈迪三维设计工具集是专为SolidWorks平台开发的专业级机械设计辅助插件,面向机械工程师、产品设计师及高校相关专业师生,旨在提升标准件建模、结构设计与工程图生成效率。资源包共2000个文件,总大小211.97MB,涵盖…

2026/10/18 13:26:59 阅读更多 →
JDBC从入门到精通:连接、预编译、事务与连接池实战

JDBC从入门到精通:连接、预编译、事务与连接池实战

做Java开发的朋友,应该都对JDBC不陌生。它就像是Java世界和数据库之间的一座桥,不管是传统的业务系统,还是后面对接MyBatis、Hibernate这类ORM框架,底层真正干活的还是JDBC。可以说,只要你想在Java里操作数据库&#x…

2026/10/18 13:26:59 阅读更多 →
如何查看电脑开机时间?四种系统自带方法实测与解读

如何查看电脑开机时间?四种系统自带方法实测与解读

1. 为什么非要搞清楚电脑的开机时间先说个场景,不知道你有没有遇到过:新装了一台电脑,或者刚重做完系统,总感觉开机慢得像老牛拉车。这时候你想评估一下到底是硬件不行,还是系统没优化好,最直接的一个指标就…

2026/10/18 13:26:59 阅读更多 →
Linux下NVIDIA驱动NVML版本不匹配报错排查与修复指南

Linux下NVIDIA驱动NVML版本不匹配报错排查与修复指南

1. 这个报错到底在说什么如果你在 Linux 环境下用nvidia-smi查显卡状态,终端冷不丁甩出一句Failed to initialize NVML: Driver/library version mismatch,那基本可以确定一件事:你机器上正在运行的 NVIDIA 内核驱动版本,和你当前…

2026/10/18 13:26:59 阅读更多 →
Java在线教育平台源码解析:DWD-DWS-DIM分层架构与毕设实战指南

Java在线教育平台源码解析:DWD-DWS-DIM分层架构与毕设实战指南

简介:这是一套面向Java开发者与教育信息化建设者的在线教育平台6.2版本完整设计源码,聚焦教学管理、课程学习、在线考试与数据治理等核心场景,适用于高校IT课程实践、教育类毕业设计或中小型在线教育系统二次开发。资源共69个文件&#xff0c…

2026/10/18 13:25:59 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 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/18 0:55:02 阅读更多 →
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/18 12:16:16 阅读更多 →