# EH4 数据合并工具简要说明

## 1. 功能

EH4 数据合并工具用于离线合并 EH4 原始数据。用户使用 Chrome 或 Edge 打开：

```text
eh4_static_app/merge.html
```

主要功能：

- 选择多个 EH4 zip 文件合并。
- 或选择解压后的父文件夹，自动搜索 `@` 文件和关联数据文件。
- 合并 `@` 索引文件。
- 合并 `XZGB.*`、`YZGB.*`、`ZZGB.*` 数据文件。
- 根据 CSV/DAT/TXT 标高或坐标文件生成 `.dat` 高程文件。
- 生成 `merge_report.txt` 报告。

所有处理都在本地浏览器完成，不上传服务器。

## 2. 输入格式

### zip 输入

zip 内部应包含：

```text
ZGB_Z/
  @
  XZGB.003
  YZGB.003
  ZZGB.003
```

### 解压目录输入

也可以选择解压后的父文件夹。程序会递归搜索所有 `@` 文件，并合并同目录下的 `X/Y/Z` 数据文件。

### 标高/坐标文件

支持 `.csv`、`.dat`、`.txt`。

五列 CSV：

```text
线号,点号,X坐标,Y坐标,高程
31,520,5036910.819,278468.003,1167.379
```

## 3. 输出格式

推荐选择“直接写入文件夹”。输出结构：

```text
EH4_合并结果_时间/
  ZGB_Z/
    @
    XZGB.*
    YZGB.*
    ZZGB.*
  elevation/
    31.dat
  merge_report.txt
```

## 4. 注意事项

- 推荐使用 Chrome 或 Edge。
- 大数据请使用“直接写入文件夹”，不要使用“下载结果 zip”。
- 先选择输出目录，再开始处理；如果浏览器不支持目录写入，会自动改为 zip 下载。
- Excel 标高文件请先另存为 CSV。
- 如果同名文件重复，程序只在重复时计算哈希。
- 缺失数据文件会写入报告，不中断处理。
- 如果网页发布环境不支持目录写入，程序会自动改为下载 zip。

## 5. 测试样例

测试样例目录：

```text
EH4_合并工具测试样例/
```

测试步骤见样例目录内的 `README_测试步骤.txt`。
