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 种操作模式:edit
、tec
、i2b
以及 b2i
。这里的 edit
模式用于对输入文件的数据进行编辑,如数据截取、数据采样率的加密与抽稀;tec
模式用来内插计算格网内任意位置的电子含量(TEC);而 i2b
和 b2i
用于数据在二进制格式与文本格式之间进行转换。
<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>
指定内插的经度。
i2b
和 b2i
模式可接受的参数为:
-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 向开发者反馈。本文将随着程序新功能的加入持续更新。