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 |
|
142 | var degrees = parseFloat(nmea_rmc_parts[3].substr(0, 2)); |
| 145 |
|
143 | var decimal = parseFloat(nmea_rmc_parts[3].substr(2)); |
| 146 | 144 | ||
| 147 | position[" |
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[" |
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 | ||