public KrigingViewerControl(List<Repository.Utils.LegendPattern> colors, InterpolatedFields KrigingField) { _colorsList = colors; _krigingField = KrigingField; InitializeComponent(); }
private void GranulometryRowControl_Load(object sender, EventArgs e) { resizeControls(); TablesList = new List<GranulometryItemTable>(); KrigingField = new InterpolatedFields(); flowLayoutPanel1.AutoScroll = true; }
public void CreatePDF() { Document document = new Document(PageSize.A3, 0, 0, 0, 0); document.SetPageSize(PageSize.A3.Rotate()); document.SetMargins(0, 0, 50f, 30f); var tempFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TempFiles", "report.pdf"); var fileStream = new System.IO.FileStream(tempFileName, FileMode.Create); var writer = iTextSharp.text.pdf.PdfWriter.GetInstance(document, fileStream); document.Open(); var cb = writer.DirectContent; // Cover Page PdfPTable tblCover = new PdfPTable(1); tblCover.DefaultCell.Padding = 0; tblCover.DefaultCell.PaddingTop = 100; tblCover.DefaultCell.Border = 0; var coverImage = iTextSharp.text.Image.GetInstance(BitmapToByteArray(Properties.Resources.pdf_cover)); coverImage.ScalePercent(80f); tblCover.AddCell(coverImage); document.Add(tblCover); // Map Page PdfPTable tblRibbon = new PdfPTable(1); tblRibbon.HorizontalAlignment = 0; tblRibbon.WidthPercentage = 98; tblRibbon.DefaultCell.Border = 0; var fontH1 = FontFactory.GetFont("Arial", 12, iTextSharp.text.Font.BOLD, iTextSharp.text.BaseColor.WHITE); var singeEntity = this.DataList[0]; var title = string.Format("{0} / {1} / {2}", singeEntity.Interpolation.CustomerFarm.Customer.Name, singeEntity.Interpolation.CustomerFarm.Name, singeEntity.Interpolation.Name); PdfPCell cellRibbon = new PdfPCell(new Phrase(title, fontH1)); cellRibbon.Border = 0; cellRibbon.Padding = 6; cellRibbon.BackgroundColor = new BaseColor(107, 176, 50); tblRibbon.AddCell(cellRibbon); int mapPerPage = 1; double count = Math.Ceiling((double)5 / mapPerPage); for (int i = 0; i < this.DataList.Count; i++) { this.CurrentField = this.DataList[i]; document.NewPage(); // Ribbon document.Add(tblRibbon); PdfPTable tblMaps = new PdfPTable(1); tblMaps.WidthPercentage = 70; tblMaps.DefaultCell.Border = 0; tblMaps.DefaultCell.PaddingBottom = 40; tblMaps.DefaultCell.PaddingTop = 100; tblMaps.AddCell(MapCell()); document.Add(tblMaps); } document.Close(); writer.Close(); fileStream.Close(); }
private void addKrigingLayerButton_Click(object sender, EventArgs e, MainApp.Forms.KrigingLayerSelectionFrom fm) { foreach (var item in fm.LayersItem) { if (item.isSelected) { var krigingField = new InterpolatedFields(); krigingField.ZData = item.getZData(); krigingField.Field = !string.IsNullOrEmpty(item.Layer.LegendText) ? item.Layer.LegendText : item.Layer.DataSet.Name; krigingField.Image = item.ImagePath; krigingField.PieChartData = item.PieChartData; krigingField.ColorsCategories = Newtonsoft.Json.JsonConvert.SerializeObject(item.ColorsList); fm.Close(); var ctrl = new SelectedKrigingItem(krigingField, flowLayoutPanel1.Controls.Count + 1); flowLayoutPanel1.Controls.Add(ctrl); } } }
private void addKrigingButton_Click(object sender, EventArgs e, GeoSoft.Plugins.Interpolation.Forms.KrigingForm fm) { if (fm != null && fm.KrigingFields.Count > 0) { foreach (var item in fm.KrigingFields) { var krigingField = new InterpolatedFields(); krigingField.ZData = item.OutputZ; krigingField.Field = item.Field; krigingField.PieChartData = Newtonsoft.Json.JsonConvert.SerializeObject(item.PieChartData); krigingField.Image = item.Image; krigingField.ColorsCategories = Newtonsoft.Json.JsonConvert.SerializeObject(fm.ColorsList); var ctrl = new SelectedKrigingItem(krigingField, flowLayoutPanel1.Controls.Count + 1); flowLayoutPanel1.Controls.Add(ctrl); } fm.Close(); } }
public static string SerializeProject(string name, List<DotSpatial.Symbology.ILayer> mapLayers, string directory, ref List<InterpolatedFields> fields) { try { var projectFile = new Project() { Name = name, Created = DateTime.Now }; var layers = new List<ProjectLayer>(); //Uncheck all foreach (var item in mapLayers.Where(c => (c is MapRasterLayer))) { item.Checked = false; } CustomerExtension.MyAppManager.Legend.RefreshNodes(); CustomerExtension.MyAppManager.Map.Refresh(); //Start Loop foreach (var item in mapLayers) { // Map Layer if (item is MapImageLayer && item.DataSet is InRamImageData) { //var mapDropdown = CustomerExtension.MyAppManager.HeaderControl.GetItemByKey("kServiceDropDown") as DropDownActionItem; //if (mapDropdown != null && (!string.IsNullOrEmpty(Convert.ToString(mapDropdown.SelectedItem)) || Convert.ToString(mapDropdown.SelectedItem) != "None")) // projectFile.BaseMap = new BaseMapLayer() { Name = item.LegendText, Source = Convert.ToString(mapDropdown.SelectedItem) }; } else { string filePath = "", extraInfo = ""; //Point Features Layer if (item is MapPointLayer && item.DataSet is PointShapefile) { var layer = item as IMapFeatureLayer; filePath = Path.Combine(directory, Path.GetFileName(layer.DataSet.Filename)); layer.DataSet.SaveAs(filePath, true); } else if (item is MapPolygonLayer && item.DataSet is PolygonShapefile) { var layer = item as IMapPolygonLayer; filePath = Path.Combine(directory, Path.GetFileName(layer.DataSet.Filename)); layer.DataSet.SaveAs(filePath, true); } else if (item is MapRasterLayer && item.DataSet is BgdRaster<float>) { var rasterLayer = item as DotSpatial.Symbology.RasterLayer; var layer = item as MapRasterLayer; filePath = Path.Combine(directory, Path.GetFileName(layer.DataSet.Filename)); var imagePath = Path.Combine(directory, Path.GetFileNameWithoutExtension(layer.DataSet.Filename) + ".jpg"); //if (!string.IsNullOrEmpty(layer.ExtraInfo)) //{ // extraInfo = Path.Combine(directory, Path.GetFileName(layer.ExtraInfo)); // File.Copy(layer.ExtraInfo, extraInfo); //} File.Copy(layer.DataSet.Filename, filePath); ToggleLayer(layer, true); TakeLayerSnapshot(imagePath); ToggleLayer(layer, true); var list = new List<ColorScheme>(); foreach (var scheme in rasterLayer.Symbolizer.Scheme.Categories) { list.Add(new ColorScheme() { HighColor = scheme.HighColor, LowColor = scheme.LowColor, Text = scheme.LegendText }); } var iField = new InterpolatedFields() { Created = DateTime.Now, Field = item.LegendText, Max = rasterLayer.DataSet.Maximum, Min = rasterLayer.DataSet.Minimum, Mean = rasterLayer.DataSet.Mean, Image = imagePath, }; fields.Add(iField); } if (!string.IsNullOrEmpty(item.LegendText) || !string.IsNullOrEmpty(filePath)) { layers.Add(new ProjectLayer() { name = item.LegendText, filePath = filePath, info = extraInfo }); } } } //End Loop projectFile.Layers = layers; return JsonConvert.SerializeObject(projectFile); } catch (Exception) { throw; } }
public static bool SaveLayers(Map map, string directory, Chart pieChart, Panel panel, ref CustomerInterpolation interpolation, ref List<InterpolatedFields> saveFields) { var projectFile = new Project(); var layers = new List<ProjectLayer>(); var baseMap = new BaseMapLayer(); UncheckAllLayers(map); foreach (var item in map.GetLayers()) { // Map Layer if (item is MapImageLayer && item.DataSet is InRamImageData) { } else { //Point Features Layer if (item is MapPointLayer && item.DataSet is PointShapefile) { var layer = item as IMapFeatureLayer; var fileName = Path.GetFileName(layer.DataSet.Filename); var path = Path.Combine(directory, fileName); layer.DataSet.SaveAs(Path.Combine(directory, fileName), true); layers.Add(new ProjectLayer() { Path = path }); item.Checked = true; PluginExtension.MyAppManager.Map.Refresh(); } else if (item is MapPolygonLayer && item.DataSet is IFeatureSet) { var layer = item as IMapPolygonLayer; var fileName = Path.GetFileName(layer.DataSet.Filename); var path = Path.Combine(directory, fileName); var imagePath = Path.Combine(directory, Path.GetFileNameWithoutExtension(layer.DataSet.Filename) + ".png"); var colorPlatImg = Path.Combine(directory, Path.GetFileNameWithoutExtension(layer.DataSet.Filename) + "_ColorPlate.png"); var pieChartImage = Path.Combine(directory, Path.GetFileNameWithoutExtension(layer.DataSet.Filename) + "_PIEChart.png"); item.Checked = true; PluginExtension.MyAppManager.Map.Refresh(); if (KrigingTemp.Fields.Where(c => c.OutputShapeFile == fileName).Count() > 0) { var tempField = KrigingTemp.Fields.Where(c => c.OutputShapeFile == fileName).First(); SaveGridFile(tempField.OutputShapeFile, directory); var intField = new InterpolatedFields(); intField.ZData = tempField.OutputZ; intField.Field = tempField.Field; intField.ShapeFile = path; intField.Image = imagePath; intField.PieChartData = Newtonsoft.Json.JsonConvert.SerializeObject(tempField.PieChartData); intField.ProductValue = tempField.ProductResult; if (new ConfigSaveKriging().LoadPieChart(pieChart, panel, tempField.PieChartData, pieChartImage)) { intField.PieChartImage = pieChartImage; } var ls = new List<ColorCategory>(); foreach (var s in layer.Symbology.Categories.ToList()) { ls.Add(new ColorCategory() { Color = s.GetColor(), Expression = s.FilterExpression, LegendText = s.LegendText, Max = s.Maximum, Min = s.Minimum, }); } var colorPlate = CreateColorPlate(ls); if (colorPlate != null) { colorPlate.Save(colorPlatImg, System.Drawing.Imaging.ImageFormat.Png); intField.ColorPlateImage = colorPlatImg; } intField.ColorsCategories = Newtonsoft.Json.JsonConvert.SerializeObject(ls); var array = Array.ConvertAll(tempField.OutputZ.Split(','), Double.Parse); intField.Max = Convert.ToDouble(array.Max(), System.Globalization.CultureInfo.InvariantCulture.NumberFormat); intField.Min = Convert.ToDouble(array.Min(), System.Globalization.CultureInfo.InvariantCulture.NumberFormat); intField.Mean = Convert.ToDouble(Math.Round(array.Average(), 2), System.Globalization.CultureInfo.InvariantCulture.NumberFormat); saveFields.Add(intField); getSnapshot(imagePath); } else { layers.Add(new ProjectLayer() { Path = path }); } layer.DataSet.SaveAs(path, true); } } } projectFile.BaseMap = baseMap; projectFile.Layers = layers; interpolation.ProjectFiles = Newtonsoft.Json.JsonConvert.SerializeObject(projectFile); return true; }
public void CreatePDF() { var pageSize = new iTextSharp.text.Rectangle(700f, 650f); Document document = new Document(PageSize.A3, 0, 0, 0, 0); document.SetPageSize(PageSize.A3.Rotate()); document.SetMargins(0, 0, 13f, 20f); var tempFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TempFiles", "report.pdf"); var fileStream = new System.IO.FileStream(tempFileName, FileMode.Create); var writer = iTextSharp.text.pdf.PdfWriter.GetInstance(document, fileStream); document.Open(); var cb = writer.DirectContent; // Cover Page PdfPTable tblCover = new PdfPTable(1); tblCover.DefaultCell.Padding = 0; tblCover.DefaultCell.PaddingTop = 100; tblCover.DefaultCell.Border = 0; var coverImage = iTextSharp.text.Image.GetInstance(@"C:\Users\Shoaib\Desktop\cover.png"); coverImage.ScalePercent(80f); tblCover.AddCell(coverImage); document.Add(tblCover); // Map Page document.NewPage(); // Ribbon PdfPTable tblRibbon = new PdfPTable(1); tblRibbon.HorizontalAlignment = 0; tblRibbon.WidthPercentage = 98; tblRibbon.DefaultCell.Border = 0; var fontH1 = FontFactory.GetFont("Arial", 12, iTextSharp.text.Font.BOLD, iTextSharp.text.BaseColor.WHITE); var singeEntity = this.DataList[0]; var title = string.Format("{0} / {1} / {2}", singeEntity.Interpolation.CustomerFarm.Customer.Name, singeEntity.Interpolation.CustomerFarm.Name, singeEntity.Interpolation.Name); PdfPCell cellRibbon = new PdfPCell(new Phrase(title, fontH1)); cellRibbon.Border = 0; cellRibbon.Padding = 6; cellRibbon.BackgroundColor = new BaseColor(107, 176, 50); tblRibbon.AddCell(cellRibbon); int mapPerPage = 6; double pageCount = Math.Ceiling((double)this.DataList.Count / mapPerPage); for (int i = 1; i <= pageCount; i++) { document.NewPage(); // Ribbon document.Add(tblRibbon); PdfPTable tblMaps = new PdfPTable(3); tblMaps.WidthPercentage = 90; tblMaps.DefaultCell.Border = 0; tblMaps.DefaultCell.PaddingBottom = 0; tblMaps.DefaultCell.PaddingTop = 3; var count = 0; foreach (var item in this.DataList.Skip((i - 1) * mapPerPage).Take(mapPerPage)) { this.CurrentField = item; tblMaps.AddCell(MapCell()); count++; } while (count <= 3) { tblMaps.AddCell(""); count++; } document.Add(tblMaps); } document.Close(); writer.Close(); fileStream.Close(); }
private void addKrigingLayerButton_Click(object sender, EventArgs e, MainApp.Forms.KrigingLayerSelectionFrom fm) { foreach (var item in fm.LayersItem) { if (item.isSelected) { KrigingField = new InterpolatedFields(); KrigingField.ZData = item.getZData(); KrigingField.Field = !string.IsNullOrEmpty(item.Layer.LegendText) ? item.Layer.LegendText : item.Layer.DataSet.Name; KrigingField.Image = item.ImagePath; KrigingField.PieChartData = item.PieChartData; ColorsList = item.ColorsList; fm.Close(); pictureBox1.SizeMode = PictureBoxSizeMode.Zoom; pictureBox1.Image = Image.FromFile(KrigingField.Image); break; } } }
private void btnRemoveKriging_Click(object sender, EventArgs e) { this.pictureBox1.Image = null; this.ColorsList.Clear(); this.KrigingField = null; }
public SelectedKrigingItem(InterpolatedFields interpolatedFields, int order) { this._interpolatedFields = interpolatedFields; _order = order; InitializeComponent(); }