使用 VC++ 调用arcgis engine中的gp工具
2014-07-11 15:17
169 查看
最近项目中需要使用vc++调用gp工具,在网上查找发现用.net和python调用是件很简单的事,但是在vc中没有相应的工具类,只用通过gp接口指定工具名称来执行代码,现在把调用代码给大家:
//调用GP工具 执行 IGeoProcessorPtr ipGp(CLSID_GeoProcessor); if (ipGp!=NULL) { ipGp->put_OverwriteOutput(VARIANT_TRUE); // Execute CopyFeatures tool IVariantArrayPtr ipVariant(CLSID_VarArray); CString strPath; strPath.Format(_T("%s\\%s"),strWorkspace,strLayerName); _variant_t ipLayerPath(strPath); ipVariant->Add(ipLayerPath); _variant_t ipFieldName(_T("ID")); ipVariant->Add(ipFieldName); _variant_t ipExpression(_T("!OBJECTID!")); ipVariant->Add(ipExpression); _variant_t ipExpressionType(_T("PYTHON_9.3")); ipVariant->Add(ipExpressionType); IGeoProcessorResultPtr ipGpResult(CLSID_GeoProcessorResult);//这个必须要有,不然执行异常 HRESULT hr = ipGp->Execute(_bstr_t(_T("CalculateField_management")), ipVariant,0, &ipGpResult);//(IUnknownPtr)ipCoordSys if (!SUCCEEDED(hr)) { CComBSTR strError; ipGp->GetMessage(-1,&strError); } }
相关文章推荐
- ArcGIS Engine中如何调用GP工具(一)
- ArcGIS Engine中如何调用GP工具(二)
- 最近在ArcGIS Engine开发中关于调用gp工具过程出现COM 组件的调用返回了错误 HRESULT E_FAIL 错误的解决方法 和 学习oracle中遇到的一些问题总结
- VC调用vbscript.dll使用其正则表达式库
- Java使用JNI调用VC的DLL的一个小例子
- VC 工具使用和调试方法
- 使用ArcGIS Engine提供的命令和工具实现MapView操作
- 大家在使用VC的时候一定要安装的一个工具VisualAssist及其最新破解版下载
- 关于调用ArcGIS中GP工具Erase等得不到结果解决方法
- VC++ 换肤工具 SkinMagic 的使用
- 关于使用vc++调用matlab生成的dll传递数组的问题
- cygwin跨平台移植开发系列2--so2lib实用工具(把cygwin生成的so或dll转换成vc可调用的lib)
- 用VC++进行MapX二次开发::之三------使用MapX工具
- 一步步学如何使用VC调用matlab engine编程
- 使用ArcGIS Engine提供的命令和工具(ICommond,ITool)实现MapView操作
- [转]VC中使用ADO调用存储过程实现方法
- VC(.NET) 工程配置及工具使用
- VC中使用ADO调用存储过程
- VC编写其它开发工具调用的DLL
- 使用vc封装纯资源dll及调用