feat:二代机gps异常信号过滤

This commit is contained in:
surenjun 2025-04-07 12:56:24 +08:00
parent b665f9685a
commit b5b4f5c6a9

View File

@ -118,18 +118,21 @@ export default class UdpByOne {
public handleMsg() { public handleMsg() {
let newMessage = PLCGPSData; let newMessage = PLCGPSData;
if (this.GPSMsg) { if (this.GPSMsg) {
// 使用正则表达式提取$GPGGA消息 let GPGGAMatch = this.GPSMsg.match(/\$GPGGA[^$]*/);
let GPGGAMsg = this.GPSMsg.match(/\$GPGGA[^$]*/)[0]; let GPGGAMsgArr = GPGGAMatch ? GPGGAMatch[0]?.split(",").slice(0, 15) : [];
let GPGGAMsgArr = GPGGAMsg ? GPGGAMsg?.split(",").slice(0, 15) : [];
// 使用正则提取$GPRMC消息 // 使用正则提取$GPRMC消息
let GPRMCMsg = this.GPSMsg.match(/\$GPRMC[^$]*/)[0]; let GPRMCMatch = this.GPSMsg.match(/\$GPRMC[^$]*/);
let GPRMCMsgArr = GPRMCMsg ? GPRMCMsg?.split(",").slice(0, 14) : []; let GPRMCMsgArr = GPRMCMatch ? GPRMCMatch?.split(",").slice(0, 14) : [];
// 使用正则表达式提取$GPGST消息 // 使用正则表达式提取$GPGST消息
let GPGSTMatch = this.GPSMsg.match(/\$GPGST[^$]*/); let GPGSTMatch = this.GPSMsg.match(/\$GPGST[^$]*/);
let GPGSTMsgArr = GPGSTMatch ? GPGSTMatch[0]?.split(",").slice(0, 9) : []; let GPGSTMsgArr = GPGSTMatch ? GPGSTMatch[0]?.split(",").slice(0, 9) : [];
// 使用正则提取$PTNL消息 // 使用正则提取$PTNL消息
let PTNLMsg = this.GPSMsg.match(/\$PTNL[^$]*/)[0]; let PTNLMatch = this.GPSMsg.match(/\$PTNL[^$]*/);
let PTNLMsgArr = PTNLMsg.split(",")?.slice(0, 14); let PTNLMsgArr = PTNLMatch ? PTNLMatch[0].split(",")?.slice(0, 14) : [];
if(GPGGAMsgArr.length == 0 || GPRMCMsgArr.length ==0 || GPGSTMsgArr.length ==0 || PTNLMsgArr.length ==0){
return
}
// 组合GPS数据 // 组合GPS数据