调用ArcToolBox里的Tool的三种方法

调用ArcToolBox里的Tool的三种方法

一.用 IArcToolboxExtension获得工具赋给pGPToolCommandHelper2,然后InvokeModal
  UID pUid = new UIDClass();
            pUid.Value = "esriGeoprocessingUI.ArcToolboxExtension";
            IArcToolboxExtension pATBExt = m_application.FindExtensionByCLSID(pUid) as IArcToolboxExtension;
            IGPTool pTool = pATBExt.ArcToolbox.GetToolbyNameString("ExportCAD");
  IGPToolCommandHelper2 pGPToolCommandHelper2 = new GPToolCommandHelperClass() as IGPToolCommandHelper2;
            pGPToolCommandHelper2.SetTool(pTool);
            Boolean pOk;
            IGPMessages pGPMessages;
            pGPToolCommandHelper2.InvokeModal(m_application.hWnd, null, out pOk, out pGPMessages);
二.用IWorkspaceFactory 根据工具的文件路径找ToolBoxes,Conversion Tools,然后ExportCAD工具,然后InvokeModal
IWorkspaceFactory pToolboxWorkspaceFactory = new ToolboxWorkspaceFactoryClass();
            IToolboxWorkspace pToolboxWorkspace = (IToolboxWorkspace)pToolboxWorkspaceFactory.OpenFromFile(@"D:/ArcGIS/ArcToolbox/Toolboxes", 0);
            IGPToolbox toolbox = (IGPToolbox)pToolboxWorkspace.OpenToolbox("Conversion Tools");
            IGPTool pTool = toolbox.OpenTool("ExportCAD");
            IGPToolCommandHelper2 pGPToolCommandHelper2 = new GPToolCommandHelperClass() as IGPToolCommandHelper2;
            //pGPToolCommandHelper2.SetTool(pTool);
            pGPToolCommandHelper2.SetToolByName("Conversion Tools", "ExportCAD");
            Boolean pOk;
            IGPMessages pGPMessages;
            pGPToolCommandHelper2.InvokeModal(m_application.hWnd, null, out pOk, out pGPMessages);
三.  直接用SetToolByName方法
IGPToolCommandHelper2 pGPToolCommandHelper2 = new GPToolCommandHelperClass() as IGPToolCommandHelper2;
            //pGPToolCommandHelper2.SetTool(pTool);
            pGPToolCommandHelper2.SetToolByName("Conversion Tools", "ExportCAD");
            Boolean pOk;
            IGPMessages pGPMessages;
            pGPToolCommandHelper2.InvokeModal(m_application.hWnd, null, out pOk, out pGPMessages);

来自:http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=27817&page=1#pid270040

### ArcGIS 中剪切图像方法教程 在 ArcGIS 中剪切图像可以通过多种方式实现,具体取决于所使用的工具以及输入数据的类型(矢量或栅格)。以下是详细的说明: #### 使用 Split Raster 工具进行批量裁切 对于需要批量裁切的情况,可以使用 `Split Raster` 工具。该工具位于 **ArcToolbox** 的路径下: **Data Management Tools → Raster → Raster Processing → Split Raster**。 在执行此操作时,需完成以下设置: - 在 **Input Features** 参数中指定要裁切的栅格图像。 - 设置 **Output Folder** 来保存裁切后的结果文件。 - 在 **Split Method** 下拉菜单中选择适合的裁切策略[^3]。 #### 利用 Mosaic 或 Mosaic To New Raster 进行拼接前的预处理 当涉及多个栅格图像并希望将其合并后再进行剪切时,可以先通过 `Mosaic` 或 `Mosaic To New Raster` 功能来创建单一的大图像。这些功能可以在 **Data Management Tools → Raster → Raster Dataset** 找到。 步骤如下: 1. 启动 **ArcMap** 并加载待处理的数据集。 2. 调用 **Mosaic** 工具并将目标图像作为输入参数。 3. 完成拼接后,再利用其他工具进一步实施精确剪切[^2]。 #### 高级编辑中的 Cut Polygon 工具用于沿特定线条分割多边形 如果需求是从某个线图层出发去切割另一个面图层,则推荐采用高级编辑模式下的 **Cut Polygon Tool (按线分割面)** 。这一过程允许用户基于已有的线要素对象直接对面状地理实体实行拆分动作。值得注意的是,这种方法适用于矢量层面的操作场景[^1]。 --- ```python import arcpy # 示例脚本展示如何调用Split Raster工具 arcpy.SplitRaster_management( in_raster="path_to_input_raster", out_path="output_folder", split_method="NUMBER_OFROWS" ) ``` 上述 Python 脚本片段展示了如何借助 ArcPy 库自动化运行 Split Raster 流程。 --- #### 总结 综上所述,在 ArcGIS 中剪切图像既可通过简单的交互界面手动设定各项参数达成目的;也可以编写定制化程度更高的程序代码形式提高效率。无论是针对单张还是大批量影像资料均能找到合适的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值