在axMapContory空间中加载tif格式的影像,C#编码如何写?

如题所述

在GIS里 数据 主要分为两大类:栅格数据和矢量数据,它们的区别主要体现在存储方式上。而在二次开发上一般并不用总是考虑数据的具体格式,而是要考虑数据的类型。像 .tif .jpg .bmp等都属于栅格(Raster)数据,而.shp .dwg等则是矢量(Feature)数据。所以,要打开 tif格式的影像 应选择 IRasterLayer接口。

下面是具体的代码:

/// <summary>
/// 打开 栅格文件
/// </summary>
/// <param name="aFileNames">打开 栅格文件 文件的全路径</param>
/// <param name="axMapControl"></param>
public static void OpenFile_RasterFile(string aFileName, AxMapControl axMapControl)//打开 栅格文件
{

string fullPath;

string path;//路径

string fileName;//文件名

fullPath = aFileName;

path = System.IO.Path.GetDirectoryName(fullPath);//路径

fileName = System.IO.Path.GetFileName(fullPath);//文件名

IWorkspaceFactory pWorkspaceFactory = new RasterWorkspaceFactoryClass();

IRasterWorkspace pRasterWorkspace = (IRasterWorkspace)pWorkspaceFactory.OpenFromFile(path, 0);

IRasterDataset pRasterDataset = (IRasterDataset)pRasterWorkspace.OpenRasterDataset(fileName);

IRasterLayer pRasterLayer = new RasterLayerClass();

pRasterLayer.CreateFromDataset(pRasterDataset);

axMapControl.Map.AddLayer(pRasterLayer);

axMapControl.ActiveView.Refresh();
}

希望对你有帮助!
温馨提示:答案为网友推荐,仅供参考