Arcgis Engine二次开发实验报告 下载本文

//打开工作空间

rasterWorksapceEx = OpenRasterWorkspaceFromFileGDB(filePath); //设置存储参数

IRasterStorageDefstorageDef = newRasterStorageDef(); storageDef.CompressionType =

esriRasterCompressionType.esriRasterCompressionJPEG; //设置栅格列属性

IRasterDefrasterDef = newRasterDef(); //定义空间参考

ISpatialReferenceFactory2srFactotry = newSpatialReferenceEnvironmentClass(); intgcsType = (int)esriSRGeoCSType.esriSRGeoCS_WGS1984; IGeographicCoordinateSystemgeoCoordSystem =

srFactotry.CreateGeographicCoordinateSystem(gcsType);

ISpatialReferencespatialRef = (ISpatialReference)geoCoordSystem; rasterDef.SpatialReference = spatialRef; //创建栅格数据集

IRasterDatasetrasterDataset;

rasterDataset = rasterWorksapceEx.CreateRasterDataset(rasterName, 3, rstPixelType.PT_FLOAT, storageDef, null,rasterDef,null);

returntrue; }

2.添加事件响应函数

privatevoidmiCreateRaster_Click(object sender, EventArgs e) {

RasterUtilrastUtil = newRasterUtil();

rastUtil.CreateRaster(\, \); }

3.运行结果

栅格数据格式转换实验 实验思路:

栅格数据集组件提供了IRasterBandCollectin接口,利用IRasterBand- Collection的SaveAs 可以实现栅格数据的格式转换。该方法是利用已有栅格的波段创建一个新的栅格数据集,本实验是将原数据集转换成TIFF格式。要实现该操作,主要包含以下几个部分:

1.添加控件和类库:在主菜单项“栅格管理”下增加菜单项“格式转换” 2.添加类成员函数:在栅格工具类中添加“栅格数据格式转换”函数,实现数据格式转换功能

3.添加点击事件响应函数:为“格式转换”菜单项添加点击事件,传入需转换的栅格数据集名称、路径、新的数据集的名称。 实验流程如下:

添加主窗体控件添加类成员函数添加事件响应函数生成tif文件,加载至地图运行,点击“格式转换”

关键代码: 1.添加类成员函数

publicboolRasterConvert(stringfileGDB, stringoldRasterName, stringfilePath, stringnewRasterName) {

IWorkspace workspace;

IRasterWorkspaceExrasterWorkspaceEx; //打开输入工作空间

rasterWorkspaceEx = OpenRasterWorkspaceFromFileGDB(fileGDB); //打开栅格数据集

IRasterDatasetrasterDataset =

rasterWorkspaceEx.OpenRasterDataset(oldRasterName); //得到栅格波段

IRasterBandCollectionrasterBands = (IRasterBandCollection)rasterDataset; //打开输出工作空间

workspace = OpenRasterWorkspaceFromFile(filePath) asIWorkspace; //另存为给定文件名的图像文件

rasterBands.SaveAs(newRasterName, workspace, \); returntrue; }

2.添加事件响应函数

privatevoidmiRasterConvert_Click(object sender, EventArgs e) {

RasterUtilrastUtil = newRasterUtil();

rastUtil.RasterConvert(\, \, \, \); }

3.运行结果

栅格影像镶嵌实验 实验思路;

影像镶嵌是指两幅或多幅影像的融合,要完成镶嵌,需要创建一个单个栅格数据集,然后根据空间位置和影像特征信息融合影像。在本实验中,我们先建一个个人地理数据库,用来存放镶嵌影像,再新建一个栅格目录,加载用来镶嵌的两幅图C00000000.png和C00000001.png。接着在VS中添加栅格影像镶嵌的程序。实现栅格影像镶嵌可以概括为以下几部分:

1.栅格影像镶嵌前准备:创建个人地理数据库和栅格目录,加载用来镶嵌的两幅栅格影像。

2.添加控件和类库引用:在“栅格管理”菜单项的下拉菜单中添加“影像镶嵌”菜单项,并添加部分类库引用。

3.在类中添加“影像镶嵌”函数

4.添加事件响应函数:为“影像镶嵌”菜单项生成点击事件响应函数 实现流程如下: