TEQC 配置及其数据转换功能的使用

TEQC(Translation, Editing, Quality Check)是最常用的 GNSS 数据预处理程序之一。该程序由 UNAVCO 开发,支持 UNIX/Linux、Windows 等常见的操作系统,功能强大,使用方便。

TEQC 程序提供了对 RINEX 格式的观测文件、星历文件和气象文件等的格式转换、内容编辑和质量检核等功能。但是,和很多的科学软件一样,TEQC 没有图形操作界面,对初学者可能不太友好。本文将以演示的方式,介绍 TEQC 程序的配置与数据转换命令,以图在不查看程序说明手册的情况下也能照葫芦画瓢,快速上手。当然,如果你希望详细系统地了解该程序,还是建议花时间阅读其官方文档

环境配置

TEQC 程序目前支持 Windows、UNIX/Linux 等众多操作系统。要获取 TEQC 程序,直接到其官方下载页面下载对应系统的软件。

Windows 操作系统

对于 Windows 操作系统,从程序压缩包解压出可执行文件就能直接使用。只要打开 “命令提示符” 窗口,使用 cd 命令进入程序所在目录,然后运行 teqc 命令。

如果你不想每次使用 TEQC 前都切换工作目录,可以将程序可执行文件添加到系统的 Path 变量中,或者直接将其移动至 “C:\Windows\System32” 文件夹内。

UNIX/Linux 操作系统

对于 UNIX/Linux 操作系统,程序有采用静态链接库(statically-linked)和动态链接库(dynamically-linked)两种,一般下载动态链接库的程序包。下载程序压缩包解压出可执行文件之后,还需为程序添加可执行权限。使用 cd 命令进入程序所在目录,执行命令:

1
$ chmod +x teqc

之后便可以在终端中运行此程序,但是每次使用时也需要首先切换工作目录。如果你希望在任何目录下都能使用该程序,可以将其移动到 “/usr/bin” 目录下。

操作模式

为了便于理解和仿制后面的命令,首先介绍一下 TEQC 程序的基本操作模式。使用 TEQC 程序的一般的语法是:

1
$ teqc <options> [file1 [file2 […]]]

这里的 [file1 [file2 […]]] 表示输入文件列表,而 <options> 为控制参数。控制参数一般以 “+” 或 “-” 号开头:对于 “-” 号,一般指示输入命令(包括标准输入或文件),或表示关掉这个选项;对于 “+” 号,一般指示输出命令(包括标准输出或文件),或表示打开这个选项。参数后面则是希望被处理的文件,多个文件之间一般以空格分隔。

TEQC 是百分之百非交互的,也就是说,它不会在运行时停下来询问你。对于处理结果,一般会输出到标准输出或文件;对于处理时出现的错误或警告信息,则输出到标准错误输出。这个特性对于编写基于 TEQC 的脚本程序非常有利。

格式操作命令

格式检验

TEQC 程序可以检查一个程序是否为正确的 RINEX 格式文件,并输出文件的 RINEX 版本编号。该功能使用 +v 参数开启,其命令为:

1
$ teqc +v file1 [file2 […]]

示例,检查 urum2560.16m,urum2560.16o, brdc2560.16n 和 DEMO0224a.tps 这 4 个文件:

1
$ teqc +v urum2560.16m urum2560.16o brdc2560.16n DEMO0224a.tps

输出为:

teqc: ‘urum2560.16m’ readable as RINEX V.2.11 format
teqc: ‘urum2560.16o’ readable as RINEX V.2.11 format
teqc: ‘brdc2560.16n’ readable as RINEX V.2.00 format
teqc: ‘DEMO0224a.tps’ readable as Topcon TPS format

格式转换

这里的格式转换一般指从接收机的原始观测数据到 RINEX 格式数据的转换。目前 TEQC 在这方面的支持比较有限,仅支持 Trimble、Topcon、Leica、Javad、Septentrio 等国际大厂的仪器。对于不受支持的接收机品牌或型号,只能使用随机附带的软件。

TEQC 程序的格式转化的基本命令格式为:

1
$ teqc <options> raw_file1 [raw_file2 […]] > <RINEX_file>

这里的 raw_file1 [raw_file2 […]] 表示输入的原始数据列表。对于存储在本地的原始数据文件,大多数情况下 TEQC 程序通过文件名就能识别出其接收机品牌和格式类型。但对于数据流,或者某些无法自动识别的数据文件格式,则需要使用 <options> 参数来指明原始数据的接收机品牌或格式类型。完整的接收机参数请查看本文最后给出的汇总表。

示例,转换 Topcon 接收机在 2014 年 2 月 24 日观测产生的 .tps 文件(这里的 -top tps 可以省略):

1
$ teqc -top tps DEMO0224a.tps > demo0551.14o   # 对应年积日为 55,GPS 周为 1781

运行这个命令后,将产生一个转换后的文件 demo0551.14o。同时,TEQC 还会输出一条警告:

! Notice ! GPS week initially set= 1781

这是因为,我们在进行数据转换时没有指出数据观测的日期,TEQC 将试图从原始数据中读取观测日期。这在少数的情况下可能会出现错误。如果你想明确指定数据的观测日期,可以使用 -week 参数:

1
2
3
-week <week>                  # 输入观测 GPS 周
-week <year>/<doy> # 输入观测年与年积日
-week <year>/<month>/<day> # 输入观测年月日

示例,输入两个观测日期进行格式转换,同时将输出的文件合并:

1
$ teqc -week 1781 DEMO0224b.tps DEMO0224c.tps > demo0552.14o

对于更多的输入文件,还可以使用通配符:

1
$ teqc -week 2014/55 DEMO0224?.tps > demo0550.14o

到目前为止的转换命令只输出了 RINEX 格式的 Obs 文件,因为 TEQC 程序默认只输出这个文件。如果你还希望输出 Nav 文件和 Met 文件(如果有的话),可以为其添加 +nav+met 参数。

对于 “+met” 参数,在其后指定输出的 Met 文件名即可。对于 +nav 参数,因为有多个 GNSS 系统,所以卫星星历的输出有以下顺序:

  1. GPS
  2. GLONASS
  3. SBAS
  4. Galileo
  5. Beidou/Compass
  6. QZSS

对于支持多系统的接收机,要输出多个卫星系统的星历时,按照该顺序依次指定输出文件名,其间以 “,” 号分隔。对于要跳过的系统,以 “-” 标识。

示例,转换时输出 GPS 星历数据和气象数据:

1
$ teqc -week 2014/2/24 +nav demo0550.14n +met demo0550.14m DEMO0224?.tps > demo0550.14o

转换时分别输出 GPS 和 GLONASS 星历数据:

1
$ teqc -week 2014/2/24 +nav demo0550.14n,demo0550.14g DEMO0224?.tps > demo0550.14o

转换时跳过 GPS 星历数据,只输出 GLONASS 星历数据:

1
$ teqc -week 2014/2/24 +nav -,demo0550.14g demo0224?.tps > demo0550.14o

最后,如果你不喜欢使用重定向符 “>”,类似于上文的 +nav+met,还有一个输出 Obs 文件的 +obs 参数:

1
$ teqc -week 2014/2/24 +nav -,demo0550.14g +obs demo0550.14o demo0224?.tps 

完整的接收机参数表

各接收机生产商制定的数据格式

本表中,对于相同功能的参数如 -­trimble-tr-aoa-jpl 等做了合并处理,删去其中较长或字母表顺序靠后的项。在格式转换中必须指明的项,在行末以 “*” 号标记。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
-aoa # for TurboRogue/TurboStar or Benchmark receiver
cb # Conan 二进制文件
tb # Turbo 二进制文件

-ash # for Ashtech
d # B[/E/S/D] 文件格式
s # RS-232 数据流 *
r # R-文件
u # U-文件 *

-cmc # for CanadianMarconi Corporation
allstar # allstar 文件格式

-­jav # for Javad
jps # JPS 文件格式

-lei # for leica
lb2 # LB2 omdb
mdb # MDB
d # DSdownload fileset (OBSfile required)

-nct # for Navcom
b # Navcom 二进制文件

-roc # for Rockwell
z # Zodiac 文件

-sep # for Septentrio
sbf # Septentrio 二进制文件

-ti # for Texas Instruments
g # TI-4100GESAR andBEPP/CORE 文件
rom # TI-4100 ROM 文件格式

-top # for Topcon
tps # tps 文件格式

-tr # for Trimble
d # DAT[/ION/EPH/MES] 文件
s # RS-232 RT17 数据流 *
tsip # TSIP 格式

-ubl # for U-Blox
ubx # UBX 格式

非接收机厂商制定的特殊数据格式

这些格式只有参数没有选项。在格式转换中必须指明的项,在行末以 “*” 号标记。

1
2
3
4
-argo  # ARGO
-binex # BINEX 文件
-rtigs # IGS 实时数据流 *
-soc # JPL SOC *

后记

TEQC 的作者 Louis H. Estey 博士已于 2019 年 2 月 28 日光荣退休,随后 UNAVCO 宣布该软件将不再维护,在此特对 Louis 博士所在的工作表示感谢。TEQC 是最好的 GNSS 数据预处理软件之一,在数据编辑方面,GFZRNX 是一个优秀的替代品;但质量检核方面,据我所知,目前并没有太好的后续方案。