Java コードでは、1 秒ごとにシミュレーターから DIS パケットを収集し、KML 出力をフォーマットしようとするスレッドを生成します。私の Java コードでは、スタイルと目印とポリゴンを使用してドキュメントを作成しています。1 秒に 1 回、「マーシャル」API ルーチンが実際にデータを含む KML ファイルを作成していることがわかります。ただし、ランダムに完全なファイルを作成することもあれば、長さゼロのファイルを作成することもあります。DIS パケット ジェネレーターをオフにして Java コードを実行したままにしても、完全なファイルがランダムに作成され続け、長さ 0 のファイルが作成されることもあります。タイマーを毎秒から 10 秒ごとに変更すると、動作は 10 秒ごとに発生します。
File オブジェクトと OutputStream オブジェクトに対して marshal() を使用してみました。同じ奇妙な行動。