欢迎来到天天文库
浏览记录
ID:30359615
大小:93.04 KB
页数:15页
时间:2018-12-29
《ae二次开发进行dem表面积求算》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、四、算法代码此后为自定义类中的代码(1)栅格数据提取:采用二维数组对栅格数据进行结果存储,代码为arcengine帮助文档内部搜索出然后修正的publicdouble[,]ReadWriteRawBlocks(IRasterDataset2rasterDs){ //Createaraster. IRaster2raster2=rasterDs.CreateFullRaster()asIRaster2; //Createarastercursorwithasystem-optimizedpixelbl
2、ocksizebypassinganull. IRasterCursorrasterCursor=raster2.CreateCursorEx(null); //UsetheIRasterEditinterface. IRasterEditrasterEdit=raster2asIRasterEdit; //Loopthrougheachbandandpixelblock. IRasterBandCollectionbands=rasterDsasIRaste
3、rBandCollection; IPixelBlock3pixelblock3=null; IRawBlocks rawBlocks=(IRawBlocks)bands.Item(0); IRasterInfo rasInfo=rawBlocks.RasterInfo; longblockwidth=0; longblockheight=0; System.Arraypixels; IPnttlc=null;
4、 objectv; double[]v1=newdouble[1000000]; intm=0; intlenght=0; double[,]value=newdouble[rasInfo.Width,rasInfo.Height]; longbandCount=bands.Count; do { pixelblock3=rasterCursor.PixelBlockasIPix
5、elBlock3; blockwidth=pixelblock3.Width; blockheight=pixelblock3.Height; pixelblock3.Mask(255); //value=newdouble[blockwidth,blockheight]; for(intk=0;k6、larray. pixels=(System.Array)pixelblock3.get_PixelData(k); for(longi=0;i7、 v=pixels.GetValue(i,j); //Dosomethingwiththevalue.//此处的数据提取是以64*64单元提取,需要主意顺序,该段代码前一讲中已说明。 v1[m]=Convert.ToDouble(v); lenght=m; m++; } 8、 }
6、larray. pixels=(System.Array)pixelblock3.get_PixelData(k); for(longi=0;i7、 v=pixels.GetValue(i,j); //Dosomethingwiththevalue.//此处的数据提取是以64*64单元提取,需要主意顺序,该段代码前一讲中已说明。 v1[m]=Convert.ToDouble(v); lenght=m; m++; } 8、 }
7、 v=pixels.GetValue(i,j); //Dosomethingwiththevalue.//此处的数据提取是以64*64单元提取,需要主意顺序,该段代码前一讲中已说明。 v1[m]=Convert.ToDouble(v); lenght=m; m++; }
8、 }
此文档下载收益归作者所有