# CGCS2000直角坐标与经纬度互转 简要说明

## 软件功能

本工具用于 CGCS2000 坐标数据批量转换，支持：

- CGCS2000 高斯-克吕格直角坐标转换为经纬度
- 经纬度转换为 CGCS2000 高斯-克吕格直角坐标
- CSV 文件导入、粘贴、预览、复制和导出
- 导出 CSV 结果文件
- 导出 KML 点文件，可用于 Google Earth、奥维等支持 KML 的软件
- 自动识别 CSV 表头字段，列顺序可以任意排列

## 输入格式

文件格式为 CSV，逗号分隔，第一行为字段名。

直角坐标转经纬度时，建议字段：

```csv
ID,Y,X,H
P001,40500320.148,3421595.514,12.5
```

字段含义：

- `ID`：点号或编号
- `Y`：东坐标。支持 8 位带号坐标，如 `40500320.148`；也支持 6 位东坐标，如 `500320.148`
- `X`：北坐标
- `H`：高程，可为空

经纬度转直角坐标时，建议字段：

```csv
ID,LON,LAT,H
P001,120°00′11.0520″,30°54′35.4380″,12.5
```

字段含义：

- `LON`：经度，支持度分秒或十进制度
- `LAT`：纬度，支持度分秒或十进制度
- `H`：高程，可为空

## 输出格式

直角坐标转经纬度输出会在原字段后追加：

- `lon_dms`：经度，度分秒格式
- `lat_dms`：纬度，度分秒格式
- `lon_decimal`：经度，十进制度
- `lat_decimal`：纬度，十进制度
- `zone`：带号

经纬度转直角坐标输出会在原字段后追加：

- `x`：北坐标
- `y`：东坐标
- `zone`：带号
- `central_meridian`：中央经线

## 注意事项

- 本工具采用 CGCS2000 椭球参数：长半轴 `6378137.0 m`，扁率 `1/298.257222101`。
- 默认按高斯-克吕格投影计算，假东为 `500000 m`。
- 如果 Y 坐标为 8 位坐标，工具会自动识别带号并锁定带号相关参数。
- 如果 Y 坐标为 6 位坐标，需要在左侧手动指定带号或中央经线。
- 如果原始数据是地方独立坐标、工程坐标，或经过四参数、七参数、加常数改正，本工具不能自动还原这些额外改正。
- KML 文件使用经纬度坐标生成点位，点名优先使用 `ID` 字段。

## 测试样例文件

- 直角坐标输入：`sample_xy_input.csv`
- 直角坐标转经纬度输出：`sample_xy_to_lonlat_output.csv`
- 经纬度输入：`sample_lonlat_input.csv`
- 经纬度转直角坐标输出：`sample_lonlat_to_xy_output.csv`

测试参数：

- 分带方式：3 度带
- 带号：40
- 中央经线：120°
- Y 坐标含带号前缀
