关于IActiveView接口的PartialRefresh与Refresh

2024-03-02 18:32

本文主要是介绍关于IActiveView接口的PartialRefresh与Refresh,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

其实这个问题在我刚刚弄gis开发的时候就觉得很重要,你想想数据量大了以后每一步的操作都要全部刷新一遍,那得浪费多少时间啊,所以我找了些资料,自己也研究实验了一下,算是有点小的总结了。

          首先,像放大缩小这些全图操作那就是没有办法的,肯定是要全图刷新的;其他像编辑部分要素或者是其他选择的时候很多时候不是全图操作,那就看PartialRefresh了。

esriViewBackground  

Map grids 

Page/snap grid

esriViewGeography 

Layers

Unused

esriViewGeoSelection 

Feature selection

Unused

esriViewGraphics  

Labels/graphics

Graphics

esriViewGraphicSelection 

Graphic selection

Element selection

esriViewForeground  

Unused

Snap guides



以下是开发文档中对于PartialRefresh的第一个枚举参数的各个参数的解释,其实目前为主要使用2与3两个;其中常用的局部刷新是使用esriViewGeoSelection对选择集进行刷新,esriViewGraphics是对LabelElement等刷新。此外在文档中When selecting features, you must call PartialRefresh twice, once before and once after the selection operation.在重新选择要素的时候你需要先刷新2次,像这样

pMap.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, null, null);
pMap.Map.ClearSelection();
pMap.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, null, null);

然后再选择,再次刷新;

当然,现在我觉得这样其实还是有点麻烦的,我们可以这样,将刷新的不同相结合起来使用

  pMap.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, (object)pCurrentLayer, pBuffer.Envelope);pMap.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, (object)pCurrentLayer, pBuffer.Envelope);
不要告诉我你看不懂,好吧,第二个参数我觉得可以不设,目前还没仔细研究;第三个参数就是基于你的当前选中的操作要素集获取到的IEnvelope,这要就实现了局部刷新,和ArcGIS刷新效果是一样的;先写到这里,以后研究了更多再继续写

其实这个问题在我刚刚弄gis开发的时候就觉得很重要,你想想数据量大了以后每一步的操作都要全部刷新一遍,那得浪费多少时间啊,所以我找了些资料,自己也研究实验了一下,算是有点小的总结了。

这篇关于关于IActiveView接口的PartialRefresh与Refresh的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringBoot+Redis防止接口重复提交问题

《SpringBoot+Redis防止接口重复提交问题》:本文主要介绍SpringBoot+Redis防止接口重复提交问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录前言实现思路代码示例测试总结前言在项目的使用使用过程中,经常会出现某些操作在短时间内频繁提交。例

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置

spring中的ImportSelector接口示例详解

《spring中的ImportSelector接口示例详解》Spring的ImportSelector接口用于动态选择配置类,实现条件化和模块化配置,关键方法selectImports根据注解信息返回... 目录一、核心作用二、关键方法三、扩展功能四、使用示例五、工作原理六、应用场景七、自定义实现Impor

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

Java中的Closeable接口及常见问题

《Java中的Closeable接口及常见问题》Closeable是Java中的一个标记接口,用于表示可以被关闭的对象,它定义了一个标准的方法来释放对象占用的系统资源,下面给大家介绍Java中的Clo... 目录1. Closeable接口概述2. 主要用途3. 实现类4. 使用方法5. 实现自定义Clos

java对接第三方接口的三种实现方式

《java对接第三方接口的三种实现方式》:本文主要介绍java对接第三方接口的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录HttpURLConnection调用方法CloseableHttpClient调用RestTemplate调用总结在日常工作

Java 的 Condition 接口与等待通知机制详解

《Java的Condition接口与等待通知机制详解》在Java并发编程里,实现线程间的协作与同步是极为关键的任务,本文将深入探究Condition接口及其背后的等待通知机制,感兴趣的朋友一起看... 目录一、引言二、Condition 接口概述2.1 基本概念2.2 与 Object 类等待通知方法的区别

SpringBoot实现接口数据加解密的三种实战方案

《SpringBoot实现接口数据加解密的三种实战方案》在金融支付、用户隐私信息传输等场景中,接口数据若以明文传输,极易被中间人攻击窃取,SpringBoot提供了多种优雅的加解密实现方案,本文将从原... 目录一、为什么需要接口数据加解密?二、核心加解密算法选择1. 对称加密(AES)2. 非对称加密(R

Java对接Dify API接口的完整流程

《Java对接DifyAPI接口的完整流程》Dify是一款AI应用开发平台,提供多种自然语言处理能力,通过调用Dify开放API,开发者可以快速集成智能对话、文本生成等功能到自己的Java应用中,本... 目录Java对接Dify API接口完整指南一、Dify API简介二、准备工作三、基础对接实现1.

Java controller接口出入参时间序列化转换操作方法(两种)

《Javacontroller接口出入参时间序列化转换操作方法(两种)》:本文主要介绍Javacontroller接口出入参时间序列化转换操作方法,本文给大家列举两种简单方法,感兴趣的朋友一起看... 目录方式一、使用注解方式二、统一配置场景:在controller编写的接口,在前后端交互过程中一般都会涉及