public void btnClip_Click(object sender, EventArgs e) { string rstNm = cmbInRaster1.Text; string outNm = txtOutName.Text; if (rstNm == "" || rstNm == null) { MessageBox.Show("You must have a raster layer selected and a valid value", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (outNm == "" || outNm == null) { MessageBox.Show("You must specify an output raster name", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } this.Visible = false; esriUtil.Forms.RunningProcess.frmRunningProcessDialog rp = new RunningProcess.frmRunningProcessDialog(false); DateTime dt = DateTime.Now; rp.addMessage("Transforming Raster. This may take a while..."); rp.stepPGBar(10); rp.TopMost = true; try { IRaster rst = rstDic[rstNm]; switch (sType) { case rasterUtil.surfaceType.SLOPE: outraster = rsUtil.returnRaster(rsUtil.calcSlopeFunction(rst)); break; case rasterUtil.surfaceType.ASPECT: outraster = rsUtil.createRaster(rsUtil.calcAspectFunction(rst)); break; case rasterUtil.surfaceType.EASTING: outraster = rsUtil.createRaster(rsUtil.calcEastWestFunction(rst)); break; case rasterUtil.surfaceType.NORTHING: outraster = rsUtil.createRaster(rsUtil.calcNorthSouthFunction(rst)); break; default: outraster = rsUtil.createRaster(rsUtil.flipRasterFunction(rst)); break; } if (mp != null && addToMap) { rp.addMessage("Calculating Statistics..."); rp.Show(); rp.Refresh(); IRasterLayer rstLyr = new RasterLayerClass(); //rsUtil.calcStatsAndHist(((IRaster2)outraster).RasterDataset); rstLyr.CreateFromRaster(outraster); rstLyr.Name = outNm; rstLyr.Visible = false; mp.AddLayer(rstLyr); } outrastername = outNm; this.DialogResult = DialogResult.OK; } catch (Exception ex) { rp.addMessage(ex.ToString()); } finally { DateTime dt2 = DateTime.Now; TimeSpan ts = dt2.Subtract(dt); string t = " in " + ts.Days.ToString() + " days " + ts.Hours.ToString() + " hours " + ts.Minutes.ToString() + " minutes and " + ts.Seconds.ToString() + " seconds ."; rp.stepPGBar(100); rp.addMessage("Finished Setting Values Raster" + t); rp.enableClose(); this.Close(); } }