Kineticが発売したSBSシリーズで使われるPort30003の通信形式は、事実上の業界標準となっています。
Port30003のデータを管理するためのデータベース(テーブル)を作成した際のメモです。
Port30003の通信(30003.log)
MSG,1,0,0,AB7613,0,2021/03/19,08:50:22.751,2021/03/19,08:50:22.751,AAL9733,,,,,,,,,,,0
MSG,3,0,0,AB7613,0,2021/03/19,08:50:23.457,2021/03/19,08:50:23.457,,38000,,,,,,,,,,0
MSG,4,0,0,AB7613,0,2021/03/19,08:50:23.635,2021/03/19,08:50:23.635,,,450.4,221.8,,,-64,,,,,0
MSG,8,0,0,AB7613,0,2021/03/19,08:50:24.032,2021/03/19,08:50:24.032,,,,,,,,,,,,0
MSG,5,0,0,AB7613,0,2021/03/19,08:50:24.242,2021/03/19,08:50:24.242,,38000,,,,,,,,,0,0
MSG,3,0,0,AB7613,0,2021/03/19,08:50:24.506,2021/03/19,08:50:24.506,,38000,,,,,,,,,,0
MSG,4,0,0,AB7613,0,2021/03/19,08:50:24.698,2021/03/19,08:50:24.698,,,450.4,221.8,,,-64,,,,,0
MSG,8,0,0,AB7613,0,2021/03/19,08:50:24.880,2021/03/19,08:50:24.880,,,,,,,,,,,,0
MSG,8,0,0,AB7613,0,2021/03/19,08:50:24.880,2021/03/19,08:50:24.880,,,,,,,,,,,,0
MSG,8,0,0,AB7613,0,2021/03/19,08:50:24.880,2021/03/19,08:50:24.880,,,,,,,,,,,,0
SBS30003テーブルの作成
Query used to create this table
CREATE TABLE SBS30003(
MES varchar(4),
TYPE integer,
SessionID integer,
AircraftID integer,
ModeS varchar(6),
FlightID integer,
DateMsgCreated datetime,
TimeMsgCreated datetime,
DateMsgLogged integer,
TimeMsgLogged integer,
Callsign varchar(8),
Altitude integer,
GroundSpeed integer,
Track integer,
Latitude varchar(12),
Longitude varchar(12),
VerticalRate varchar(6),
Squawk varchar(4),
Alert varchar(4),
Emergency varchar(12),
SPI integer,
IsOnGround integer
);
CREATE TABLE T_ModeS(
ModeS varchar(6) PRIMARY KEY,
flgMail integer,
flgWeb integer,
flgFoundToday integer,
UpdDate datetime,
mTo varchar(50),
mSub varchar(50),
mBody varchar(250),
Remarks varchar(250)
);
データのCSVファイルからのインポート
書式)
sqlite3 -separator 区切り文字 対象DBファイル “.import CSVファイル名 Table名”
sqlite3 -separator , ./sbs30003.sqb ".import ./30003.log SBS30003"
Table dump (Aircraftテーブルをzzz.txtへ出力)
sqlite3 ./BaseStation.sqb
SQLite version 3.27.2 2019-02-25 16:06:06
Enter ".help" for usage hints.
sqlite> .output ./zzz.txt
sqlite> .dump Aircraft
sqliteの管理にphpliteadminを利用したのですが、とても便利でしたが、
細かなSQL文は(ホスティングサーバによっては)インジェクションとして扱われる場合もあるようなので、phpliteadminを利用するときには注意したほうが良いです。
参考にさせていただきました。ありがとうございます。
参照:Port30003データ形式
リンク