一个版本,专治“等界面”
HuayuGIS 0.5.32 已发布。这一版合并上游 15 个提交、77 个文件,改动不集中在新增工具入口,而是围绕两件事:让计算离开渲染帧,以及让错误在导入时就暴露。对经常用 ModelBuilder 编排流程、或者一次拖进十几个数据文件的人来说,这两个方向的收益比多几个按钮更直接。
模型工具不再占住渲染帧
桌面端运行模型时,工具会先在后台线程上算一遍,界面不再卡住。此前执行一个耗时较长的模型,地图和面板会一起停住,连缩放都要等;现在渲染帧只负责画面,计算在旁路完成。
取消仍然即时生效,不会出现“点了取消还要等当前步骤跑完”的情况。需要写文件的工具、插件以及 GeoLibre 工具照旧在原处运行——它们依赖引擎状态,不能简单挪到后台,这一点没有被牺牲掉。
打开数据也不堵界面
Add Data 与 Load All 的整文件读取同样移到了独立线程,覆盖栅格、GDAL 转换、GeoJSON、分隔文本与表格。状态栏会显示进度和取消按钮,读取大文件时可以随时中止。
一次拖入多个文件时,现在按顺序逐个读取,而不是并发抢占。顺序读取的代价是总时长略增,换来的是内存峰值可控、状态栏进度可预期,也不会因为某个文件解析失败而让其余文件的结果难以判断。
模型文件先校验,再运行
导入模型文件时,这一版会拒绝一批此前可能“带病运行”的情况:
- 有损的类型转换;
- 未支持的端口与字段;
- 步骤之间形成循环引用;
- 指向没有图层输出的步骤;
- 同一图层存在多重来源,或图层名有歧义。
同一个输入被多处引用时,也不再出现只保留一处连接、其余悄悄丢失的问题。校验发生在导入阶段,报错信息直接指向具体步骤,而不是等运行到一半才失败。
词表、图层顺序与坐标系
翻译词表新增可选的三列格式 Context / English / Translation。同一个英文单词在不同界面上下文中可以给出不同译文,例如作为图层类型和作为工具名称时分开处理;旧的两列词表完全兼容,不需要改写。
一个数据源拆成多个图层时,加入顺序调整为先多边形、点始终在上。此前拆分结果的叠放次序取决于文件内部顺序,点状要素可能被面盖住。若拆分后没有任何图层被加入,地图会按文件范围定位,而不是停在空白处。
GeoPackage 在没有 EPSG 代码时,改为读取文件内 WKT 定义中的坐标系,不再当成未知坐标系处理。
读取防护与几处修正
- xls 读取:只跟随 calamine 真正读取的扇区链,越界扇区直接拒绝;新增
sheets模糊测试目标,连续多轮未再触发崩溃。 - 服务文档:解析服务文档里的链接时,只继承当前连接的登录信息,文档自身携带的绑定一律不采用,避免把凭据发往第三方地址。
- 标注锁定:删除图层或要素后,锁定记录会一并清理,不再指向已不存在的内容。
- 几何修复:拒绝含非有限坐标的线段,修正退化环的质心计算。
- 工具箱标题:翻译后的工具分组使用稳定标识,切换语言后分组不再错位。
- CI:新增依赖来源检查脚本,并把工作流中的 action 固定到 SHA。
升级方式
Windows 便携版可从下载中心 获取 x64 与 ARM64 包,或直接运行安装脚本升级:
irm https://lanhc.com/lanhc/huayu-gis.ps1 | iex
Linux 用户使用:
curl -fsSL https://lanhc.com/lanhc/huayu-gis.sh | bash
浏览器版直接打开 gis.lanhc.com ,无需安装。完整变更见更新日志 ,产品能力与安装说明见华宇GIS 。
