




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
栅格空间分析,AE栅格数据模型,RasterDataset,表示以某种特定格式存贮在磁盘文件、数据库或内存中的栅格数据集。可进行基本的copy、rename、delete等管理实现了IRasterDataset、IGeoDataset、IGeoDataset2等接口,RasterBand,表示栅格数据的一个波段通过RasterBand可访问颜色表、栅格直方图、统计量、RAT表等。,Raster,表示栅格数据的一种临时状态。对Raster的改变不会引起源数据的改变。可以用Raster表达各种栅格数据处理的输出结果。总是和一个或多个RasterBand相关联。可由RasterDataset创建得到CreateFullRaster:创建包含所有内容的RasterCreateDefaultRaster:只包含3个波段实现了IRasterProps接口访问栅格属性。实现了IGeoDataset、IRaster等接口(但没有实现IGeoDataset2、IRasterDataset接口),空间分析模型,AE的GeoAnalyst库用于进行栅格空间分析它由两大类对象构成:环境支持对象分析操作对象,空间分析步骤,获取License设置分析环境访问输入数据执行分析操作使用输出结果,获取License,publicvoidGetSpatialAnalystLicense()/GetSpatialAnalystextensionuniqueidentifier(UID).UIDpUID=newUIDClass();pUID.Value=esriCore.SAExtension.1;/AddSpatialAnalystextensiontothelicensemanager.objectv=null;IExtensionManagerAdminextensionManagerAdmin=newExtensionManagerClass();extensionManagerAdmin.AddExtension(pUID,refv);/Enablethelicense.IExtensionManagerextensionManager=(IExtensionManager)extensionManagerAdmin;IExtensionextension=extensionManager.FindExtension(pUID);IExtensionConfigextensionConfig=(IExtensionConfig)extension;if(!(extensionConfig.State=esriExtensionState.esriESUnavailable)extensionConfig.State=esriExtensionState.esriESEnabled;elseMessageBox.Show(NoSpatialAnalystLicenseavailable);,设置分析环境,通过RasterAnalysisClass来实现。4个主要环境属性CellSize:输出精度Extent:分析操作发生区域Mask:在Extent基础上确定分析操作针对的区域SpatialReference其他环境属性与具体操作有关,默认值,Cellsize输入数据集中的最大的CellSize值Extent输入数据集的Extent的交集Mask无OutSpatialReference使用第一个有SpatialReference的输入Raster的SpatialReference。建议所有栅格使用相同的SpatialReferenceOutWorkspace由系统环境变量%TEMP%指定,设置分析环境,publicIRasterAnalysisEnvironmentSetNewDefaultEnvironment(IEnvelopeenvelope_Extent,doublenCellSize,IGeoDatasetgeoDataset_Mask,IWorkspaceworkspace,ISpatialReferencespatialReference)IRasterAnalysisEnvironmenttempSetNewDefaultEnvironment=null;IRasterAnalysisEnvironmentrasterAnalysisEnvironment=newRasterAnalysisClass();if(envelope_Extent!=null)objectextentProvider=(object)envelope_Extent;objectsnapRasterData=Type.Missing;rasterAnalysisEnvironment.SetExtent(esriRasterEnvSettingEnum.esriRasterEnvValue,refextentProvider,refsnapRasterData);objectcellSizeProvider=(object)nCellSize;rasterAnalysisEnvironment.SetCellSize(esriRasterEnvSettingEnum.esriRasterEnvValue,refcellSizeProvider);rasterAnalysisEnvironment.Mask=geoDataset_Mask;rasterAnalysisEnvironment.OutWorkspace=workspace;rasterAnalysisEnvironment.OutSpatialReference=spatialReference;rasterAnalysisEnvironment.SetAsNewDefaultEnvironment();returnrasterAnalysisEnvironment;,访问输入数据,4种可接受的输入RasterDataset:由RasterBand构成RasterBandRasterRasterDescriptor:只对子集操作时使用另两种可接受的输入FeatureClassFeatureClassDescriptor这两种输入会根据环境参数自动转换为栅格。,创建RasterDataset,publicIRasterDatasetOpenRasterDataset(stringsPath,stringsFileName)IRasterDatasetrasterDataset=null;IWorkspaceFactoryworkspaceFactory=newRasterWorkspaceFactoryClass();IRasterWorkspacerasterWorkspace=null;if(workspaceFactory.IsWorkspace(sPath)rasterWorkspace=(IRasterWorkspace)(workspaceFactory.OpenFromFile(sPath,0);rasterDataset=rasterWorkspace.OpenRasterDataset(sFileName);returnrasterDataset;,创建RasterDescriptor,publicIRasterDescriptorCreateRasterDescriptor(stringsPath,stringsFileName,stringsWhereClause,stringsSubField,stringsInField)IRasterDescriptorrasterDescriptor=newRasterDescriptorClass();IQueryFilterqueryFilter=newQueryFilterClass();queryFilter.WhereClause=sWhereClause;queryFilter.SubFields=sSubField;IRasterDatasetrasterDataset=OpenRasterDataset(sPath,sFileName);IRasterraster=rasterDataset.CreateDefaultRaster();rasterDescriptor.Create(raster,queryFilter,sInField);returnrasterDescriptor;,执行分析操作,分析操作有很多,但用法类似。须先知道分析所用的接口,然后调用接口函数执行分析时可修改环境参数,voidSlope()IRasterDatasetrasterDataset_Elevation=OpenRasterDataset(D:SpatialTest,elevation);ISurfaceOpsurfaceOp=newRasterSurfaceOpClass();IGeoDatasetgeoDataset_Elevation=(IGeoDataset)rasterDataset_Elevation;System.ObjectzFactor=Type.Missing;IGeoDatasetgeoDataset_Slope=surfaceOp.Slope(geoDataset_Elevation,esriGeoAnalysisSlopeEnum.esriGeoAnalysisSlopeDegrees,refzFactor);,执行时修改环境参数,voidMakeConstantRaster()IRasterMakerOprasterMakerOp=newRasterMakerOpClass();IRasterAnalysisEnvironmentrasterAnalysisEnvironment=(IRasterAnalysisEnvironment)rasterMakerOp;IWorkspaceFactoryworkspaceFactory=newRasterWorkspaceFactoryClass();IWorkspaceworkspace=workspaceFactory.OpenFromFile(c:temp,0);rasterAnalysisEnvironment.OutWorkspace=workspace;objectobject_cellSize=(System.Object)30;rasterAnalysisEnvironment.SetCellSize(esriRasterEnvSettingEnum.esriRasterEnvValue,refobject_cellSize);IEnvelopeenvelope=newEnvelopeClass();envelope.XMin=0;envelope.YMin=0;envelope.XMax=3000;envelope.YMax=3000;objectextentProvider=(System.Object)envelope;objectobject_Missing=System.Type.Missing;rasterAnalysisEnvironment.SetExtent(esriRasterEnvSettingEnum.esriRasterEnvValue,refextentProvider,refobject_Missing);IRasterraster=null;raster=(IRaster)(rasterMakerOp.MakeConstant(10,true);,显示输出结果,publicvoidAddRasterLayer(IRasterraster)IRasterLayerrasterLayer=newRasterLayerClass();rasterLayer.CreateFromRaster(raster);m_mapControl.AddLayer(rasterLayer,0);m_mapControl.ActiveView.Refresh();,保存结果,publicvoidMakePermanent(IRasterraster)IRasterBandCollectionrasterBandCollection=(IRasterBandCollection)raster;IRasterBandrasterBand=rasterBandCollection.Item(0);IRasterDatasetrasterDataset=rasterBand.RasterDataset;ITemporaryDatasettemporaryDataset=(ITemporaryDataset)rasterDataset;IWorkspaceFactoryworkspaceFactory=newRasterWorkspaceFactoryClass();IWorkspaceworkspace=workspaceFactory.OpenFromFile(c:temp,0);/FormatcanbeGRID,TIFF,orIMAGINEImage.temporaryDataset.MakePermanentAs(Result2.img,workspace,IMAGINEImage);,表面分析ISurfaceOp,Slope:坡度计算:Aspect:坡向计算Contour:生成等值线HillShade:山体阴影分析Visibility:通视分析Curvature:曲率分析,栅格变换ITransformationOp,Clip:裁剪Flip
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳动合同变更书范文5篇
- 江苏省盐城市建湖县建湖汉开书院2025-2026学年三年级上学期10月英语素养学业评估试题
- 韩国航拍考试题型及答案
- 哈博入学考试题目及答案
- 2025年养老护理员考试资料及答案
- 2025年医院卫生院食源性疾病监测工作管理制度
- 2025年公民科普科学素养知识竞赛考试练习题库含答案
- 医院后勤服务中心建设项目社会稳定风险评估报告
- 2025年妇幼保健院信息公开制度
- 宿迁市2025年度专业技术人员继续教育公需科目考试题库(附答案)
- 麦肯锡的《问题分析与解决技巧》课件
- CJJ-T 135-2009 (2023年版) 透水水泥混凝土路面技术规程
- 高教社马工程人力资源管理教学课件unit1
- 因离婚给孩子申请改姓协议书
- 用车登记表(标准模版)
- GB/T 9871-2008硫化橡胶或热塑性橡胶老化性能的测定拉伸应力松弛试验
- GB/T 12190-1990高性能屏蔽室屏蔽效能的测量方法
- 01第一章-稻谷的加工汇总课件
- 六年级LOGO小海龟编程
- 非ST段抬高心肌梗塞指南课件
- 驻足思考-瞬间整理思路并有力表达
评论
0/150
提交评论