private Dictionary <string, double> StatArea(int[] aoi, Dictionary <string, Func <short, bool> > filters) { IRasterDrawing drawing = _activeViewer.Canvas.PrimaryDrawObject as IRasterDrawing; if (drawing == null) { return(null); } IRasterDataProvider prd = drawing.DataProvider; if (prd == null) { return(null); } RasterOperator <short> rs = new RasterOperator <short>(); if (_extractedPixels == null) { Dictionary <string, double> areas = rs.Area(prd, aoi, filters); return(areas); } else { double area = rs.Area(prd, _extractedPixels, aoi); Dictionary <string, double> areas = new Dictionary <string, double>(); areas.Add("判识面积", area); return(areas); } }
private void button4_Click(object sender, EventArgs e) { string fname1 = "F:\\FIR_NDVI_FY3A_MERSI_250M_20120610164136_20120611164136.dat"; IRasterDataProvider prd = GeoDataDriver.Open(fname1) as IRasterDataProvider; IRasterOperator <float> oper = new RasterOperator <float>(); area = oper.Area(prd, null, (v) => { return(true); }); }