Skip to content

v0.2.11

Choose a tag to compare

@github-actions github-actions released this 07 Aug 17:39
· 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_PROXYhttps_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.mddocs/guides/QUICKSTART.md