INX Editor 程序使用说明

IONEX(IONosphere Map EXchange)是最常用的空间电离层数据交换格式。使用者经常需要对该类文件进行操作,例如 IONEX 数据编辑、数据提取以及将文件在二进制格式和文本格式之间相互转换等,但对于此类文件目前尚缺一个好用的操作软件。

INX Editor 是由武汉大学 IGS 电离层分析中心开发的一款 IONEX 文件编辑工具,支持平台广,使用方便。本文是对该程序的配置及使用方法简介,并随程序新功能的加入持续更新。

程序简介

INX Editor 是一款 IONEX 格式电离层数据编辑软件,它支持 Windows、Linux 以及苹果 macOS 等常见操作系统。该程序于 2018 年 3 月 19 日发布了版本 1.2,相比旧版本,新版本统一了程序的返回值和 TEC 数值的精度。INX Editor 目前支持的操作有:

  • IONEX 数据的加密、抽稀;
  • IONEX 文件自定义范围截取;
  • 计算格网内任意位置的电子含量;
  • IONEX 文本文件与二进制格式转换。

环境配置

要获取 INX Editor 程序,可直接到相应的 Github 页面或者武汉大学 IGS 电离层分析中心的 FTP 服务器获取对应操作系统的可执行文件。

Windows 操作系统

对于 Windows 操作系统,下载对应的可执行文件后,打开 “命令提示符” 窗口,使用 cd 命令进入程序所在目录,键入程序名 inx 即可运行程序。

当然,如果你希望在任何目录都能运行该程序,可以考虑将程序所在目录加入到系统的 Path 环境变量,或直接将 inx.exe 文件移动至 “C:\Windows\System32” 文件夹内。

Linux 或 macOS 操作系统

对于 Linux 或苹果 macOS 操作系统,下载对应的可执行文件后,用 cd 命令进入程序所在文件夹,首先为程序分配可执行权限:

1
$ chmod +x inx

然后就可以通过命令 inx 使用程序了,但是每次使用前需要切换工作目录。如果你希望在任何目录下都可以使用此程序,可以将其移动到 “/usr/bin” 目录下。

参数说明

INX Editor 程序的参数输入方式为:

1
$ inx <mode> <options>

其中的 <mode> 参数表示操作模式。该程序目前有 4 种操作模式:editteci2b 以及 b2i。这里的 edit 模式用于对输入文件的数据进行编辑,如数据截取、数据采样率的加密与抽稀;tec 模式用来内插计算格网内任意位置的电子含量(TEC);而 i2bb2i 用于数据在二进制格式与文本格式之间进行转换。

<options> 表示模式的操作选项,取决于模式的不同,可接受的参数略有差别。edit 模式可接受的参数选项如下:

  • -i <file>--input <file> 指定输出的文件;
  • -o <file>--output <file> 指定输出的文件;
  • -s <time>--start <time> 指定文件截取时的开始时间;
  • -e <time>--end <time> 指定文件截取时的结束时间;
  • -n <int>--interval <int> 指定数据的采样间隔;
  • --lat0 <lat> 指定文件截取时的起始纬度;
  • --lat1 <lat> 指定文件截取时的终止纬度;
  • --dlat <int> 指定文件截取时的纬度间隔;
  • --lon0 <lon> 指定文件截取时的起始经度;
  • --lon1 <lon> 指定文件截取时的终止经度;
  • --dlon <int> 指定文件截取时的经度间隔。

tec 模式可接受的参数为:

  • -i <file>--input <file> 指定输出的文件;
  • -t <time>--time <time> 指定内插的时间;
  • -b <lat>--lat <lat> 指定内插的纬度;
  • -l <lon>--lon <lon> 指定内插的经度。

i2bb2i 模式可接受的参数为:

  • -i <file>--input <file> 指定输出的文件;
  • -o <file>--output <file> 指定输出的文件。

当然,少不了用于显示版本号和帮助信息的参数:

  • -v--version 显示版本号;
  • -h--help 显示帮助。

使用示例

文件编辑

数据加密与抽稀

通过改变 IONEX 文件的采样率可以实现对数据的加密或抽稀。使用 INX Editor 程序进行此操作非常简单,只需指定输入文件、输出文件和输出文件的采样间隔,注意这里的采样率以秒为单位。

下面的命令将文件 whub0420.17i 的采样间隔加密为 1 小时并输出到 whub0420_hour.17i:

1
$ inx edit -i whub0420.17i -n 3600 -o whub042_hour.17i

下面的命令将文件 whub0420.17i 的采样间隔更改为 3 小时并输出到 whub0420_3hrs.17i:

1
$ inx edit --input whub0420.17i --interval 10800 --output whub0420_3hrs.17i

数据截取

我们可以通过自定义范围的方式来截取 IONEX 文件,这里的范围既可以是时间范围,也可以是经纬度指定的空间范围。

在时间范围上截取文件时,需要指定输入文件、输出文件、输出文件的起止时刻以及时间间隔。示例,截取 whub0420.17i 文件中从 3 点开始至 9 点结束,时间间隔为 1 小时的数据,并输出到 whub042c.17i:

1
$ inx edit --input whub0420.17i --start 3 --end 9 --interval 3600 --output whub042c.17i

在空间范围上截取文件时,需要指定输入文件、输出文件、输出文件的经纬度范围和经纬度间隔。例如,截取纬度范围从 30° 至 80°,间隔为 10°,经度范围从 80° 至 160°,间隔为 20° 的数据,并输出到 whub0420_part.17i:

1
$ inx edit -i whub0420.17i --lat0 30 --lat1 80 --dlat 10 --lon0 80 --lon1 160 --dlon 20 -o whub0420_part.17i

如果你已经足够熟练,edit 模式的操作还可以合并执行。例如,从文件 whub0420.17i 中截取 5 点至 18 点、采样间隔为 1 小时,纬度范围从 20° 至 75° 间隔为 5°、经度范围从 10° 至 160° 间隔为 5° 的数据,将最终的处理结果输出到 whub0420_part.17i:

1
$ inx edit -i whub0420.17i -s 5 -e 18 -n 3600 --lat0 20 --lat1 75 --dlat 5 --lon0 10 --lon1 160 --dlon 5 -o whub0420_part.17i

电子含量计算

由于 IONEX 文件是一个格网模型,因此当需要某个位置的 TEC 时,通常使用内插法计算。INX Editor 的 tec 模式可以内插计算格网内任意位置的 TEC,只要指定输入文件、内插的时刻和内插点的位置。

武汉市的经纬度约为东经 114.3°,北纬 30.5°,下面的命令将输出武汉在 GMT 时间为 2017 年第 45 日 6 点时的电离层电子含量:

1
$ inx tec --input whub0420.17i --time 6 --lat 30.5 --lon 114.3

格式转换

INX Editor 还可以将 IONEX 文件在文本文件与二进制文件之间转换。其中 i2b 模式将文本文件转换为二进制文件;与之相对的,b2i 模式将二进制文件转换为文本文件,使用时只需额外指定输入文件和输出文件。

示例,将文本格式的 whub0420.17i 转化为二进制文件 whub0420.dat:

1
$ inx i2b --input whub0420.17i --output whub0420.dat

将二进制文件 whub0420.dat 转化为 IONEX 格式的电离层数据 whub0420.17i:

1
$ inx b2i --input whub0420.dat --output whub0420.17i

其他操作

查看程序版本号与开发者信息:

1
$ inx --version

查看程序使用帮助:

1
$ inx --help

开发者信息

INX Editor 由武汉大学 IGS 电离层分析中心的王成博士等开发和维护,在使用中有任何意见、建议或发现 Bug,欢迎通过在 Github 上提交 Issue 或发送 Email 向开发者反馈。本文将随着程序新功能的加入持续更新。