コード例 #1
0
ファイル: WXAISTele4.cs プロジェクト: wwkkww1983/TestTool
        public override void Parse(string[] data)
        {
            int index = 2;

            Id   = data[index++];
            Time = DateTime.Parse(data[index++]);
            Name = data[index++];

            double x = double.Parse(data[index++]);
            double y = double.Parse(data[index++]);

            Shape = new GeoPointShape(x, y);
            UTC   = data[index++];
        }
コード例 #2
0
        public override string Format()
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("WXAIS,21,");
            sb.Append(this.Id);
            sb.Append(",");
            sb.Append(this.Time.ToString());
            sb.Append(",");
            sb.Append(this.Name);
            sb.Append(",");
            GeoPointShape gps = this.Shape as GeoPointShape;

            sb.Append(gps.Point.X.ToString("F6"));
            sb.Append(",");
            sb.Append(gps.Point.Y.ToString("F6"));
            sb.Append(",");
            sb.Append(this.EPFD_Type.ToString());
            sb.Append(",");
            sb.Append(this.Measure_A.ToString());
            sb.Append(",");
            sb.Append(this.Measure_B.ToString());
            sb.Append(",");
            sb.Append(this.Measure_C.ToString());
            sb.Append(",");
            sb.Append(this.Measure_D.ToString());
            sb.Append(",");
            sb.Append(this.OffPosition.ToString());
            sb.Append(",");
            sb.Append(this.PositionAccuracy.ToString());
            sb.Append(",");
            sb.Append(this.RAIM_Flag.ToString());
            sb.Append(",");
            sb.Append(this.TimeStamp.ToString());
            sb.Append(",");
            sb.Append(this.AtoNType.ToString());
            sb.Append(",");
            string result = sb.ToString();

            return(result);
        }
コード例 #3
0
ファイル: WXAISTele4.cs プロジェクト: wwkkww1983/TestTool
        public override string Format()
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("WXAIS,4,");
            sb.Append(this.Id);
            sb.Append(",");
            sb.Append(this.Time.ToString());
            sb.Append(",");
            sb.Append(this.Name);
            sb.Append(",");
            GeoPointShape gps = this.Shape as GeoPointShape;

            sb.Append(gps.Point.X.ToString("F6"));
            sb.Append(",");
            sb.Append(gps.Point.Y.ToString("F6"));
            sb.Append(",");
            sb.Append(this.UTC);
            sb.Append(",");
            string result = sb.ToString();

            return(result);
        }
コード例 #4
0
        private List <CompactFeatureObj> updateResult(List <tagFEATURE> list)
        {
            List <CompactFeatureObj> result = new List <CompactFeatureObj>();

            for (int i = 0; i < list.Count; i++)
            {
                tagFEATURE    feature  = list[i];
                GeometryShape geoShape = null;
                if ((feature.PRIM == GeoPrimitiveType.Point || feature.PRIM == GeoPrimitiveType.Text) && feature.SG2D != null)
                {
                    geoShape = new GeoPointShape(feature.SG2D.Points[0].X, feature.SG2D.Points[0].Y);
                }
                else if (feature.PRIM == GeoPrimitiveType.Line && feature.SG2D != null)
                {
                    geoShape = new GeoLineShape(feature.SG2D);
                }
                else if (feature.PRIM == GeoPrimitiveType.Area && feature.Area != null)
                {
                    geoShape = new GeoAreaShape(feature.Area);
                }
                if (geoShape != null && _locator.Rect.IntersectsWith(geoShape.Bounds))
                {
                    string   name  = string.Empty;
                    string[] names = feature.GetAttribute(S57AttributeType.NOBJNM);
                    if (names != null && names.Length > 0)
                    {
                        name = names[0];
                    }
                    string            fileName  = feature.File.Header.FileName;
                    int               tempIndex = fileName.LastIndexOf('\\') + 1;
                    CompactFeatureObj obj       = new CompactFeatureObj(string.Empty, name, string.Empty, geoShape, fileName.Substring(tempIndex, fileName.LastIndexOf('.') - tempIndex), feature.OBJL.ToString());
                    result.Add(obj);
                    setAttribute(feature, obj);
                }
            }
            return(result);
        }
コード例 #5
0
        public override void Parse(string[] data)
        {
            int index = 2;

            Id   = data[index++];
            Time = DateTime.Parse(data[index++]);
            Name = data[index++];

            double x = double.Parse(data[index++]);
            double y = double.Parse(data[index++]);

            Shape = new GeoPointShape(x, y);

            EPFD_Type        = Int32.Parse(data[index++]);
            Measure_A        = Int32.Parse(data[index++]);
            Measure_B        = Int32.Parse(data[index++]);
            Measure_C        = Int32.Parse(data[index++]);
            Measure_D        = Int32.Parse(data[index++]);
            OffPosition      = Boolean.Parse(data[index++]);
            PositionAccuracy = Boolean.Parse(data[index++]);
            RAIM_Flag        = Boolean.Parse(data[index++]);
            TimeStamp        = Int32.Parse(data[index++]);
            AtoNType         = Int32.Parse(data[index++]);
        }
コード例 #6
0
ファイル: Atlas2Data.cs プロジェクト: wwkkww1983/TestTool
        public override void Parse(string[] data)
        {
            int index = 1;

            DataTime = DateTime.Parse(data[index++]);
            int.TryParse(data[index++], out TrackId);
            int.TryParse(data[index++], out Status);
            Name      = EncodeStr.Decode(data[index++]);
            ShortName = data[index++];
            //5
            CallSign = data[index++];
            int.TryParse(data[index++], out ShipType);
            int.TryParse(data[index++], out Length);
            int.TryParse(data[index++], out Width);
            double x = 0;

            double.TryParse(data[index++], out x);
            //10
            double y = 0;

            double.TryParse(data[index++], out y);
            Shape = new GeoPointShape(x, y);
            double.TryParse(data[index++], out COG);
            double.TryParse(data[index++], out SOG);
            int.TryParse(data[index++], out Heading);
            TimeLastUpdate = DateTime.Parse(data[index++]);
            //15
            ObjType = (ObjTypes)Enum.Parse(typeof(ObjTypes), data[index++]);
            int.TryParse(data[index++], out TargetType);
            int.TryParse(data[index++], out PilotStatus);
            int.TryParse(data[index++], out Rating);
            int.TryParse(data[index++], out LabelColorIndex);
            //20
            int.TryParse(data[index++], out Category);
            int.TryParse(data[index++], out MMSI);
            int.TryParse(data[index++], out TransponderState);
            int.TryParse(data[index++], out DBTrackId);
            double.TryParse(data[index++], out Draught);
            //25
            InfoTxt = EncodeStr.Decode(data[index++]);
            double.TryParse(data[index++], out ETA);
            double.TryParse(data[index++], out ETAEndPoint);
            double.TryParse(data[index++], out RateOfTurn);
            int.TryParse(data[index++], out AISNavStatus);
            //30
            int.TryParse(data[index++], out AISRateOfTurn);
            int.TryParse(data[index++], out AISSOG);
            int.TryParse(data[index++], out AISLatitude);
            int.TryParse(data[index++], out AISLongitude);
            int.TryParse(data[index++], out AISCOG);
            //35
            int heading = 511;

            if (int.TryParse(data[index++], out heading))
            {
                AISTrueHeading = heading;
            }
            int.TryParse(data[index++], out AISETA);
            double.TryParse(data[index++], out AISDraught);
            double.TryParse(data[index++], out AISTimeOfLastUpdate);
            Time = DateTime.Parse(data[index++]);
            //40
            if (index < data.Length)
            {
                this.GID = data[index++];
            }
            if (index < data.Length)
            {
                this.FID = data[index++];
            }

            Id = GetID();
        }