摘要: 1、如何获取MapFrame 打开一个Mxd文件,可能包含一个或多个Map,每个Map都会放到一个MapFrame中,加载到PageLayout上。我们可以通过PageLayout继承的IGraphicsContainer循环判断获取各MapFrame对象。也可以调用IGraphicsContain 阅读全文
posted @ 2022-12-08 10:21 mytudousi 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 1、从ArcMap角度看结构 一个Mxd文件包含一个PageLayout对象和一个多多个Map对象,每个Map会被包成MapFrame,添加到PageLayout中。我们用ArcMap打开一个mxd文件,在布局模式下看PageLayout都包含了什么。 PageLayout包含的内容以及内容之间的关 阅读全文
posted @ 2022-12-07 09:57 mytudousi 阅读(232) 评论(0) 推荐(2) 编辑
摘要: 1、RasterLayer的结构 图层的话,除了FeatureLayer外,用的最多的就是RasterLayer了。较FeatureLayer而言,RasterLayer比较简单,这点可以从栅格图层的属性对话框中可以看出。 其中General选项卡对应着RasterLayer继承实现的ILayerG 阅读全文
posted @ 2022-12-05 23:27 mytudousi 阅读(186) 评论(1) 推荐(1) 编辑
摘要: 1、FeatureLayer的结构 FeatureLayer是我们开发的时候用的最多的API之一,其实现的接口以及关联的其他API也非常多。下面我们就用一张图来整体看下FeatureLayer有哪些常用的功能。 FeatureLayer类继承实现了非常多的接口。每个接口主要负责什么功能呢?我们可以参 阅读全文
posted @ 2022-12-02 14:56 mytudousi 阅读(364) 评论(0) 推荐(1) 编辑
摘要: 1、Map-Layer主干结构 一个mxd文件可以包含多个地图,但我们常用的大部分都是包含一个地图。一个地图可以包含多个图层组和图层,而图层指向的则是实际数据。图层可以控制数据是否显示、显示样式、最大最小显示比例尺等。Map可以设置自己的空间参考,在渲染的时候,各图层会投影到地图的空间参考下显示。 阅读全文
posted @ 2022-12-02 09:22 mytudousi 阅读(65) 评论(0) 推荐(1) 编辑
摘要: 1、Mxd文件介绍 ArcGIS的地图文件为.mxd扩展名。Mxd文件的是有版本的,和ArcGIS的版本对应。可以在ArcMap中的File-Save A Copy,保存一个地图拷贝的时候选择Mxd文件的版本,支持的版本如下图所示。 因为我是用ArcMap 10.8截的图,所以这还需要再加一个Arc 阅读全文
posted @ 2022-11-30 13:36 mytudousi 阅读(474) 评论(0) 推荐(1) 编辑
摘要: 1、为什么再设计一套App-Command-Tool框架 为什么我们要自己再设计一套App-Command框架,而不直接使用AO API中的AxControl-ICommand这套已经非常好的框架呢? 1、宿主不同。我们系统的宿主对象除了可能要包含MapControl等地图显示控件外,还可能会包含我 阅读全文
posted @ 2022-11-29 17:00 mytudousi 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 1、ICommand接口 ICommand接口是插件协议之一,继承该接口的类都可以成为命令。即点击一下执行,不主动与宿主发生鼠标和键盘交互。该接口包含的重要成员如下表所示。 序号 名称 类型 描述 1 Bitmap Int 命令上显示的图标 2 Caption String 命令上显示的文字 3 C 阅读全文
posted @ 2022-11-28 11:46 mytudousi 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 1、什么是插件式架构 插件式架构设计中主要包括三个重要部分,宿主、插件协议以及插件实现。宿主是指使用插件的部分,该模块可以是一个类,也可以是多个接口和类组成的模块。插件协议是指宿主与插件之间的协议,宿主根据这个协议去调用插件的功能,插件根据这个协议去实现宿主需要的功能。插件实现就是基于插件协议实现的 阅读全文
posted @ 2022-11-27 11:42 mytudousi 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 1、基于Arcobjects SDK可以做什么基于Arcobjects SDK开发,大部分情况下就是做桌面GIS应用程序。AO写的代码是不能直接在Web服务上运行的,但如果你前端是JS,需要后端处理数据,也可以把AO写的代码封装成exe,在Web服务中取调exe文件,通过文件传递参数以及进度信息也是 阅读全文
posted @ 2022-11-26 21:06 mytudousi 阅读(146) 评论(0) 推荐(0) 编辑