v0.2.11
·
104 commits
to master
since this release
v0.2.11 —— 修好高程下载的两处老毛病(不用重做任何已完成的任务)
先说结论:升级即生效,不需要重下或重切任何东西。 这一版只修 DEM(高程)下载的两个问题,外加一批为下一版「简化任务操作」做的内部准备。
下载中的临时文件不再堆在你的产物目录里
- 现象:
downloads/dem/dem_task_2/里混着Copernicus_DSM_COG_10_N41_00_E086_00_DEM.tif.part这种半成品。 - 原因:程序写大文件时为了防止断电留下残缺文件,会先写一个临时名、写完再改名。这个临时文件的落点算错了 —— 代码注释里写的是「放在缓存目录」,实际却放进了你的任务产物目录。而开机自动清理只扫缓存目录,所以那些残留既碍眼、又永远清不掉。
- 已修:开着缓存时临时文件写在
cache/dem/下,下载完成并校验通过后才原子地放进任务目录。你的产物目录全程只会出现最终文件。关掉缓存时没有缓存目录可用,退回原来的位置写 —— 强行绕道缓存会让不用缓存的人凭空多一次跨盘整份拷贝。 ⚠️ 已有的残留不会自动清理:如果你的任务目录里已经躺着*.tif.part,需要手工删除(find <你的输出目录> -name '*.tif.part' -delete)。在用户自选的全盘路径里按通配符删文件,这个风险不该由程序替你担。
下载高程时任务行终于能看到速度
- 现象:DEM 任务下载中,速度一直显示
0 B/s。 - 原因:速度只在「一整个文件下完」时才记一笔。而单个 Copernicus 高程文件是 30–50 MB,实测走完要几分钟 —— 这几分钟里一次都不记,前端 5 秒收不到新数据就判定「停了」,于是显示 0。
- 已修:改成下载过程中每 0.25 秒汇报一次真实收到的字节数。实测下载一个 35.7 MB 的文件,全程 923 次汇报,速度连续可见。
- 顺带修正了一个口径问题:命中本地缓存的文件此前也会被算进「网速」,那其实是读硬盘,会让数字虚高一个数量级。现在只统计真正走网络的字节。
等高线任务同享这两个修复 —— 它和 DEM 下载用的是同一个引擎。
这一版还有一批你看不见的改动
- DEM 地形切片现在能被中途停止了。 之前它完全停不下来:切片线程既不登记、也收不到停止信号,只能靠杀进程中断。但本版没有任何按钮能触发它 —— 这是给下一版「简化任务操作」(把取消和删除两个动作合并成一个)铺的路。
- 新增一张「待删产物清单」表,为下一版的「删除任务时行立即消失、磁盘产物后台清理」兜底。同样,本版没有任何代码会往里写。
- 修掉一个 Windows 上的代理探测缺陷(上一版引入,本版发版构建时才暴露):Windows 的环境变量不分大小写,程序读
HTTPS_PROXY和https_proxy拿到的其实是同一个,于是同一个代理会被排进候选列表两次。最终选出的代理是对的(后面还有一道去重),所以你不会看到任何异常 —— 但探测过程会对同一个地址白跑一次网络验证。在 Linux / macOS 上同时设置大小写两份也会触发,一并修了。 - 之所以现在就合进来:这两块各自独立、可单独验证,而且第一块本身就修掉了「切片停不下来」这个现存缺陷。数据库会在升级后首次启动时自动建表,不需要你做任何事。
验证
- 1478 项测试全部通过(三平台 CI 各跑一遍)。
- 真实网络下载了一个 35.7 MB 的 Copernicus 高程文件(经代理):下载全程任务目录零
.part,临时文件只出现在cache/dem/下,收尾时两边都无残留,在途字节累计与文件实际大小一致。 - 「切片能停」这条做了额外核对:确认本版没有任何入口能触发它,所以切片的执行路径与上一版逐字等价 —— 这是「不改变任何用户可见行为」这句话的依据,不是推测。
通用说明
- 下载安装:从下方 Assets 下载对应平台压缩包(
terraforge-windows.zip/terraforge-linux.tar.gz/terraforge-macos.tar.gz),解压即用,无需安装 Python 环境。 - 下载体积:每个平台仍包含 167 MB 的全球底图分卷(自 v0.2.8 起)。
- 首次运行:启动可执行文件后,浏览器访问 http://localhost:5000 ;代理、并发、缓存管理等在「配置」页修改。
- 历史版本:完整更新历史见仓库 CHANGELOG.md。
- 使用文档:见仓库 README.md 与 docs/guides/QUICKSTART.md。