private void onReceivedData(HittData data)
 {
     lock (_tracksData)
     {
         var target = new VTSHittTarget(data.Id);
         target.MMSI = data.MMSI;
         target.Update(data.Lon, data.Lat, data.SOG, data.COG, DateTime.Now);
         target.Name         = data.Name;
         target.ReceiverTime = data.Time;
         _tracksData.UpdateDynamicEvent(target);
     }
 }
Exemple #2
0
        protected override void onRecv(byte[] pb, int len)
        {
            Target[] msgs = _parser.Parse(pb, 0, len);
            foreach (Target msg in msgs)
            {
                HittData data = new HittData();
                data.Id          = msg.Id.ToString();
                data.Src         = string.Empty;
                data.SourceId    = msg.SourceId;
                data.COG         = msg.COG;
                data.SOG         = msg.SOG;
                data.Lost        = msg.Lost;
                data.RateOfTurn  = msg.RateOfTurn;
                data.Orientation = msg.Orientation;
                data.Length      = msg.Length;
                data.Breadth     = msg.Breadth;
                data.Altitude    = msg.Altitude;
                if (msg.NavStatus > 9 && msg.NavStatus < 15)
                {
                    data.NavStatus = HittData.NavStatuses.ReservedForFutureUse;
                }
                else
                {
                    data.NavStatus = (HittData.NavStatuses)msg.NavStatus;
                }
                data.UpdSensorType       = (HittData.UpdSensor)msg.UpdSensorType;
                data.ATONOffPos          = msg.ATONOffPos;
                data.Shape               = new GeoPointShape(msg.Long, msg.Lat);
                data.StaticId            = msg.StaticId;
                data.SourceName          = msg.SourceName;
                data.Source              = (HittData.SourceTypes)msg.Source;
                data.Callsign            = msg.Callsign;
                data.ShipName            = msg.ShipName;
                data.ObjectType          = (HittData.ObjectTypes)msg.ObjectType;
                data.ShipType            = (HittData.ShipTypes)msg.ShipType;
                data.MMSI                = msg.MMSI;
                data.IMO                 = msg.IMO;
                data.ATONType            = (HittData.ATONTypes)msg.ATONType;
                data.ATONName            = msg.ATONName;
                data.AntPosDistFromFront = msg.AntPosDistFromFront;
                data.AntPosDistFromLeft  = msg.AntPosDistFromFront;
                data.NatLangShipName     = msg.NatLangShipName;
                data.PortOfRegistry      = msg.PortOfRegistry;
                data.CountryFlag         = msg.CountryFlag;
                data.MaxAirDraught       = msg.MaxAirDraught;
                data.MaxDraught          = msg.MaxDraught;
                data.DeepWaterVesselind  = msg.DeepWaterVesselind;
                data.VoyageId            = msg.VoyageId;
                data.CargoType           = (HittData.CargoTypes)msg.CargoType;
                data.Destination         = msg.Destination;
                data.ETA                 = msg.ETA;
                data.ATA                 = msg.ATA;
                data.AirDraught          = msg.AirDraught;
                data.Draught             = msg.Draught;
                data.Time                = DateTime.Now;
                if (data.MMSI != 0)
                {
                    data.Id = "MMSI:" + data.MMSI.ToString();
                }


                if (OnReceivedData != null)
                {
                    OnReceivedData(data);
                }

                //Framework.DistributeData(this, data);
                //DynamicObjMgr.Realtime.HandleData(data);
                //Framework.BroadcastByRegion(new NetCmd(FrameworkNetCmdType.SC_Realtime_String, data.Format()), data.Shape);
                //StorageService service = Framework.GetService("Storage") as StorageService;
                //if (service != null)
                //{
                //    service.SaveRealtime(data);
                //    service.SaveHistory(data);
                //}
            }
        }