Ejemplo n.º 1
0
            private SDGPSData parseNO298ECmd(byte[] buffer, int start, out int cmdLen)
            {
                SDGPSData result = new SDGPSData();

                cmdLen = buffer[start + 4] + 5;
                try
                {
                    string   ip;
                    DateTime dt;
                    double   Lat, Lon;

                    start          += 5;
                    start          += ParseField.ParseFieldIP(buffer, start, out ip);
                    start          += ParseField.ParseFieldTime(buffer, start, out dt);
                    start          += ParseField.ParseFieldLat(buffer, start, out Lat);
                    start          += ParseField.ParseFieldLon(buffer, start, out Lon);
                    start          += ParseField.ParseFieldSpeed(buffer, start, out result.SOG);
                    start          += ParseField.ParseFieldAngle(buffer, start, out result.COG);
                    start          += ParseField.ParseFieldPosition(buffer, start, out result.Position);
                    result.Name     = getNameByIP(ip);
                    result.Id       = ip.Replace('.', '-');
                    result.Src      = "";
                    result.Time     = dt;
                    result.Shape    = new GeoPointShape(Lon, Lat);
                    result.Distance = 0;
                    return(result);
                }
                catch (Exception)
                {
                    return(null);
                }
            }