AO支持多线程吗? 我试着在线程中调用接口会失败。比如下面这段
// 精确到1位 Int(\'{0}\'*10)/10.0
ESRI.ArcGIS.SpatialAnalyst.IMapAlgebraOp rasterCalc = new ESRI.ArcGIS.SpatialAnalyst.RasterMapAlgebraOpClass();
IRasterWorkspace wsRaster = pWSF.OpenFromFile(m_outputDir, 0) as IRasterWorkspace;
IRasterDataset dsRaster = wsRaster.OpenRasterDataset(strTempImage);
IGeoDataset geoDS = dsRaster as IGeoDataset;
if (geoDS == null) throw new Exception("影像文件打开错误");
string rasterSymbol = "TEMPLATE_RASTER";
rasterCalc.BindRaster(geoDS, rasterSymbol);
// Int([TEMPLATE_RASTER] * 10) / 10.0
string expresion = string.Format("Floor([{0}]*{1})/{1:F1}", rasterSymbol, Math.Pow(10, m_Precition));
IGeoDataset rasterNew = rasterCalc.Execute(expresion);
// Execute 时提示“服务器出现意外情况。 (异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT))”
ESRI.ArcGIS.SpatialAnalyst.IMapAlgebraOp rasterCalc = new ESRI.ArcGIS.SpatialAnalyst.RasterMapAlgebraOpClass();
IRasterWorkspace wsRaster = pWSF.OpenFromFile(m_outputDir, 0) as IRasterWorkspace;
IRasterDataset dsRaster = wsRaster.OpenRasterDataset(strTempImage);
IGeoDataset geoDS = dsRaster as IGeoDataset;
if (geoDS == null) throw new Exception("影像文件打开错误");
string rasterSymbol = "TEMPLATE_RASTER";
rasterCalc.BindRaster(geoDS, rasterSymbol);
// Int([TEMPLATE_RASTER] * 10) / 10.0
string expresion = string.Format("Floor([{0}]*{1})/{1:F1}", rasterSymbol, Math.Pow(10, m_Precition));
IGeoDataset rasterNew = rasterCalc.Execute(expresion);
// Execute 时提示“服务器出现意外情况。 (异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT))”
2 个回复
朱新颖
赞同来自: nfc
nfc - GISer
赞同来自:
要回复问题请先登录或注册
发起人
GISer
相关问题
问题状态