Как получить доступ к нежелательному имени файла сохранения и удалить его?

Мне нужно отфильтровать растровое изображение по фиксированному порогу. Поэтому я использую функции 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;
}

0

Решение

(заявление об отказе: на самом деле я не программист на C ++, просто пытаюсь предоставить некоторые указатели, чтобы вы могли начать работу, поскольку никто, похоже, не имеет ответов.) (преобразовано из комментария)

IScratchWorkspaceFactory Похоже, интерфейс будет делать то, что вы хотите — вместо того, чтобы создавать свой workspace переменная с помощью IWorkspaceFactory.OpenFromFileпопробуйте вместо этого создать рабочую область? Согласно документации, она будет автоматически очищена при выходе из приложения.

Просто не забудьте использовать другое рабочее пространство для конечного результата. 🙂

0

Другие решения


По вопросам рекламы [email protected]