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 ...
随机推荐
- E-JSON数据传输标准
简介 E-JSON的设计目标是使业务系统向浏览器端传递的JSON数据保持一致,容易被理解和处理,并兼顾传输的数据量.E-JSON依托于http协议(rfc2616)与JSON数据交换格式(rfc462 ...
- ubuntu14.04系统中virtualbox安装Oracle VM VirtualBox Extension Pack包
ubuntu14.04系统中virtualbox默认不支持usb设备,需要安装Oracle VM VirtualBox Extension Pack才行,但必须安装以下版本才可以安装成功: Oracl ...
- 【Android 应用开发】AndroidUI设计 之 图片浏览器
图片浏览器效果图 : 源码下载地址 : -- CSDN : http://download.csdn.net/detail/han1202012/6875083 -- GitHub : https:/ ...
- LeetCode之“散列表”:Isomorphic Strings
题目链接 题目要求: Given two strings s and t, determine if they are isomorphic. Two strings are isomorphic i ...
- Android实训案例(三)——实现时间轴效果的ListView,加入本地存储,实现恋爱日记的效果!
Android实训案例(三)--实现时间轴效果的ListView,加入本地存储,实现恋爱日记的效果! 感叹离春节将至,也同时感叹时间不等人,一年又一年,可是我依然是android道路上的小菜鸟,这篇讲 ...
- studio grandle渠道打包
1. Mainfest 文件中添加一个键值对,这里的value 我定义为 "UMENG_CHANNEL_VALUE"(当然实际应用中可以根据自己的需要命名),后面打包的时候会对这 ...
- web报表工具FineReport的公式编辑框的语法简介
FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式, ...
- PS 滤镜——旋转模糊
这里给出灰度图像的模糊算法,彩色图像只要分别对三个通道做模糊即可. %% spin blur % 旋转模糊 clc; clear all; close all; I=imread('4.jpg'); ...
- LeetCode(68)-Compare Version Numbers
题目: Compare two version numbers version1 and version2. If version1 > version2 return 1, if versio ...
- Oracle :%TYPE 和 %ROWTYPE
1. 使用%TYPE 在许多情况下,PL/SQL变量可以用来存储在数据库表中的数据.在这种情况下,变量应该拥有与表列相同的类型.例如,students表的first_name列的类型为VARCHAR2 ...