Subversion Repositories HomeAutomation

Rev

Rev 1949 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 1949 Rev 1950
Line 135... Line 135...
135
    var position = {};
135
    var position = {};
136
 
136
 
137
    position["Datetime"]            = "20" + nmea_rmc_parts[9].substr(4, 2) + "-" + nmea_rmc_parts[9].substr(2, 2) + "-" + nmea_rmc_parts[9].substr(0, 2);
137
    position["Datetime"]            = "20" + nmea_rmc_parts[9].substr(4, 2) + "-" + nmea_rmc_parts[9].substr(2, 2) + "-" + nmea_rmc_parts[9].substr(0, 2);
138
    position["Datetime"]            += " " + nmea_rmc_parts[1].substr(0, 2) + ":" + nmea_rmc_parts[1].substr(2, 2) + ":" + nmea_rmc_parts[1].substr(4, 2) + " UTC";
138
    position["Datetime"]            += " " + nmea_rmc_parts[1].substr(0, 2) + ":" + nmea_rmc_parts[1].substr(2, 2) + ":" + nmea_rmc_parts[1].substr(4, 2) + " UTC";
139
 
139
 
140
    position["Latitude"]            = nmea_rmc_parts[3] + "," + nmea_rmc_parts[4];
-
 
141
    position["Longitude"]           = nmea_rmc_parts[5] + "," + nmea_rmc_parts[6];
-
 
142
    position["HorizontalDilution"]  = nmea_gga_parts[8];
-
 
143
   
140
   
-
 
141
    /* Calculate decimal latitude */
144
    position["Altitude"]            = nmea_gga_parts[9] + "," + nmea_gga_parts[10];
142
    var degrees = parseFloat(nmea_rmc_parts[3].substr(0, 2));
145
    position["HeightOfGeoid"]       = nmea_gga_parts[11] + "," + nmea_gga_parts[12];
143
    var decimal = parseFloat(nmea_rmc_parts[3].substr(2));
146
   
144
   
147
    position["SpeedKnots"]          = nmea_rmc_parts[7];
145
    position["Latitude"] = degrees + (decimal / 60.0);
148
   
146
   
-
 
147
    if (nmea_rmc_parts[4] == "S")
-
 
148
    {
-
 
149
      position["Latitude"] = -position["Latitude"];
-
 
150
    }
-
 
151
 
-
 
152
    /* Calculate decimal longitude */
-
 
153
    var degrees = parseFloat(nmea_rmc_parts[5].substr(0, 3));
-
 
154
    var decimal = parseFloat(nmea_rmc_parts[5].substr(3));
-
 
155
   
-
 
156
    position["Longitude"] = degrees + (decimal / 60.0);
-
 
157
   
-
 
158
    if (nmea_rmc_parts[6] == "W")
-
 
159
    {
-
 
160
      position["Longitude"] = -position["Longitude"];
-
 
161
    }
-
 
162
   
-
 
163
    position["Hdop"] = nmea_gga_parts[8];
-
 
164
   
-
 
165
    position["Satellites"] = nmea_gga_parts[7];
-
 
166
   
-
 
167
    position["Altitude"] = nmea_gga_parts[9]; // Meters
-
 
168
    position["HeightOfGeoid"] = nmea_gga_parts[11] // Meters
-
 
169
   
-
 
170
    position["Speed"] = nmea_rmc_parts[7]; // Knots
149
    position["Angle"]               = nmea_rmc_parts[8];
171
    position["Angle"] = nmea_rmc_parts[8];
150
   
172
   
151
    if (nmea_rmc_parts[10] != "")
173
    if (nmea_rmc_parts[10] != "")
152
    {
174
    {
153
      position["MagneticVariation"]   = nmea_rmc_parts[10] + "," + nmea_rmc_parts[11].substr(0, 1);
175
      position["MagneticDeclination"] = parseFloat(nmea_rmc_parts[10]);
-
 
176
     
-
 
177
      if (nmea_rmc_parts[11].substr(0, 1) == "W")
-
 
178
      {
-
 
179
        position["MagneticDeclination"] = -position["MagneticDeclination"];
-
 
180
      }
154
    }
181
    }
155
   
182
   
156
    return position;
183
    return position;
157
  }
184
  }
158
 
185