摘要: MainApp定义了启动界面,主界面等。主界面的整体流程如下。 1、验证许可。 //ArcGIS许可验证 RuntimeManager.Bind(ProductCode.Desktop); var myAoLicenseCheck = new AoLicenseCheck { ProductCode 阅读全文
posted @ 2022-12-26 10:40 mytudousi 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 1、CommandUIs部分 这部分主要是定义承载Command和Tool的具体UI。如下图所示。 以CommandUI结尾的这几个类都是继承了Framework.Engine里面的ICommandUI接口,这样我们定义的Command和Tool就可以和这些UI绑定到一起了。 其中BarButton 阅读全文
posted @ 2022-12-25 10:40 mytudousi 阅读(230) 评论(0) 推荐(2) 编辑
摘要: 1、框架引擎部分 引擎模块其实就是之前我们说的App-Command-Tool模块,通过这个模块,把系统的主干框架搭建起来。 其中大部分出现在菜单以及工具条上的按钮都会继承这个框架定义ICommand和ITool。整个系统也是通过整合一些列Comand和Tool的方式,把整个系统搭建出来,这点也可以 阅读全文
posted @ 2022-12-23 10:49 mytudousi 阅读(279) 评论(1) 推荐(1) 编辑
摘要: 1、技术选型 ArcObjects SDK 10.8(ArcGIS 10.8),.Net FrameWork 4.8,VS2022,WPF(WinForm)、DEV。 用的时候,打包的ArcObjects SDK dll文件,可以使用低版本的,例如10.2,这样可以保障ArcGIS 10.2以上的环 阅读全文
posted @ 2022-12-23 10:44 mytudousi 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 1、SpatialReference的结构 ArcObjects SDK帮助中Esri.ArcGIS.Geometry命名空间帮助中的Object Model Diagram共两页,第一页就是Geometry的结构,第二页就是SpatialReference的结构。如下图所示。 如果想深入了解空间参 阅读全文
posted @ 2022-12-22 09:36 mytudousi 阅读(145) 评论(2) 推荐(0) 编辑
摘要: 1、Geometry体系结构 如果要看完整的Geometry体系结构,那么可以去查看帮助中的类结构图,非常完整和严谨。可以通过下图方式打开。 点击打开后,会发现里面的结构非常复杂。但如果我们抽丝剥茧的看的话,其结构逻辑又非常严谨。如下图所示。 这样看起来就比较繁杂,我们可以把我们常用的Geometr 阅读全文
posted @ 2022-12-21 11:51 mytudousi 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 1、Geoprocessor和IGPProcess Geoprocessor是ArcObjects SDK中定义Tool执行器。IGPProcess接口是ArcObjects SDK中定义的ArcTool接口。也就是说ArcObjects SDK定义的ArcTool都会继承该接口实现。理论上,在Ar 阅读全文
posted @ 2022-12-18 12:59 mytudousi 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 1、如何找到ToolBox 通过Geoprocessing菜单上的ArcToolbox菜单项,可以打开ArcToolbox面板。 工具栏上也有一个ArcToolbox的按钮,点击该按钮也可以打开。 通过Arccatalog打开。 2、ArcToolbox面板 ArcToolbox面板如下图所示。 A 阅读全文
posted @ 2022-12-15 16:05 mytudousi 阅读(947) 评论(0) 推荐(0) 编辑
摘要: 1、核心出图代码 出图主要是靠IExport接口,继承该接口的类如下图所示。 出不同格式的图,实例化不同的类即可。例如导出jpg格式的图片的代码如下。 private void Export(string pMxdFilePath, string pResultFolderPath) { //获取参 阅读全文
posted @ 2022-12-14 22:01 mytudousi 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 1、如何获取MapSurround 和获取MapFrame类似,如果你已经获取指北针、比例尺等对象,可以通过IGraphicsContainer的FindFrame函数获取。如果没有,则通过IGraphicsContainer循环所有Element去判断即可。 2、添加MapSurround 指北针 阅读全文
posted @ 2022-12-10 16:35 mytudousi 阅读(133) 评论(0) 推荐(0) 编辑