航空宇宙工学の修士号を取得しようとしている友人がいます。彼の最後のプロジェクトでは、気象観測気球、ロケット、人工衛星を追跡するためのプログラムを作成する小さなチームに所属しています。このプログラムは、GPS デバイスから入力を受け取り、データを使用して計算を行い、それらの計算の結果を使用して、指向性通信アンテナの向きを変えるように設計された一連のモーターを制御します。これにより、気球、ロケット、または衛星は常に焦点を合わせたままになります。
私自身はやや(永遠の)初心者ですが、友人よりもプログラミングの経験が豊富です。それで、彼が私にアドバイスを求めたとき、私は自分が選んだ言語である Python でプログラムを書くように彼を説得しました。
プロジェクトのこの時点で、GPS デバイスからの入力を解析するコードに取り組んでいます。入力例を次に示します。抽出する必要があるデータは太字で示しています。
$GPRMC, 092204.999,4250.5589,S,14718.5084,E ,1,12,24.4,89.6 , M ,,,0000*1F $GPRMC, 093345.679,4234.7899,N,11344.2567,W ,3,02,24.5,3 10 ,,,0000*1F $GPRMC,044584.936, 1276.5539,N,88734.1543,E ,2,04,33.5, 600.323 ,M,,,*00 $GPRMC,199304.973, 3248.7780 ,N,11355.7832,6,1,0 02.2, 25722.5 ,M,,,*00 $GPRMC,066487.954, 4572.0089,S,45572.3345,W ,3,09,15.0, 35000.00 ,M,,,*1F
データの詳細な説明は次のとおりです。
「すべての行から 5 つのものが必要になるようです。そして、これらの領域のいずれかが空である可能性があることに注意してください。つまり、2 つのコンマが隣り合っているだけです。「,,,」などがあります。いつでも満員になる可能性のある 2 つのフィールドがあります。2 つまたは 3 つのオプションしかないフィールドもありますが、それを当てにするべきではないと思います。」
2 日前、私の友人は、最近の気象気球の打ち上げを追跡するために使用された GPS 受信機から完全なログを取得することができました。データがかなり長いので、このペーストビンに全部入れました。
私はまだ正規表現に慣れていないので、助けを求めています。