ArcEngine中的地图缩放相关的常用操作以及固定比例放大缩小

本文主要是介绍ArcEngine中的地图缩放相关的常用操作以及固定比例放大缩小,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

资料1:

这两个功能,和全图一样简单,也是继承CommandBase基类

  public override void OnClick(){//Get IEnvelope interfaceIEnvelope pEnvelope = (IEnvelope)m_pActiveView.FullExtent;//Expand envelope and refresh the viewpEnvelope.Expand(0.75, 0.75, true);m_pActiveView.Extent = pEnvelope;m_pActiveView.Refresh();}

   pEnvelope 是当前的地图视图,假定是1平米,屏幕大小也是1平米,现在将0.75平米的地图在1平米的屏幕上显示,也就是放大了,呵呵(这样描述可能容易理解一 点)pEnvelope.Expand(0.75, 0.75, true);就是获得0.75平米的地图视图,m_pActiveView 相当于屏幕。

  同理,缩小就是将1.25平米的地图视图,在1平米的屏幕上显示。

 

资料2:

在ArcEngine地图操作中,缩放地图的功能经常用到,这里做一个小结。

缩放地图一般可分为以下几种情况:

1.缩放地图:与放大地图相对,一般是手动绘制区域或固定比例缩放,可调用命令或Expand函数来;

2.缩放到图层:这一种用得比较多,通常是将图层转为GeoDataset,利用其他Extent属性来缩放到图层;

3.缩放到选中:选中一个或多个要素,根据选择的要素,创建Geometry,获取Envelope。如果数据量太大,会比较耗时;

4.缩放到单个要素:有时,为了截取,需要分别缩放到单个要素,这个非常简单;

5.缩放到单个要素(需要准确显示周围信息):往往在缩放到单个要素时,由于图斑形状不同,可能不能准确显示周围信息,这时需要将地图适当的再缩小一点,换言之,缩放扩大的单个要素(可用缓冲实现);

6.缩放到选择图层:这一种情况比较特殊,需要重点说明。我们在要素类中选择部分要素后,可创建选择图层(pFeatureLayerDefinition的CreateSelectionLayer方法),如果我们直接获取选择图层的Envelope来作为显示范围,则不是我们想要的结果,选择图层的Envelope与源图层的Envelope相同,不管选择多少个要素。无奈,我使用了Envelope的Union方法,重新生成了准确的范围。

这篇关于ArcEngine中的地图缩放相关的常用操作以及固定比例放大缩小的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/454146

相关文章

Spring Boot 常用注解整理(最全收藏版)

《SpringBoot常用注解整理(最全收藏版)》本文系统整理了常用的Spring/SpringBoot注解,按照功能分类进行介绍,每个注解都会涵盖其含义、提供来源、应用场景以及代码示例,帮助开发... 目录Spring & Spring Boot 常用注解整理一、Spring Boot 核心注解二、Spr

Python文件操作与IO流的使用方式

《Python文件操作与IO流的使用方式》:本文主要介绍Python文件操作与IO流的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python文件操作基础1. 打开文件2. 关闭文件二、文件读写操作1.www.chinasem.cn 读取文件2. 写

Java中的内部类和常用类用法解读

《Java中的内部类和常用类用法解读》:本文主要介绍Java中的内部类和常用类用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录内部类和常用类内部类成员内部类静态内部类局部内部类匿名内部类常用类Object类包装类String类StringBuffer和Stri

Java实现MinIO文件上传的加解密操作

《Java实现MinIO文件上传的加解密操作》在云存储场景中,数据安全是核心需求之一,MinIO作为高性能对象存储服务,支持通过客户端加密(CSE)在数据上传前完成加密,下面我们来看看如何通过Java... 目录一、背景与需求二、技术选型与原理1. 加密方案对比2. 核心算法选择三、完整代码实现1. 加密上

MySQL连接池(Pool)常用方法详解

《MySQL连接池(Pool)常用方法详解》本文详细介绍了MySQL连接池的常用方法,包括创建连接池、核心方法连接对象的方法、连接池管理方法以及事务处理,同时,还提供了最佳实践和性能提示,帮助开发者构... 目录mysql 连接池 (Pool) 常用方法详解1. 创建连接池2. 核心方法2.1 pool.q

Spring Boot 常用注解详解与使用最佳实践建议

《SpringBoot常用注解详解与使用最佳实践建议》:本文主要介绍SpringBoot常用注解详解与使用最佳实践建议,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 目录一、核心启动注解1. @SpringBootApplication2. @EnableAutoConfi

SQL常用操作精华之复制表、跨库查询、删除重复数据

《SQL常用操作精华之复制表、跨库查询、删除重复数据》:本文主要介绍SQL常用操作精华之复制表、跨库查询、删除重复数据,这些SQL操作涵盖了数据库开发中最常用的技术点,包括表操作、数据查询、数据管... 目录SQL常用操作精华总结表结构与数据操作高级查询技巧SQL常用操作精华总结表结构与数据操作复制表结

JavaScript时间戳与时间的转化常用方法

《JavaScript时间戳与时间的转化常用方法》在JavaScript中,时间戳(Timestamp)通常指Unix时间戳,即从1970年1月1日00:00:00UTC到某个时间点经过的毫秒数,下面... 目录1. 获取当前时间戳2. 时间戳 → 时间对象3. 时间戳php → 格式化字符串4. 时间字符

Java使用Stream流的Lambda语法进行List转Map的操作方式

《Java使用Stream流的Lambda语法进行List转Map的操作方式》:本文主要介绍Java使用Stream流的Lambda语法进行List转Map的操作方式,具有很好的参考价值,希望对大... 目录背景Stream流的Lambda语法应用实例1、定义要操作的UserDto2、ListChina编程转成M

解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException: org.junit.Test问题

《解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException:org.junit.Test问题》:本文主要介绍解决tomcat启动时报Junit相... 目录tomcat启动时报Junit相关错误Java.lang.ClassNotFoundException