private void btnGO_Click(object sender, EventArgs e) { string fileName; string shpFile; int startX, endX; string shpDir; try { if (bDataPath == true) { fileName = txtOutPath.Text; shpDir = fileName.Substring(0, fileName.LastIndexOf("\\")); startX = fileName.LastIndexOf("\\"); endX = fileName.Length; shpFile = fileName.Substring(startX + 1, endX - startX - 1); } else { shpDir = txtOutPath.Text; shpFile = "ÌîÍÚ·½Á¿"; } if ((m_pInBRsLyr != null) && (m_pInARsLyr != null)) { double dCellSize = Convert.ToDouble(txtCellSize.Text); ISurfaceOp pRasterSurfaceOp = Utility.SetRasterSurfaceAnalysisEnv(shpDir, dCellSize); double dZFactor = Convert.ToDouble(txtZFactor.Text); object objZFactor = dZFactor; IRaster pInBRaster = m_pInBRsLyr.Raster; IRaster pInARaster = m_pInARsLyr.Raster; IRaster pOutRaster = null; IRasterLayer pRasterLayer = new RasterLayerClass(); pOutRaster = pRasterSurfaceOp.CutFill(pInBRaster as IGeoDataset, pInARaster as IGeoDataset, ref objZFactor) as IRaster; pRasterLayer.Name = shpFile; Utility.ConvertRasterToRsDataset(shpDir, pOutRaster, shpFile); pRasterLayer = Utility.SetCutFillRenderer(pOutRaster, "Value", shpDir); pMainFrm.getMapControl().AddLayer(pRasterLayer, 0); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
//填挖计算 private void button5_Click(object sender, EventArgs e) { outGeodataset = surfaceOp.CutFill(beforeGeo, afterGeo, ref Missing); ShowRasterResult(outGeodataset, "CutFill"); }