轨迹自动关联与坐标
雷达原始数据记录了「第几道 → 什么样子的波形」,但它本身不知道这道数据是在哪儿采的。轨迹(RTK 轨迹 / GPS 轨迹)就是补上这一环:把每个道号对应到真实的平面坐标上。没有轨迹,剖面照样能看,但异常点无法放样、测线无法上图、多条测线拼…
雷达原始数据记录了「第几道 → 什么样子的波形」,但它本身不知道这道数据是在哪儿采的。轨迹(RTK 轨迹 / GPS 轨迹)就是补上这一环:把每个道号对应到真实的平面坐标上。没有轨迹,剖面照样能看,但异常点无法放样、测线无法上图、多条测线拼不成三维体。
轨迹无需单独导入:它与雷达数据在同一次导入中自动完成关联,见 雷达数据导入(五步流程)。
轨迹自动关联 · 放置规则与排查 · 2-3 分钟(视频封面待补)
1. 什么是轨迹
一句话:轨迹是「道号 → 坐标」的对照表。
| 列 1 | 雷达原始数据 | 轨迹 |
|---|---|---|
| 内容 | 道号 → 波形(振幅随深度变化) | 道号 → 平面坐标 + 高程 |
| 来源 | 雷达主机采集 | RTK / GPS 记录仪、或数据内嵌 |
| 决定什么 | 剖面长什么样 | 这条剖面在地球上的哪儿 |
轨迹之所以需要单独说明(而不是雷达数据自带),有三个原因:
- 采集设备不同:雷达主机负责打电磁波,RTK 负责定位,两套设备各出各的文件。
- 采样率不同:雷达一秒可能打几十道,RTK 一秒出 1~5 个点,两者需要对齐。
- 坐标需要转换:RTK 给的是经纬度(WGS84),工程上用的是平面坐标(CGCS2000 投影带)。
重要认知:轨迹不是一个独立的导入功能,它是在导入雷达数据时自动关联的。你不需要(也无法)先导入雷达、再单独导入轨迹——系统会在扫描数据目录的同时去找配套的轨迹文件。
所以本页的主要内容不是「点哪个按钮导入轨迹」,而是:轨迹文件怎么放才会被自动识别、识别不到会怎样、怎么确认有没有识别到。
2. 轨迹的四种来源
系统按下面的顺序找轨迹,找到哪个用哪个:
| 优先级 | 来源 | 识别方式 | 坐标系处理 |
|---|---|---|---|
| ① | 外置侧车文件 | 同目录、同主文件名的 .cor / .plt / .nmea / .xyz | 经纬度自动投影为 CGCS2000(.xyz 除外,见下) |
| ② | 数据内嵌轨迹 | IDS Stream X 的 XML、IDS OpenGPR 的 geolocations | 经多级转换后统一为 CGCS2000 |
| ③ | GSSI 外置 .gps | GSSI 数据配套 | 同 ① |
| ④ | 自动合成 | 以上都没有时 | 本地米坐标,不具地理意义 |
系统按固定顺序查找:先扫侧车文件(①),扫不到再看格式有没有内嵌(②③),都没有才合成(④)。
各来源细节
① 外置侧车文件(最常见的来源)
RTK 后处理软件导出的轨迹文件,放在雷达数据同一目录、用同一主文件名、只换扩展名。支持四种:
| 扩展名 | 内容 | 解析方式 |
|---|---|---|
| .cor | MALA / IMPULSE 配套,含道号、经纬度、高程、解状态 | 按列解析,道号直接用首列 |
| .plt | GSSI 配套 | 按 NMEA 解析 |
| .nmea | IDS Stream X 配套,NMEA-0183 文本 | 逐行解析 $GPGGA 语句 |
| .xyz | EKKO 配套,已是平面坐标 | 直通,不做投影 |
② 数据内嵌轨迹
- IDS Stream X:轨迹随 .XML 一起采集。系统会自动做坐标转换后统一为 CGCS2000。
- IDS OpenGPR:.ogpr 文件内嵌轨迹信息。
内嵌轨迹无需你做任何事,扫描时自动提取。
③ GSSI 外置 .gps
GSSI 数据的配套轨迹,随数据一并识别。
④ 自动合成(见第 4 节)
3. 侧车文件怎么放才会被识别
这是本页最容易出错的地方。系统查找侧车文件的规则是固定的,请按以下方式放置。
3.1 命名规则
同一目录 + 同一主文件名 + 只换扩展名
例:
测区A/
├── LINE01.rad ← 雷达数据
├── LINE01.rd3
└── LINE01.cor ← 轨迹,主文件名必须叫 LINE01
3.2 多通道的 _Axx 回退
多通道数据按 _A01、_A02… 命名时,系统会自动剥掉 _Axx 后缀再找轨迹:
测区A/
├── LINE01_A01.rad
├── LINE01_A02.rad
├── LINE01_A03.rad
└── LINE01.cor ← 一份就够,三个通道共用
即:LINE01_A01 找不到 LINE01_A01.cor 时,会退一步找 LINE01.cor。
3.3 扩展名的查找顺序
先在对话框里填的「GPS 扩展名」(默认 .cor)里找,找不到再按雷达类型的默认列表兜底:
| 雷达格式 | 默认查找顺序 |
|---|---|
| IDS Stream X | .nmea → .cor → .plt |
| EKKO(单 / 多通道) | .xyz → .cor → .plt |
| GSSI | .plt → .cor → .nmea |
| 其他(MALA / IMPULSE / 三维 SEG-Y / 标准格式等) | .cor → .nmea → .plt → .xyz |
提示:「GPS 扩展名」支持逗号分隔填多个,如 .cor,.nmea。填了多个就按你填的顺序依次找。这个参数会随模板一起保存,同类项目配一次即可。
3.4 放置清单
导入前逐条对照:
- [ ] 轨迹文件与雷达数据在同一个文件夹
- [ ] 主文件名完全一致(多通道用剥掉 _Axx 的那个)
- [ ] 扩展名在查找顺序内(不确定就填进「GPS 扩展名」)
- [ ] 文件能正常打开,不是 0 字节
- [ ] .cor 首列确实是道号,.nmea 确实是 $GPGGA 语句
4. 没有轨迹时会发生什么:自动合成
如果四种来源一个都没命中,系统不会报错,也不会拦住你——它会自己生成一条轨迹。
4.1 合成规则
按测线首末点在两点之间等距插值,插出与道数相同数量的点:
X = X起点 + (X终点 − X起点) × f
Y = Y起点 + (Y终点 − Y起点) × f
高程 = 0
(其中 f = 道号序号 / (道数 − 1))
也就是说:合成出来的是一条笔直的、等间距的、贴地的轨迹。
4.2 怎么判断有没有被合成
系统在满足以下条件时生成合成轨迹:导入成功、没有外置轨迹文件、没有内嵌轨迹点、且存在测线数据——四个条件同时成立才合成。
4.3 后果:为什么合成轨迹不能用于放样
合成轨迹不包含坐标系信息。
这不是疏漏,是刻意设计:合成出来的 X / Y 是测网本地米,不是任何投影坐标。如果强行给它盖一个坐标系的章,系统反而会把它反投影到一个「合法但荒谬」的位置上——比点全丢了更难排查。
所以:
- 剖面能看、能处理、能解译——这些不依赖地理坐标,合成轨迹完全够用。
- 不能放样、不能上图、不能拼三维——这些必须要有真实轨迹。
需要 RTK 放样的项目(比如道路空洞检测),导出异常点坐标前务必确认轨迹是真实的。
5. 手动输入轨迹 / 导入 CSV 是否支持
当前版本暂不支持手动逐点输入轨迹,也不支持从 CSV 导入轨迹。
轨迹的获取方式是:在导入雷达数据时由系统自动关联。如果你的轨迹来自全站仪、Excel 台账这类非标准来源,请把点整理成下面任一格式,按第 3 节的命名规则放到数据目录里,让系统自动识别:
| 目标格式 | 内容要求 | 说明 |
|---|---|---|
| .cor | 首列道号,其后经纬度、高程、解状态 | 最通用,推荐 |
| .nmea | 每行一条 $GPGGA 语句 | RTK 设备可直接导出 |
| .xyz | 每行「东坐标 北坐标 高程」(空格或逗号分隔) | 已是平面坐标,系统不再投影 |
注意:使用 .xyz 需注意两点: 1. 坐标顺序是「东 北 高」(X=东、Y=北),不要按经纬度填。 2. 不带坐标系信息,系统不会做投影,读取时靠带号推断。跨带或来源不明的坐标慎用,建议先转成 .cor(经纬度)再导入。
6. 轨迹检查:怎么确认导入的是不是真实轨迹
导入对话框里没有「轨迹」这一列,判断要靠下面几个方法。下面方法一、方法二看的其实是同一张图的不同区域:

图示说明(轨迹已自动关联的对话框)
这是一次成功导入的对话框:每条测线都关联上了真实的 GPS 轨迹。可以从四个区域直接判定:
- 「GPS 扩展名」输入框:填的是
.plt,符合 GSSI 数据的默认侧车扩展名。系统就在这一步先去找.plt,找不到再回落到.cor/.nmea。 - 「上传设备类型 / 雷达维度」自动识别:GSSI、二维雷达,是系统根据数据头推断的(不需要你手选)。
- 「头文件信息」已自动解析:DZT 头被正确读出(时窗 75.00 ns、每道采样点数 512、道间距 0.0127 m)。这一段补齐了下方 Profile 列表的元数据。
- 「Profile 列表」是判定关键:
- 32 条测线已扫到(左下角日志「发现 32 条测线」)。
- 每行
direction列都是「GPS」并以红色字体显示 —— 这是侧车轨迹自动关联成功的标志。 x0 / x1 / y0 / y1是几百万量级的 7 位数(5160103、5160152、297860…),说明拿到的是 CGCS2000 投影坐标;不是合成。length(m)是真实长度(51.121 m / 25.895 m / …),不是默认的「道间距×道数」。- 首行高亮,是当前选中的那条。
这一组证据正好对应下面 § 方法一「看测线表坐标量级」与方法二「看导入日志」。当你的导入对话框的 Profile 列表长这样,就说明轨迹识别对了,可以放心往下走。
方法一:看测线表的坐标量级(最快)
把布设方式设为「按 GPS 轨迹」,再看中间测线表的起点 / 终点坐标列:
| 现象 | 结论 |
|---|---|
| 变成几百万量级的数(如 3345123.45) | 识别到真实轨迹,这是 CGCS2000 北坐标 |
| 还是几十几百的小数(如 0.00 / 50.00) | 没识别到,仍是本地米 |
原理:真实轨迹会把测线的首末点覆写成投影坐标;没轨迹则保持你手填的本地米值。
方法二:看导入日志
对话框底部日志区会输出每条测线的轨迹解析结果,含关联到的文件路径和解析出的点数:
轨迹解析结果:LINE01,已关联到文件 LINE01.cor,共 1247 个点
日志里没有这一行,就是没关联上。
方法三:看对象树里有没有 RTK 轨迹数据集
导入完成后,测线(TM)下会多出一个数据集,命名规则是「测线名_RTK轨迹」:
测区A
└── LINE01
├── LINE01_400MHz ← 雷达数据
└── LINE01_RTK轨迹 ← 有这个 = 识别到真实轨迹
没有这个数据集 = 轨迹是合成的。
方法四:详情页「地图」页签
双击 RTK 轨迹数据集打开详情,切到「地图」页签,可看到轨迹点在底图上的分布:橙点为轨迹点、连线为测线走向、首个点有起点标记。

图示说明(轨迹详情页 · 地图页签)
图中展示的是双击 …_RTK轨迹 数据集打开后的详情页,当前选中的页面签是「地图」(页面签从左到右:处理后 / 地图 / 列表 / 波形)。看图时主要看下面三个区域,就能确认"这条轨迹是真实轨迹":
- 中央地图区(最重要的证据)
- 底图:矢量路网底图(可在设置里切换为其他底图,瓦片需要联网)。
- 绿色连线 + 绿色点位:每一个绿色点就是一个采集时刻的实时坐标(图中是密集排布的一长串绿色三角点),点位之间的连线就是采集轨迹。从起点(西南角)到终点(东北角)走出一条带折线的实际道路。
- 右上角图层图例:探录点 / 绕道点 / 过冲 / 指南针标记等可独立显隐,当前都开启。
- 左下角「+」「−」缩放按钮,可拖动地图。
- 右侧表格区(实时绑定的轨迹详情)
- 当前选中「道号 1116」一行(高亮),表格内容是这一道对应的
坐标 X / Y。 - 在地图上点击某个绿色点位,对应行会被高亮——地图与表格双向联动。
- 下方高程曲线图(同一轨迹的高程变化)
- X 轴是道号(0…14 000),Y 轴是高程(m)。黄线是连续 1.4 公里的高程起伏——一眼能看出哪些段是下坡、上坡或是高架之类的稳定段。
整张图同时摆出三个互相印证的证据:点位分布 + 表格联动 + 高程曲线,对现场来说就是「轨迹是真实采的、不是合成的」的最强证据。
提示:地图瓦片需要联网,底图源可在设置里切换。
方法五:做一遍 GPS 质控
轨迹质量(漂移、尖峰、解状态)在 GPS 质量控制里逐条检查,那里能看到解状态分布和异常点。
7. 轨迹方向反了怎么办
当前版本暂不提供「轨迹方向反转」功能。
先判断是哪种「反了」:
| 现象 | 根因 | 处理 |
|---|---|---|
| 整条测线首尾颠倒(起点在终点位置) | 外业走线方向与道号递增方向相反 | 在上游把轨迹点序倒过来重新导入 |
| 相邻测线方向一正一反 | 往返之字形走线 | 导入时勾选「之字形扫测」 |
| 剖面对了但坐标偏在一侧 | RTK 天线与雷达天线不重合 | 填「RTK 偏移 Y / Z」 |
注意:不要用处理链中的「反向」节点来纠正轨迹方向。那个节点的语义是反转数据的道序(第 1 道变最后一道),它不改变轨迹里的坐标。用了之后数据是倒的、坐标没倒,反而更错。
