/**
* GPS-CS1KのログをGPX形式に変換します。
* @param string 入力(NMEA-0183形式)
* @return 出力(GPX形式)
*/
public function toGPX(string:String):String {
var ret:String = "\n";
ret += "\n";
ret += "\n";
ret += "\n";
var lines:Array = string.split("\r");
for (var i:String in lines) {
var line:String = lines[i];
if (line != "") {
var items:Array = line.split(",");
if (items[0] == "$GPGGA") {
var rawTime:Number = items[1];
var rawLatitude:Number = items[2];
var rawLongitude:Number = items[4];
var rawHeight:Number = items[9];
var hour:int = int(rawTime / 10000);
var minute:int = int(rawTime % 10000 / 100);
var second:Number = rawTime % 100;
var longitude:Number = int(rawLongitude / 100) + (rawLongitude % 100) / 60;
var latitude:Number = int(rawLatitude / 100) + (rawLatitude % 100) / 60;
var height:Number = rawHeight > 0 ? rawHeight : 0;
ret += "\n";
ret += "" + height + "\n";
ret += "\n";
ret += "\n";
}
}
}
ret += "\n";
ret += "\n";
ret += "";
return ret;
}
/**
* GPS-CS1KのログをKML形式に変換します。
* @param string 入力(NMEA-0183形式)
* @return 出力(KML形式)
*/
public function toKML(string:String):String {
var ret:String = "\n";
ret += "\n";
ret += "\n";
ret += "\n";
ret += "\n";
ret += "\n";
var lines:Array = string.split("\r");
for (var i:String in lines) {
var line:String = lines[i];
if (line != "") {
var items:Array = line.split(",");
if (items[0] == "$GPGGA") {
var latitude:Number = items[2];
var longitude:Number = items[4];
var rawHeight:Number = items[9];
var height:Number = rawHeight > 0 ? rawHeight : 0;
ret += (int(longitude / 100) + (longitude % 100) / 60) + "," + (int(latitude / 100) + (latitude % 100) / 60) + "," + height + "\n";
}
}
}
ret += "\n";
ret += "\n";
ret += "\n";
ret += "";
return ret;
}