ArcEngine 复制镶嵌数据集

ArcEngine版本:10.2.2
问题描述:
在arcgis中有如下三种方法复制镶嵌数据集
http://desktop.arcgis.com/zh-cn/arcmap/10.3/manage-data/raster-and-images/moving-or-copying-a-mosaic-dataset.htm
我本想用AE调用GP(Copy)工具,结果老失败,后来发现arcmap也不支持复制SDE库中的镶嵌数据集,只能复制非SDE库的镶嵌数据集。(如下截图为Arcmap中操作输入SDE库中镶嵌数据集时提示的错误)

2.png

3.png

QQ图片20160607091418.png
 
1.png
                ESRI.ArcGIS.DataManagementTools.Copy copyTool = new ESRI.ArcGIS.DataManagementTools.Copy();
copyTool.in_data = pMosaicDataset;
copyTool.out_data = System.IO.Path.Combine(pOutputWorkspace.PathName, dataModel.MosaicName);
Geoprocessor gp = new Geoprocessor();
gp.OverwriteOutput = true;
IGeoProcessorResult gpResult = gp.Execute(copyTool, null) as IGeoProcessorResult;


我现在的问题是有没有什么好的方法可以复制镶嵌数据集(从SDE库中复制到本地的GDB库)
 
已邀请:

YoungHappy

赞同来自: 刘峥 GIS知乎

总算成功了,我之前失败的原因是我代码中开启了编辑,把我编辑关闭后,代码运行正常。代码如下:
                ESRI.ArcGIS.DataManagementTools.Copy copyTool = new ESRI.ArcGIS.DataManagementTools.Copy();
//string sUserName = PS.Plot.Sys.GlobalVars.instance.ModelManager.GetConnUserName(dataModel.ConnUID);
//E:\工作\项目\04数据库管理系统\bin\Debug\temp\2016-6-7-10-52-19.sde\A_GQPC_IMG_M.M_DOM
//copyTool.in_data = System.IO.Path.Combine(pMosaicDataset.RelativePath, sUserName + "." + dataModel.MosaicName);
copyTool.in_data = pMosaicDataset;
copyTool.out_data = System.IO.Path.Combine(pOutputWorkspace.PathName, dataModel.MosaicName);
copyTool.data_type = "MosaicDataset";
Geoprocessor gp = new Geoprocessor();
gp.OverwriteOutput = true;
IGeoProcessorResult gpResult = gp.Execute(copyTool, null) as IGeoProcessorResult;
GP中传路径和ao对象都可以,最好谢谢 石羽和刘峥大神!!

石羽

赞同来自: YoungHappy

图文不符,图片中没有提到不支持镶嵌数据集。
http://desktop.arcgis.com/zh-cn/arcmap/10.3/tools/data-management-toolbox/copy.htm 中说明可以支持的。

QQ截图20160607094057.jpg

 

刘峥 - ArcGIS多面手

赞同来自: YoungHappy

我刚在10.4版本下测试了下Copy工具,可以成功把sde里的md拷贝到gdb里。

要回复问题请先登录注册