GP工具生成的table,如何打开成itable
Geoprocessor GP = null;
IGeoProcessorResult results = null;
IQueryFilter pQueryFilter = null;
IGPUtilities pGPUtil = null;
try
{
GP = new Geoprocessor();
GP.OverwriteOutput = true;
pGPUtil = new GPUtilitiesClass();
ZonalStatisticsAsTable pZonalSta = new ZonalStatisticsAsTable();
pZonalSta.in_zone_data = inZoneData;
pZonalSta.zone_field = zoneField;
pZonalSta.in_value_raster = inValueRaster;
pZonalSta.out_table = outTable;
results = (IGeoProcessorResult) GP.Execute(pZonalSta, null);
pGPUtil.DecodeTableView(results.GetOutput(0), out dt, out pQueryFilter);
dt.RowCount(pQueryFilter);
}
catch (Exception e)
{
StringBuilder errorBuilder = new StringBuilder();
for (int i = 0; i < GP.MessageCount; i++)
errorBuilder.Append(GP.GetMessage(i));
throw new Exception("区域分析:" + errorBuilder.ToString());
}
使用gp生成的table,然后使用
ITable pTable;
IFeatureWorkspace pFeatureWorkspace = null;
try
{
pFeatureWorkspace = OpenFeatureWorkspace(filePath);
pTable = pFeatureWorkspace.OpenTable(tableName);
return pTable;
}
catch (Exception ex)
{
throw new FailToOpenDataException(ex);
}
进行打开,结果报错异常来自 HRESULT:0x80040351,用arcgis能够正常打开,请问是什么原因
1 个回复
朱新颖
赞同来自: 现在的未来的
2,可以试下执行完GP工具后,关闭程序,然后代码打开该table是否正常,如果正常的话,可能是因为执行完GP工具,该Table仍然被占用导致的,可以释放掉再重新打开试试。
要回复问题请先登录或注册