/// <summary>
/// 根据文件名,获取栅格数据集
/// </summary>
/// <param name="pFilePath"></param>
/// <returns></returns>
static private IRasterDataset GetRasterDataset(string pFilePath)
{
// 获取栅格工厂
IWorkspaceFactory pFactory = new RasterWorkspaceFactoryClass();
// 获取路径
string pDir = System.IO.Path.GetDirectoryName(pFilePath);
// 工作空间
IWorkspace pSpace = pFactory.OpenFromFile(pDir, 0);
// QI 至 IRasterWorkspace
IRasterWorkspace pRasterSpace = pSpace as IRasterWorkspace;
// 获取文件名
string name = System.IO.Path.GetFileName(pFilePath);
IRasterDataset pDataset = pRasterSpace.OpenRasterDataset(name);
return pDataset;
}
/// <summary>
/// 根据栅格数据集获取获取栅格图层
/// </summary>
/// <param name="pDataSet"></param>
/// <param name="pFilePath"></param>
/// <returns></returns>
static private IRasterLayer GetRasterLayer(IRasterDataset pDataSet, string pFilePath)
{
// 创建栅格图层
IRasterLayer pLayer = new RasterLayerClass();
pLayer.CreateFromDataset(pDataSet);
string name = System.IO.Path.GetFileName(pFilePath);
pLayer.Name = name;
return pLayer;
}
/// <summary>
/// 根据文件名获取栅格图层
/// </summary>
/// <param name="pFilePath"></param>
/// <returns></returns>
static public IRasterLayer GetRasterLayerFromFile(string pFilePath)
{
IRasterDataset pDataSet = GetRasterDataset(pFilePath);
IRasterLayer pLayer = GetRasterLayer(pDataSet, pFilePath);
return pLayer;
}
根据文件名生成栅格图层1
最新推荐文章于 2025-06-01 11:03:33 发布