# 高密度电法数据连接工具说明

## 1. 软件功能

本工具用于将两个或多个高密度电法 RES2DINV 风格 `.dat` 文件按实际横坐标位置连接为一个 `.dat` 文件。

主要功能：
- 多个 `.dat` 文件同时导入。
- 为每个剖面设置起点横坐标，例如 `0`、`360`、`1080`。
- 图形化预览连接和重叠效果。
- 重叠点可选择：
  - 保留前面剖面；
  - 保留后面剖面；
  - 多个数据取平均。
- 可指定输出层数，默认输出最大层数。
- 预览颜色自动过滤高值跳变影响，便于观察异常区；该处理只影响显示颜色，不修改导出数据。

## 2. 输入格式

输入为文本 `.dat` 文件，前 6 行为文件头，第 7 行开始为三列数据：

```text
测线名或说明
点距
参数
数据行数
type of x-location
参数
X坐标, 层参数, 电阻率值
X坐标, 层参数, 电阻率值
...
0
0
0
0
```

说明：
- 第 2 行：点距。
- 第 4 行：数据行数，不包含末尾 `0` 控制行。
- 第 5 行：`type of x-location`。
- `type=0`：第一列 X 为第一个电极位置，第 7 行 X 从 `0` 开始是正常情况。
- `type=1`：第一列 X 为测点中心位置，第一层通常从 `1.5 * 点距` 开始。

## 3. 输出格式

输出仍为 RES2DINV 风格 `.dat` 文件：

```text
合并文件说明
点距
参数
合并后数据行数
type of x-location
参数
X坐标, 层参数, 电阻率值
...
0
0
0
0
```

输出规则：
- X 坐标为加入剖面起点偏移后的坐标。
- 输出格式跟随第一个输入文件的 `type of x-location`。
- 第 4 行会自动更新为合并后的数据行数。
- 如果指定输出层数，只输出最浅的前 N 层。
- 重叠点按用户选择的方式处理。

## 4. 注意事项

- 多个输入文件的点距应一致。
- 剖面起点横坐标以界面中填写的“起点偏移 m”为准。
- 判断重叠时，软件按统一的测点中心横坐标和层参数判断。
- 图形预览使用稳健色标，高值异常不会把整体颜色范围拉得过大。
- 稳健色标只影响预览颜色，不改变导出的原始电阻率值。
- 合并前建议先查看预览图，确认剖面位置、重叠范围和输出层数。

## 5. 测试样例

当前目录提供以下样例文件，供客户测试比对。

### type=0 样例

输入文件：
- `sample_connect_A.dat`
- `sample_connect_B.dat`

参考输出：
- `sample_connect_output_keep_first.dat`
- `sample_connect_output_keep_last.dat`
- `sample_connect_output_average.dat`

测试方法：
1. 打开 `high_density_connector.html`。
2. 选择 `sample_connect_A.dat` 和 `sample_connect_B.dat`。
3. 将第 2 个文件的起点偏移设为 `15`。
4. 分别选择三种重叠处理方式并下载结果。
5. 与对应参考输出文件比对。

### type=1 样例

输入文件：
- `sample_type1_A.dat`
- `sample_type1_B.dat`

参考输出：
- `sample_type1_output_average.dat`

测试方法：
1. 打开 `high_density_connector.html`。
2. 选择 `sample_type1_A.dat` 和 `sample_type1_B.dat`。
3. 将第 2 个文件的起点偏移设为 `15`。
4. 重叠处理选择“两个或多个取平均”。
5. 下载结果应与 `sample_type1_output_average.dat` 一致。
