private void ReadSectorFile() { SctFileReader reader = new SctFileReader(); reader.GeoLineHandler += line => { var from = LatLongUtil.GetLatLongDecimalPointFromLatLongString(line.Start); var to = LatLongUtil.GetLatLongDecimalPointFromLatLongString(line.End); geoLines.Add(new LatLongDegreeLine(new LatLongDegreePoint(from.X, from.Y), new LatLongDegreePoint(to.X, to.Y), line.ColorName)); }; reader.DefineHandler += (key, color) => { byte blue = (byte)((color & 0xff0000) >> 16); byte green = (byte)((color & 0xff00) >> 8); byte red = (byte)(color & 0xff); if (!sectorfileColors.ContainsKey(key)) { sectorfileColors.Add(key, Color.FromRgb(red, green, blue)); } }; reader.RegionHandler += region => { regions.Add(new LatLongRegion(region.Name, region.ColorName, region.Coordinates .Select(c => { var point = LatLongUtil.GetLatLongDecimalPointFromLatLongString(c); return(new LatLongDegreePoint(point.X, point.Y)); } ) .ToList())); }; reader.SectorfileInfoHandler += info => fileInfo = info; reader.Parse("..\\..\\..\\UnitTestProject1\\Testdata\\EKDK_official_16_13.sct"); logger.Debug("Read " + geoLines.Count + " geo lines"); }