arcengine栅格数据使用总结_第1页
arcengine栅格数据使用总结_第2页
arcengine栅格数据使用总结_第3页
arcengine栅格数据使用总结_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、arcengine栅格数据使用总结两个星期以来一直与栅格数据打交道,对A0的栅格部分应该有了一定的理解,下面是自己的一点体会,希望高手指教:)1、栅格数据的存储类型栅格数据一般可以存储为ESRI GRI(由一系列文件组成),TIFF格式(包括一个TIF文件和一个AUX文件),IMAGINE Image格式 在AE中一般调用ISaveAs接口来保存栅格数据2、栅格数据集和栅格编目的区别一个栅格数据集由一个或者多个波段(RasterBand )的数据组成,一个波段就是一个数据矩阵。对于格网数据(DEM数据)和单波段的影像数据,表现为仅仅只有一个波段数据的栅格数据集,而对于多光谱影像 数据则表现为具

2、有多个波段的栅格数据集栅格编目(Rastercatalog )用于显示某个研究区域内各种相邻的栅格数据,这些相邻的栅格数据没有经过拼接处理合成一副大的影像图3、IRasterWorkspaceEx 与 IRasterWorkspace ,IRsterWorkspace2 的区别1) .IRasteWorkspaceEx 接口主要是用来读取 GeoDatabase中的栅格数据集和栅格编目2) . IRasterWorkspace ,IRsterWorkspace2主要是用来读取以文件格式存储在本地的栅格数据4、加载栅格数据(以存储在本地的栅格数据文件为例)1. 直接用IRasterLayer接口

3、打开一个栅格文件并加载到地图控件IRasterLayer rasterLayer = new RasterLayerClass();(fileName); 用IRasterDataset 接口打开一个栅格数据集IWorkspaceFactory workspaceFactory = new RasterWorkspaceFactory();IWorkspace workspace;workspace = (inPath, 0);return;IRasterWorkspace rastWork = (IRasterWorkspace)workspace;IRasterDataset rastDa

4、taset;rastDataset= (inName);return;5、如何读取栅格数据的属性和遍历栅格数据栅格数据的属性包括栅格大小,行数,列数,投影信息,栅格范围等等,见下面代码(假设当前加载的栅格文件栅格值存储方式为:UShort类型)IRasterProps rasterProps = (IRasterProps)clipRaster;int dHeight = ; ; oString();6、如何提取指定的范围的栅格数据提取指定范围内 的栅格数据通常用两种方法IRasterLayerExport(esriCarto),lExtractionOp,IExtractionOp2 (ur

5、l= esriSpatialAnalyst /url), IRasterLayerExport接口提供的栅格数据提取功能有限,只能以矩形范围作为提取范围,而IExtractionOp接口提供了多边形,圆,属性,矩形等几种形式作为提取栅格数据.1).IRasterLayerExport 接口IRasterLayerExport rLayerExport = new RasterLayerExportClass();=rasterLayer;Catch(Exception ex)Throw new Argumention;2. IExtractionOp 接口(调用此接口前,应该先检查空间许可)I

6、ExtractionOp extraction = new RasterExtractionOpClass();tryIGeoDataset geoDataset = (IGeoDataset)clipRaster, clipExtent, true);IRaster raster = geoDataset as IRaster;if (raster != null)IWorkspaceFactory WF = new RasterWorkspaceFactoryClass();IWorkspace rasterWorkspace = (_folder, 0);ISaveAs saveAs =

7、 (ISaveAs)raster;(“” ,rasterWorkspace, TIFF);catch (Exception ex)MessageBox.Show;7 栅格数据重采样栅格数据的重采样主要基于三种方法:最邻近采样(NEAREST,双线性ILINEAR)和三次卷积采样(CUBIC。(1) .最邻近采样:它用输入栅格数据中最临近栅格值作为输岀值。因此,在重采样后的输岀栅格中的每个栅格值,都是输入栅格数据中真实存在而未加任何改变的值。这种方法简单易用,计算量小,重采样的速度最快。(2) .双线性采样:此重采样法取待采样点(x, y)点周围四个邻点,在y方向(或X方向)内插两次,再在x方向

8、(或y方向)内插一次,得到(x,y)点的栅格值。(3) .三次卷积采样:这是进一步提高内插精度的一种方法。它的基本思想是增加邻点来获得最佳插值函数。取待计算点周围相邻的16个点,与双线性采样类似,可先在某一方向上内插,如先在 x方向上,每四个值依次内插四次,再根据四次的计算结果在y方上内插,最终得到内插结果代码示例:采用双线性采样IRasterGeometryProc rasterGeometryProc = new RasterGeometryProcClass();,newCellSize, clipRaster);Tag标签:栅格数据 ArcEngine标签:栅格 重分类 分类:AE二次

9、开发public static IRasterLayer SetViewShedRenderer(IRaster plnRaster,string sField,string sPath) IRasterDescriptor pRD = new RasterDescriptorClass();(pInRaster, new QueryFilterClass(), sField);IReclassOp pReclassOp = new RasterReclassOpClass();IGeoDataset pGeodataset=plnRaster as IGeoDataset;IRasterAn

10、alysisEnvironment pEnv = pReclassOp as IRasterAnalysisEnvironment;IWorkspaceFactory pWSF=new RasterWorkspaceFactoryClass();IWorkspace pWS = (sPath, 0);=pWS;object objSnap = null;object objExtent =;,ref objExtent, ref objSnap);一 JIRasterLayer pRLayer = new RasterLayerClass();IRasterBandCollection pRs

11、BandCol = pGeodataset as IRasterBandCollection;oStri ng();pFea =();=pTable;else if (pLyr is IRasterLayer)IRasterLayer pRlyr = pLyr as IRasterLayer;IRaster pRaster =;IRasterProps pProp = pRaster as IRasterProps;if =IRasterBandCollection pBcol = pRaster as IRasterBandCollection;IRasterBand pBand = (0)

12、;ITable pRTable = ;DataTable pTable = new DataTable();for (int i = 0; i i+)ICursor pCursor= (null, false);IRow pRrow= (); while (pRrow != null) DataRow pRow = ();for (int i =0 ;ipRrow .Fields .FieldCount ;i+)pRow = (i).ToString () ;pRrow = ();= pTable;IRasterWorkspace2 IRasterDataset CreateRasterDat

13、aset C#public IRasterDataset CreateFileRasterDataset(string directoryName, string fileName) ? ? ? ? ?IWorkspace pWorkspace = 0);? ? ? ? ?IConversionOp pConversionOp = new RasterConversionOpClass();? ? ? ? ?ISpatialReference pSpatialReference = ;? ? ? ? ?IGeoDataset pGeoDataset;? ? ? ? ? ? ?pGeoDataset = (pRasterGeoDataset, pWorkspace, true);? ? ? ?IDataset pDataset1 = pGeoDataset as IDa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论