与其追求一次跑完,不如让每一批都可恢复、可校验
先说结论。上百 GB 的倾斜数据,真正的风险不是慢,而是跑到一半停下来之后,说不清哪些目录已经处理完、哪些产出是完整的、重新跑会不会把已经好的部分覆盖。可行的做法是按地理范围或按子目录把整块数据切成若干份,每一份独立完成并留下校验记录,配合断点重跑,把“跑完”变成“一批一批可控地跑完”。这篇文章讲怎么切分、在哪设校验点、资源怎么规划,以及哪些情况根本不适合这么做。

把几百个 OSGB 子目录一次性丢进处理流程,最常见的结果不是“跑得慢”,而是“跑到某个点停了”。停下来之后要面对一连串问题:哪些目录已经处理完,产出目录里是完整结果还是半成品,重新跑会不会覆盖已经正确的部分,这次中断是数据的问题还是资源的问题。
这些问题之所以难回答,是因为一次性任务把“数据规模”和“失败影响面”绑在了一起。规模越大,单次运行持续的时间越长,中途遇到磁盘写满、内存吃紧、个别文件损坏的机会越多,而故障点又落在整条流程的中间,排查与重跑的成本跟着放大。
分批的意义不在于让总用时变短,它改变的是失败的影响范围:一份出问题,只影响这一份;每一份有独立的产出和记录,可以单独核对、单独重跑。对大体量数据来说,“可恢复”比“更快”更值得优先保证。
政策侧对这件事也有明确取向。自然资源部提出“十五五”期间要全面建成实景三维中国,强调时序化增量更新与数据要素作用(见相关报道)。落到大体量成果上,这意味着数据要能分范围更新、分范围替换,而不是每次整体重做。分块处理的思路,恰好与增量维护的方向一致。
开工前把几件事定下来,能省掉后面大量返工。建议按下面的清单过一遍。
1)数据清点与目录结构:确认总目录、子目录数量与命名规则,弄清哪些目录合起来才是一套完整成果,哪些是散落的分块。
2)空间参考核对:记录每套数据使用的坐标系与高程基准,确认各份之间一致,避免拼接后出现分层或错位。
3)产出空间预留:处理结果通常比源数据占用更多磁盘,按分块数量预留空间,并给临时目录留出余量。
4)参数与命名冻结:把顶层、纹理、输出目录结构等设置先定下来并记录,整批沿用同一套,不要中途更换。
5)校验模板:准备一份检查项清单,涵盖顶层文件、层级目录数量、坐标范围与日志,每份完成后照着核对。
6)失败处理口径:提前约定出问题的那一份是重跑还是修数据后重跑,以及半成品产出是否保留。
第四条最容易被跳过。不同份用了不同参数,拼接后的模型会出现肉眼可见的接缝,反查时又说不清是哪一步改的。
切分方式主要有两类,各有适用面。
1)按地理分块或分区域切:以区块、行带或明确的范围边界为单位,把大范围拆成若干块分别处理。适合成果本身按范围组织、后续要分区域交付或分区域发布的情况。好处是每块边界清楚,出问题容易定位到具体范围。
2)按子目录逐批切:直接以源数据的目录为单位排队处理,一个目录一份。适合数据本来就按分区或架次组织的场景,不需要额外划分范围,直接沿用现有结构。
两种方式也可以混用:先按范围分块,块内再按子目录排队。
粒度是这里最需要权衡的地方。块切得太大,一份里包含的分区太多,失败时定位到具体位置的成本高,重跑的代价也大;块切得太小,份数变多,接缝核对、产出拼接与记录管理都随之变重。一个务实的判断标准是:让单份的产出规模落在你能接受“失败后重跑一次”的范围内,而不是追求每份尽可能大。

分批之后,每份结束时留一个校验动作,是把“跑完了”和“跑对了”分开的关键。建议每份完成后核对以下几项。
1)顶层文件是否生成:确认该份产出的顶层描述文件存在且能被正常读取,它是服务与加载的入口。
2)层级目录与文件数量是否合理:对照源分区数量估算预期量级,明显偏少往往意味着中途中断或部分分区被跳过。
3)坐标与范围是否落在预期内:抽查产出范围,确认没有整体偏移或跨区。
4)日志是否留有异常:把该份的日志与时间戳一并归档,重跑时这是最直接的线索。
5)产出是否可加载:用查看器或服务端抽查一两个区域,确认能打开、层级能正常切换。
记录建议逐份留档:范围或目录标识、源清单、所用参数、完成时间、校验结论。这份记录在项目后期解释“数据到底处理了哪些范围”时价值很高。
分批带来的最大好处是可以断点重跑,前提是让每一份的产出互不依赖。
1)产出目录按份隔离:每份写入独立的产出目录,完成后不与其他份混放,避免一份失败污染另一份的结果。
2)状态清单:用一份简单清单标记每份的状态(待处理、已完成、失败),重跑时只挑失败项,不要整体重来。
3)先判断再重跑:失败后先看日志和产出,区分是资源类问题(磁盘、内存)还是数据类问题(文件损坏、坐标异常)。资源类问题清理后可重跑;数据类问题要先修数据,否则重跑还会在同一位置失败。
4)保留现场:重跑前不要急着删掉失败那份的日志与半成品,它们是定位问题的依据。
半成品是否保留取决于写入方式。如果产出是覆盖式写入,失败那份的目录可能不完整,重跑前先清空该份产出目录,避免新旧内容混杂;如果产出按文件追加,则需要记录已完成的文件与断点位置,明确从哪里继续。

资源规划的目标不是压榨硬件,而是让每一份稳定完成。
1)内存:单份的数据规模、源文件数量与纹理量决定了内存占用。把份切小一些,单份峰值更低,失败面也更小。
2)磁盘 IO 与空间:源数据读取、临时文件写入与产出写入往往同时占用磁盘。把临时目录与产出放在空间充足、吞吐稳定的卷上,比放在系统盘更稳妥。
3)并行取向:提高并行确实可能缩短时间,但它同时抬高内存与磁盘压力,也会让失败更难定位。建议先把单份跑稳,再考虑适度提高处理并行度,不要盲目拉满。
4)参数:顶层、顶点压缩、自定义瓦片尺寸、KTX2 纹理压缩这类设置会影响产出体积与加载表现,它们属于专业版及以上;倾斜摄影再处理(对已产出的三维内容再加工)属于企业版。体积与时间上的取舍要结合最终用途定,而不是一味追高。
有一点需要接受:没有任何一组设置能同时把体积、精度和兼容性都做到最好。压低体积往往牺牲细节,提高精度往往增大产出,拉高并行往往牺牲稳定性。当前版本为 v2.2.18(2026-09-29),设置项与归属以官网为准。
需要确认大体量与再处理相关能力落在哪个版本,可以到定价页查看企业版能力与定价(大体量与再处理)。
分批不是万能的,有些情况它反而添乱。
1)数据本身没有明显可切分边界:如果成果是一整块不可分割的模型,强行按范围切开会造成边界断裂,拼接成本可能超过收益。
2)单份规模本就很小:份数上去了,管理成本反而高于收益,直接整体跑更省事。
3)各份之间必须严格一致:某些分析场景要求整体一次生成、保证内部一致性,分批后拼接的接缝无法接受。
4)硬件与磁盘空间不足:分批不解决资源不足,磁盘写满这类问题在任何切分方式下都会发生。
起步建议从一到两份试点开始:选一个规模中等、结构完整的分区,跑通“切分—处理—校验—记录”的完整链路,确认参数与校验模板可用,再按同样的做法扩到全部。切分粒度、参数与记录方式在试点阶段定好,后面越跑越省心。具体的参数设置可以对照倾斜模型切片图文教程逐项核对。
不一定,接缝取决于分块边界与参数是否一致,而不是分批本身导致的。保持同一套参数、让相邻块在边界处覆盖重叠区域,可以降低明显接缝;如果成果对内部一致性有严格要求,那就不适合分批,应整体生成。
给不出一个通用数字,它取决于源文件数量、纹理量、参数设置与所用工具。务实的做法是先跑一份,记录那份的峰值占用与产出体积,再按比例推算整体所需空间,并据此调整切分粒度。产出通常比源数据更大,预留时不要按源数据体积估。
取决于工具与流程是否支持断点。稳妥的做法是把份数拆小、每份独立产出,用状态清单管理,失败只重跑该份。重跑前先区分是资源类还是数据类原因:资源类清理后即可重跑,数据类必须先修复,否则会在同一位置再次失败。
基础版覆盖常见的倾斜摄影切片等能力;顶层、顶点压缩、自定义瓦片尺寸、KTX2 纹理压缩属专业版及以上;倾斜摄影再处理属企业版。价格核验于 2026-10-14,网络公开版专业版 69 元/月、699 元/年,企业版 389 元/月、3999 元/年,具体以官网为准。
规划分批流程之前,可以先从软件下载页获取基础版,用一个分区把“切分—处理—校验—记录”链路走一遍,再决定整体节奏。
【内容与技术说明】
本文由GISBox产品团队整理发布,内容由AI工具辅助生成并经团队人工核验。
因产品版本持续迭代,具体功能、参数与免费范围以GISBox官方文档为准。
如有技术疑问或内容勘误,欢迎通过support@gisbox.com反馈。
最后核校:2026-10-14。