arcEngine开发之IMapControl接口
简介
IMapControl接口最重要的是包含IMap属性,还提供另外的属性用于:管理一般的外观显示,管理图层,加载地图文档以及跟踪在界面上显示的图形。
小知识点:一般一个接口的最新实现是 Default ,如果又多个实现,是通过数字区分,数字越大,其版本也越新。**
属性介绍
1. IActiveView
- 这个属性接口主要是用于管理应用程序的视图以及绘图的操作。IPageLayout和IMap实现了这个接口,这两个接口分别代表ArcMap中的两个视图。当需要使用IMap视图时,可以使用IMxDocument.FocusMap,另外一个则是使用IMxDocument.PageLayout来获取。
- ArcMap中就只能有一个激活的视图,那么IMxDocument.ActiveView就是当前激活的视图。
- ShowRulers ShowScrollBars ShowSelection
既然IActiveView能够管理地图的绘图操作,那么应该设置几个属性对此进行操作,这三个属性分别用于显示标尺 滚动条 选择集。 - ISelection
这个属性用于操作选择集
2.Extent 和 FullExtent
- Extent属于IEnvelope接口(实现Geometry接口),该属性表示当前地图的视图范围。FullExtent表示的是Map的视图。
- IEnvelope是一个矩形框,至少有四个坐标属性,XMin,XMax,YMin,YMax,CenterAt方法就是根据坐标点来进行操作的。
- 既然是一个矩形框,那么就可以对这个矩形框的大小进行调整,也可以通过计算和另外一个矩形框的交集、并集来获取一个新的矩形框元素。
方法介绍
IMapControlDefault的方法主要是用于管理图层的,例如AddLayer 、DeleteLayer,还有便是在控件上进行绘制,除此之外,介绍几个我认为比较重要的方法。
1. AddLayerFromFile 和 AddShapeFile
这是两个用于添加数据的方法。这里可以引申出一个思考,为什么需要不同的方法来进行数据的添加?这是因为在ArcMap中存在很多数据格式,不同的数据格式存储的方法是不一样的,因此也需要用不同的方法来打开。
2. DrawShape
IMapControl除了管理图层和数据之外,还有的功能便是进行绘制操作管理,在地图上绘制图形就是使用这个方法。
3. FromMapPoint ToMapPoint
- ToMapPoint为将图形设备坐标表示的一个点(X,Y)转换为地图上的一个点对象
FromMapPoint为将地图上的点转换为图形设备坐标。
4. TrackPolygon TrackLine TrackLine
当我们需要跟踪在地图 上所画的图形时,可以使用这几个方法。
arcEngine开发之IMapControl接口的更多相关文章
- ArcEngine开发之Command控件使用篇
转自原文 ArcEngine开发之Command控件使用篇 在ArcEngine类库中有大量的Command控件用来与地图控件进行操作和交互.比如有一系列的地图浏览控件.地图查询控件.图斑选取控件.编 ...
- arcEngine开发之IMap、ILayer、IFeatureLayer和IFeatureClass关系
刚开时学习 Engine 开发时,对于这几个接口之间的关系总是理不清,因此写下这篇文章做个总结. 是什么 在 engine 开发中,我觉得使用过程中应该将每个接口对应到 ArcMap 中的具体事物中, ...
- Linux企业级开发技术(2)——epoll企业级开发之epoll接口
epoll的接口非常简单,总共只有三个函数: 1.int epoll_create(intsize); 生成一个 Epoll 专用的文件描述符,size用来告诉内核这个监听的数目一共有多大.这个参数不 ...
- arcEngine开发之activeView.PartialRefresh(译)
为什么要使用partialRefresh arcMap应用程序窗口操作主要是由 IActiveView 控制的,并且它有 Map(data view) 和 PageLayout(layout view ...
- Mybatis-Dao层开发之Mapper接口
Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象,代理对象的方法体同上边Dao接口实现类方法. Mapper接口开发 ...
- DSP5509开发之FPGA接口
1. DSP5509和FPGA或者CPLD之间是什么接口,DSP相对普通MCU,具有专门的硬件乘法器,程序和数据分开的哈弗结构,特殊的DSP指令,快速的实现各种数字信号处理算法.在一个周期内可以完成一 ...
- ArcGIS Engine开发之旅08--和查询相关的对象和接口
原文:ArcGIS Engine开发之旅08--和查询相关的对象和接口 查询在GIS领域应该是一个很频繁的操作,在GIS中除了具有属性查询(和其他关系型数据库的查询类似),还提供了空间查询.在介绍查询 ...
- ArcGIS Engine开发之旅04---ARCGIS接口详细说明
原文:ArcGIS Engine开发之旅04---ARCGIS接口详细说明 ArcGIS接口详细说明... 1 1. IField接口(esriGeoDatabase)... 2 2. ...
- ArcGIS Engine开发之旅01---产品组成、逻辑体系结构
原文:ArcGIS Engine开发之旅01---产品组成.逻辑体系结构 ArcGIS Engine 由两个产品组成: 面向开发人员的软件开发包(ArcGIS Engine Developer k ...
随机推荐
- 友善之臂tiny4412-1306开发板安卓系统烧写
折腾了很久,终于烧写成功.不废话,咱们说说流程吧. 首先,我们需要有一个基于tiny4412的kernel,从友善之臂官网获取. 然后解压: 1.tar -xvf linux-3.5 .... 然后 ...
- mysql进阶(三)游标简易教程
mysql游标简易教程 从mysql V5.5开始,进行了一次大的改变,就是将InnoDB作为默认的存储引擎.InnoDB支持事务,而且拥有相关的RDBMS特性:ACID事务支持,数据完整性(支持外键 ...
- (一)UI设计的一些常识
一.概述 新版本的Xcode似乎框架不明示. UIView:屏幕上看得见摸得着的东西.视图.控件.组件. UIView是一个容器,能容纳其他UIView. UIViewController用来控制UI ...
- Java-Filter-FilterChain-FilterConfig源码
public interface Filter { /** * Called by the web container to indicate to a filter that it is being ...
- 使用Material Design 应用主题
自从去年Google推出Material Design这款设计语言后,新的设计规范越来越受开发者们的喜爱,这篇文章包括后续文章就是慢慢的介绍在App中使用Material Design界面主题.动画. ...
- 苹果新的编程语言 Swift 语言进阶(十五)--协议
协议定义了适合某个特定任务或功能需要的方法.属性和其它需求的一个蓝图.协议本身不提供这些需求的实现,它只是描述了一个任务或功能实现的蓝图. 协议与java 语言中的接口定义类似,都是描述了一个实现可以 ...
- web报表工具FineReport最经常用到部分函数详解
之前分别列出来了finereport常用的文本.时间函数的解释,这里应广大朋友的要求,整理了finereport最常用到的一些函数! SUM SUM(number1,number2,-):求一个指定单 ...
- HBase运维经验
http://www.qconbeijing.com/download/Nicolas.pdf 重点看了下facebook做了哪些改进以及他们的运维经验,比较重要的有以下几点: 改进: 1 加强了行级 ...
- 数据结构之---二叉树C实现
学过数据结构的都知道树,那么什么是树? 树(tree)是包含n(n>0)个结点的有穷集,其中: (1)每个元素称为结点(node): (2)有一个特定的结点被称为根结点或树根(root). (3 ...
- 循环赛日程编排c代码
#include <stdio.h> int m,s,n; int i,j; int a[100][100]; int sf(int n) { if(n%2!=0) printf(&quo ...