arcEngine开发之activeView.PartialRefresh(译)

为什么要使用partialRefresh

  • arcMap应用程序窗口操作主要是由 IActiveView 控制的,并且它有 Map(data view) 和 PageLayout(layout view) 两个视图。每一个视图都有一个 ScreenDisplay 用于执行绘制操作。 而这个 ScreenDisplay 可以创建任意数量的缓存。 例如会创建一个缓存代表程序窗口屏幕上的图像,这样进行绘制时,这些绘制的图形会先写进缓存中,然后再从缓存写到屏幕上。当应用程序被隐藏或者需要重新绘制时,就可以在缓存中进行操作而不是数据库中,这极大的提升了绘制图像的速度。
  • 一般而言 地图会建立三个缓存,一个是为所有图层所用,另一个是在由annotation 或者 graphics 的时候用,第三个是为 selection 准备的。如果图层把它的cached属性设为TRUE,这个图层(Layer)可以用来建立自己的私有cache.这样,地图将为这个图层建立一个单独的cache,地图把其他图层放在它之前或之后的不同caches中.

参数详解

  • esriViewDrawPhase phase
    这是代表所需要刷新的缓存级别。上面说过,arcMap 会为不同的数据准备不同的缓存,通过这个变量可以设置要对哪些数据进行刷新。
  • object Data
    对于这个参数的了解不是很清晰。
  • IEnvelope envelope
    通过 IEnvelope 接口就可以想到这是限制刷新区域的一个参数。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对选中点要素进行符号化,可以使用ArcEngine中的以下步骤: 1. 获取选中的要素集合: 首先,使用ISelectionEnvironment接口获取当前的选择环境。然后,使用ISelectionSet接口获取选中的要素集合。 2. 创建要素渲染器: 使用IFeatureRenderer接口创建一个新的要素渲染器对象(如SimpleRenderer、UniqueValueRenderer等)。 3. 设置要素符号: 根据需求,为要素渲染器设置相应的要素符号。可以使用ISymbol接口创建点符号(如SimpleMarkerSymbol、PictureMarkerSymbol等)。 4. 应用符号化: 使用IFeatureLayer接口获取要素图层对象。然后,将刚刚创建的要素渲染器赋值给图层的Renderer属性。最后,调用IActiveView接口的PartialRefresh方法刷新地图视图。 下面是一个示例代码片段,演示了如何对选中点要素进行符号化: ```csharp // 获取当前选择环境 ISelectionEnvironment selectionEnvironment = new SelectionEnvironmentClass(); ISelectionSet selectionSet = selectionEnvironment.Catalog.SelectionSet; // 创建要素渲染器 ISimpleRenderer simpleRenderer = new SimpleRendererClass(); ISymbol symbol = new SimpleMarkerSymbolClass(); simpleRenderer.Symbol = symbol; // 设置要素符号 // ... // 应用符号化 IFeatureLayer featureLayer = (IFeatureLayer)mapLayer; featureLayer.Renderer = (IFeatureRenderer)simpleRenderer; IActiveView activeView = (IActiveView)mapControl.Map; activeView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null); ``` 请根据实际需求,根据ArcEngine的API文档进一步调整和完善代码。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值