/// <summary> /// Prompts the user to a file dialog and select the input raster file. /// </summary> private void openInputRasterBbutton_Click(object sender, EventArgs e) { RasterFileDialog openFileDialog = new RasterFileDialog(FileDialogType.Open); openFileDialog.Multiselect = false; if (openFileDialog.ShowDialog() == DialogResult.OK) { try { inputRasterComboBox.Text = openFileDialog.FileName; editLayer = new RasterLayerClass(); editLayer.CreateFromFilePath(openFileDialog.FileName); ShowExtent(editLayer); } catch (Exception ex) { MessageBox.Show(string.Format("Unfortunately, the application meets an error.\n\nSource: {0}\nSite: {1}\nMessage: {2}", ex.Source, ex.TargetSite, ex.Message), "Error"); inputRasterComboBox.Text = ""; editLayer = null; } } this.BringToFront(); }
private void Form1_Load(object sender, EventArgs e) { this.StartPosition = FormStartPosition.CenterScreen; ImageList imgList = new ImageList(); imgList.ImageSize = new Size(1, 20); this.listView1.SmallImageList = imgList; this.listView1.GridLines = true; this.listView1.View = View.Details; this.listView1.LabelEdit = true; this.listView1.Scrollable = true; this.listView1.HeaderStyle = ColumnHeaderStyle.Clickable; this.listView1.FullRowSelect = true; this.listView1.Columns.Clear(); this.listView1.Columns.Add("编号", 40, HorizontalAlignment.Center); this.listView1.Columns.Add("类别名称", 80, HorizontalAlignment.Center); this.listView1.Columns.Add("样本个数", 80, HorizontalAlignment.Center); this.listView1.Columns.Add("颜 色", 80, HorizontalAlignment.Center); this.listView1.Columns.Add("多边形", 80, HorizontalAlignment.Center); baseRasterLayer.CreateFromFilePath(imageFilePath); axMapControl1.AddLayer(baseRasterLayer); this.Text = "正在选择ROI:" + System.IO.Path.GetFileName(imageFilePath); spatialReference = axMapControl1.Map.SpatialReference; }
internal static void OpenProfilesSetIn3D(ArcSceneArguments layers) { OpenArcScene(); try { IObjectFactory objFactory = m_application as IObjectFactory; Type rasterLayerType = typeof(RasterLayerClass); string typeRasterLayerID = rasterLayerType.GUID.ToString("B"); IRasterLayer elevationRasterLayer = (IRasterLayer)objFactory.Create(typeRasterLayerID); elevationRasterLayer.CreateFromFilePath(layers.DemLayer); ILayer layer = (ILayer)elevationRasterLayer; var line3DLayer = CreateLayer(layers.Line3DLayer, objFactory); var point3DLayer = CreateLayer(layers.Point3DLayer, objFactory); var polygon3DLayer = CreateLayer(layers.Polygon3DLayer, objFactory); var polygonLayerEffects = (ILayerEffects)polygon3DLayer; polygonLayerEffects.Transparency = 50; IBasicDocument document = (IBasicDocument)m_application.Document; document.AddLayer(layer); document.AddLayer(line3DLayer); document.AddLayer(point3DLayer); document.AddLayer(polygon3DLayer); document.UpdateContents(); } catch (Exception ex) { } }
private void btnOpen_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.InitialDirectory = this.txtOutPath.Text; if (openFileDialog1.ShowDialog() == DialogResult.OK) { this.comboBoxInData.Text = openFileDialog1.FileName; string filePath = openFileDialog1.FileName; m_pRasterLyr = new RasterLayerClass(); m_pRasterLyr.CreateFromFilePath(filePath); } }
private void MainForm_Load(object sender, EventArgs e) { //get the MapControl m_mapControl = (IMapControl3)axMapControl1.Object; activeView = m_mapControl.ActiveView; LayerMenu.SetHook(m_mapControl); LayerMenu.AddItem(new ZoomToLayer(), 0, 0, false, esriCommandStyles.esriCommandStyleIconAndText); //打开两张影像。 if (BaseMap != null && TopMap != null) { topRasterLayer.CreateFromFilePath(TopMap); axMapControl1.AddLayer(topRasterLayer, 0); baseRasterLayer.CreateFromFilePath(BaseMap); axMapControl1.AddLayer(baseRasterLayer, 1); geoReference = topRasterLayer as IGeoReference; this.Text = "正在配准:" + System.IO.Path.GetFileName(TopMap) + " -> " + System.IO.Path.GetFileName(BaseMap); TransparencyLabel.Text = "顶层透明度:" + TransparencyTrackBar.Value.ToString() + "%"; } }
private void MainForm_Load(object sender, EventArgs e) { try { m_mapControl = (IMapControl3)axMapControl1.Object; if (BaseMap != null) { baseRasterLayer.CreateFromFilePath(BaseMap); axMapControl1.AddLayer(baseRasterLayer); this.Text = "正在选择ROI:" + System.IO.Path.GetFileName(BaseMap); spatialReference = axMapControl1.Map.SpatialReference; //string dir = @"D:\Desktop\qwq"; string dir = System.IO.Path.GetTempPath(); //featureWorkspace = workspaceFactory.Create(dir, "owo", null, 0) as IFeatureWorkspace; featureWorkspace = workspaceFactory.OpenFromFile(dir, 0) as IFeatureWorkspace; } } catch (Exception err) { MessageBox.Show(err.ToString()); } }
// Skapar distanslager. public void createDistance(System.String costPath, System.String sourcePath, System.String outPath) { if (costPath == "" || sourcePath == "" || outPath == "") { MessageBox.Show("Check your rasters"); } else { Geoprocessor gp = new Geoprocessor(); gp.OverwriteOutput = true; //gp.AddOutputsToMap = false; CostDistance distanceTool = new CostDistance(); distanceTool.in_cost_raster = cost; distanceTool.in_source_data = source; distanceTool.out_distance_raster = outPath; IGeoProcessorResult geoProcessorResult = (IGeoProcessorResult)gp.Execute(distanceTool, null); costDist = new RasterLayer(); costDist.CreateFromFilePath(outPath); } }
private void btnOpenData_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.InitialDirectory = this.txtOutPath.Text; if (openFileDialog1.ShowDialog() == DialogResult.OK) { comboBoxInData.Text = openFileDialog1.FileName; string filePath = openFileDialog1.FileName; m_pRasterLyr = new RasterLayerClass(); m_pRasterLyr.CreateFromFilePath(filePath); } }
/// <summary> /// Prompts the user to a file dialog and select the input raster file. /// </summary> private void openInputRasterBbutton_Click(object sender, EventArgs e) { RasterFileDialog openFileDialog = new RasterFileDialog(FileDialogType.Open); openFileDialog.Multiselect = false; if (openFileDialog.ShowDialog() == DialogResult.OK) { try { inputRasterComboBox.Text = openFileDialog.FileName; editLayer = new RasterLayerClass(); editLayer.CreateFromFilePath(openFileDialog.FileName); ShowExtent(editLayer); } catch (Exception ex) { MessageBox.Show(string.Format("Unfortunately, the application meets an error.\n\nSource: {0}\nSite: {1}\nMessage: {2}", ex.Source, ex.TargetSite, ex.Message), "Error"); inputRasterComboBox.Text = ""; editLayer = null; } } this.BringToFront(); }
//插值 private void btn_interpolation_Click(object sender, EventArgs e) { this.label_fun.Text = ""; //获取加密点矢量 IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactoryClass(); IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(@"D:\RasterMaSysTemp\hhData", 0); IFeatureWorkspace pFeatureWorkspace = pWorkspace as IFeatureWorkspace; IFeatureClass pFeatureClass = pFeatureWorkspace.OpenFeatureClass("加密点.shp"); //获取栅格波段 IRasterDataset pRasterDataset = GetDataClass.GetRasterDataset(this.txb_inputImg.Text); InversionClass inversionClass = new InversionClass(new RichTextBox()); double[][] imgAllBands = inversionClass.GetImgCellValue(pFeatureClass, pRasterDataset); //所有波段组合的值 Dictionary <string, double[]> imgBandscomb = calculateBandscomb(imgAllBands); string selectMethod = this.GetSelectRadText(gb_regressionMethod); string selectFieldRad = this.GetSelectRadText(gb_waterFields); string selectWaterField = _waterFieldsDictionary[selectFieldRad]; _labelFun = string.Format("回归拟合方程为:{0}=", selectWaterField); //获取结果值 if (selectMethod == "二次模型" || selectMethod == "指数模型") { MessageBox.Show("请选择其他拟合算法"); return; } List <double> resultList = this.GetResultValue(imgBandscomb, selectMethod, imgAllBands[0].Length); //显示拟合函数 this.label_fun.Text += _labelFun; //更新加密点属性 if (resultList.Count == 0) { MessageBox.Show("获取数据失败"); return; } this.UpdatePointValue(pFeatureClass, selectWaterField, resultList); //插值 if (this.txb_output.Text.Trim() != "") { GpToolsClass gpTools = new GpToolsClass(); gpTools.CalKriging(selectWaterField, this.txb_output.Text); } //如果生成插值图成功,则添加显示 if (File.Exists(this.txb_output.Text)) { if (File.Exists(@"D:\RasterMaSysTemp\hhData\水质插值专题图.mxd")) { MapDocument mapDoc = new MapDocumentClass(); mapDoc.Open(@"D:\RasterMaSysTemp\hhData\水质插值专题图.mxd", ""); axPageLayoutControl1.PageLayout = mapDoc.PageLayout; IMap pMap = mapDoc.get_Map(0); IRasterLayer pRasterLayer = pMap.Layer[0] as IRasterLayer; pRasterLayer.CreateFromFilePath(this.txb_output.Text); axPageLayoutControl1.PageLayout.ZoomToWhole(); IPage page = axPageLayoutControl1.Page; axPageLayoutControl1.Refresh(); } else { IMap pMap = this.axPageLayoutControl1.ActiveView.FocusMap; IRasterLayer pRasterLayer = new RasterLayerClass(); pRasterLayer.CreateFromFilePath(this.txb_output.Text); pMap.AddLayer(pRasterLayer); } } else { MessageBox.Show("处理失败!"); } }