Compare
Sorry, something went wrong.
No results found
feat: 新增 slib 符号库解析与导出支持 (v1.0.9)
主要变更:
1. 新增 slib_parser.py 模块
- 逆向解析 Subgraph.lib(点符号)、Fillgrph.lib(面填充)、LINESTY.lib(线型)三种符号库
- 修复 LINESTY.lib 解析中的无限循环 bug:使用有效偏移排序表计算精确记录边界,
防止乱序/重用偏移导致的 n_subdirs 爆炸性计算
- 提供 SlibDirectory 类,支持按点/线/面符号 ID 查找符号几何与元数据
2. 修正 pymapgis.py 中 WL 线要素属性解析字节偏移(_parse_line_info)
- 原代码存在 2 字节错位,导致线型号、颜色、线宽等字段读取错误
- 修正后正确解析:线型号(bytes 20-21)、辅助线号(22)、覆盖方式(23)、
线颜色(24-27)、线宽(28-31)、线种类(32)、X/Y系数(33-40)、辅助色(41-44)、图层(45-48)
3. pymapgis.py 集成 slib 支持
- MapGisReader.__init__ 新增 slib_dir 参数,加载 SlibDirectory
- 新增 _apply_slib() 方法:为 GeoDataFrame 附加 7 个符号字段
(sl_lib / sl_id / sl_type / sl_aux / sl_cov / sl_parts / sl_ok)
- to_file() 自动写出同名 .slib.json 伴随文件(含每要素完整符号信息)
- _sanitize_field_names() 补充新 WL 字段及 slib 字段的英文映射
4. main.py 新增 slib 界面控件
- 转换配置面板新增「slib 符号库(可选)」分组,含文件夹选择与清除按钮
- 选择后校验目录内是否存在 .lib 文件,并在配置日志中显示路径
- ConvertThread 透传 slib_dir 至 MapGisReader
- 转换完成后在日志中显示 slib 应用状态及 JSON 伴随文件名
- 不选择 slib 时行为与之前完全一致,无任何输出差异