ArcMap的Add-in及Soe开发总结

 时间:2024-10-13 07:27:26

ArcMap的Add-in及Soe开发总结

工具/原料

安装ArcGISDesktop,(如10.6)

以vs作为ao.net为例,先安装visualstudio企业2015版,再安装ArcObjects_SDK_for_NET_Framework_106_161746.exe

1.开发环境准备:

1、1.1.安装ArcGISDesktop,(如10.6)1.2.以vs作为ao.net为例,先安装visualstudio企业2015版,再安装ArcObjects_SDK_for_NET_Framework_106_161746.exe,这样在ao.net安装时就可将addin及soe的模板自动加到vs的项目模板中。

2.ArcMap的Add-in开发及调试:

1、2.1.在vs中点击文件>新建>项目,在已安装>模板>VisualC#>ArcGIS>DesktopAdd-ins中选择ArcMapAdd-in,设置好相应名称位置后确定即可。如下图:

ArcMap的Add-in及Soe开发总结

2、2.2.在向导中输入名称、公司名、作者、描述、图标,并点下一步,如下图:

ArcMap的Add-in及Soe开发总结

3、2.3.在向导中输入类名、标题、图标、分类、工具提示、描述后完成。如下图:

ArcMap的Add-in及Soe开发总结

4、2.4饱终柯肢.在\WizDemo\ArcMapAddinWizDemo\ArcMapAddinWizDemo\BtnWizDemoClassName.cs的protectedoverride即枢潋雳voidOnClick()方法体中输入System.Windows.Forms.MessageBox.Show("WizArcmapAddinDemoBtnClicked");并添加C:\ProgramFiles(x86)\ReferenceAssemblies\Microsoft\Framework\.NETFramework\v4.5.2\System.Windows.Forms.dll引用。

ArcMap的Add-in及Soe开发总结

5、2.5.点击调式>开始调试(或F5快捷键)启动ArcMap,即可进入调试模式。

6、2.6.在打开的ArcMap中,点自定义>自定义模式>命令>选择刚刚创建的分类BtnWizDemoCategory的BtnWizDemoCaptioin拖放到任意工具栏中,如下图拖放到了文件下的标准工具栏中,同样的操作也可拖放到任意菜单项中。

ArcMap的Add-in及Soe开发总结

7、2.7.在\WizDemo\ArcMapAddinWizDemo\ArcMapAddinWizDemo\BtnWizDemoClassName.cs的protectedoverridevoidOnClick()方法体第一行设置断点,点击刚添加到工具栏上的按钮,即可停在断点出进行调试:

ArcMap的Add-in及Soe开发总结

8、2.8.运行效果如下图:

ArcMap的Add-in及Soe开发总结

9、2.9饱终柯肢.扩展:2.9.1.Add-in除了可用DotNet开发,也可用Java进行开发(需要安装AoForJava的Sdk)。2.9.2.Add-in除了可开发在ArcMap的插件,还可梯瓣氨割开发ArcCatalog、ArcScene、ArcGlobal的插件。2.9.3.Add-in除了可开发在菜单或工具栏中的按钮,还可开发在ArcMap中可停靠的窗体,下拉框等。

3.Soe开发及调试:

1、3.1.在vs中点击文件>新建>项目,在已安装>模板>VisualC#>ArcGIS>ServerObjectExtentions中选择RESTSOETemplate,设置好相应名称位置后确定即可。如下图:

ArcMap的Add-in及Soe开发总结

2、3.2.螅岔出礤在\WizDemo\ArcMapAddinWizDemo\RestSOEWizDemo\RestSOEWizDemo.cs的publicclassRestSOEW足毂忍珩izDemo:IServerObjectExtension,IObjectConstruct,IRESTRequestHandler声明属性ServerObjectExtension中输入MapServer,如下图:

ArcMap的Add-in及Soe开发总结

3、3.3.螅岔出礤在在\WizDemo\ArcMapAddinWizDemo\RestSOEWizDemo\RestSOEWizDemo.cs的publicclassRestSOEWi芰垄孕动zDemo:IServerObjectExtension,IObjectConstruct,IRESTRequestHandler类的privatebyte[]SampleOperHandler方法中加入自定义的业务代码如parm2Value+="RestSOEWizDemo_HelloWorld";并生成项目。如图:

ArcMap的Add-in及Soe开发总结

4、3.4.在ArcgisServer站点如https://ags060.fjgc.com/arcgis/manager/site.html#的扩展>添加扩展>选择文件,选刚生成的\WizDemo\ArcMapAddinWizDemo\RestSOEWizDemo\bin\Debug\RestSOEWizDemo.soe后添加到站点。

ArcMap的Add-in及Soe开发总结

5、3.5.在ArcgisServer服务中任意一个地图服务如https://ags060.fjgc.com/arcgis/manager/service.html?name=IDCSDataManageSOE.MapServer的功能选中刚刚添加的RestSOEWizDemo,之后点击保存并重新启动即可。

ArcMap的Add-in及Soe开发总结

6、3.6.查看请求服务的执行效果,进入RestULRL:https://ags060.fjgc.com/arcgis/rest/services/IDCSDataManageSOE/MapServer/exts/RestSOEWizDemo/sampleOperation?parm1=a&parm2=b&f=html

ArcMap的Add-in及Soe开发总结

7、3.7.Soe的调试准备,如果ArcGISServer安装在本机,那么可以总结附加到进程ArcSoc.exe进行调试,如果ArcGISServer不是安装在本机,则可利用ArcMapAddin引用Soe的项目并调用项目中要调试的代码:

ArcMap的Add-in及Soe开发总结

8、3.8.Soe的断点调试:点击调式>开始调试(或F5快捷键)启动ArcMap,设好断点,即可进入调试模式。

ArcMap的Add-in及Soe开发总结

4.Add-in和Soe的通用之处:

1、4.1.A蟠校盯昂dd-in和Soe的调试除了将ArcMap作为启动外部程序进行调试外,也可用调试>附加到进弛贾班隧程ArcMap的方式进行调试;除了ArcMap外,还可通过文件>新建>项目,在已安装>模板>VisualC#>ArcGIS>ExtendingArcObjects>ConsoleApplication(Desktop)或WindowsApplication(Desktop)作为启动项,引用Add-in项目进行调试。4.2.若有engine的许可,让engine程序作为启动外部程序进行调试外,也可用调试>附加到进程进行调试。

5.可能出现的问题或有用技巧:

1、5.1.更新侑喏嵋甲插件方法:有时Add-in不能更新成最新的代码版本,即导致调试时vs提示代码版本过旧,可通过手动在ArcMap的自定义&g墉掠载牿t;插件管理中把旧的Addin插件删除,之后通过5.2的方法添加,或先关闭所有Arcmap,之后在资源管理器中双击Vs生成的.esriAddIn文件,如\WizDemo\ArcMapAddinWizDemo\ArcMapAddinWizDemo\bin\Debug\ArcMapAddinWizDemo.esriAddIn

ArcMap的Add-in及Soe开发总结

2、5.2.通过ArcMap的自定义>自定义模式>从文件中添加*.esriAddIn文件,如\WizDemo\ArcMapAddinWizDemo\ArcMapAddinWizDemo\bin\Debug\ArcMapAddinWizDemo.esriAddIn:

ArcMap的Add-in及Soe开发总结

3、5.3.边修改边测试:在ArcMap中按钮执行的代码前打好断点,可边调试边修改,那样相对于调试结束再修改提高不少效率。

4、5.4.启动调试时,可能出现“ValidateAddInXMLTask”任务意外失败,需要安装一个vs插件:链接:https://pan.baidu.com/s/1YDZ9D16kdW1BUPyIByTppA提取码:xca5

ArcMap Add-in 添加到Arcmap界面 arcgis脚本中如何写删除文件夹 Windows下PyQt4的安装 图解ArcSDE空间数据库连接 如何区分裁剪与交集?
热门搜索
火影忍者 动漫 小叶黄杨树图片 复仇者联盟动漫 哆啦a梦图片可爱 天宫一号图片