如何访问不需要的保存文件名并删除它

How to access unwanted save file name and delete it?

本文关键字:保存文件 保存 文件名 删除 不需要 何访问 访问      更新时间:2023-10-16

我需要通过一个固定的阈值过滤我的栅格图像。所以我使用ILogicalOp函数。每当我使用它们时,都会在工作空间中保存一个输出文件,由于我的数据库很大,这是不需要的。保存恰好发生在rasOut[i] = RMath.LessThan(inputRas[i], cons01)之后。我该如何预防呢?或者如何得到保存的文件名和删除它?如有任何意见将不胜感激。

private IGeoDataset[] CalcColdThreshold(IGeoDataset[] inputRas)
{
    IGeoDataset[] rasOut = new IGeoDataset[inputRas.Length];
    IGeoDataset emptyRas=null;
    ILogicalOp RMath;
    RMath = new RasterMathOpsClass();
    IRasterAnalysisEnvironment env;
    env = (IRasterAnalysisEnvironment)RMath;
    IWorkspaceFactory workspaceFactory = new RasterWorkspaceFactoryClass();
    IWorkspace workspace = workspaceFactory.OpenFromFile(System.IO.Path.GetFullPath(workSpace_save.Text), 0);
    env.OutWorkspace = workspace;
    IRasterMakerOp Rmaker = new RasterMakerOpClass();
    IGeoDataset cons01;
    Threshold_value = 15000;
    cons01 = Rmaker.MakeConstant(Threshold_value, false);
    for (int i = 0; i < inputRas.Length; i++)
    {
        rasOut[i] = RMath.LessThan(inputRas[i], cons01);
    } 
    return rasOut;
}

(免责声明:我实际上不是一个c++程序员,只是试图提供一些指针让你继续,因为没有人似乎有任何答案。)(从评论转换)

IScratchWorkspaceFactory接口听起来像它会做你想要的-而不是使用IWorkspaceFactory.OpenFromFile创建你的workspace变量,尝试创建一个划痕工作区代替?根据文档,当应用程序退出时,它将自动清理。

请记住为您的最终输出使用不同的工作空间。:)