ArcGIS Runtime其他性能
分享
地图加速显示
ArcGIS Runtime采用了新的渲染引擎,新的渲染引擎使得我们在浏览和显示地图的时候非常快,该功能是因为ArcGIS Runtime的Map对象有一个显示加速的属性,如下图:
将UseAcceleratedDisplay属性设置为true之后可以让显示的速度加快。所有的动态地图服务和切片地图服务,该功能都支持,如果让Map的所有图层都加速显示,只要按下面的设置就行:
<esri:Mapx:Name="_map" UseAcceleratedDisplay="True">
<esri:ArcGISTiledMapServiceLayer ID="World Topo Map"
Url="http://services.arcgisonline.c ... ot%3B/>
<esri:GraphicsLayer ID="Fire Trucks" />
</esri:Map>
一个Map中可能有多个图层,但是我们可以设置让一些特定的图层启用该功能,代码如下:
<esri:Mapx:Name="_map">
<esri:AcceleratedDisplayLayers>
<esri:ArcGISTiledMapServiceLayer ID="World Topo Map"
Url="http://services.arcgisonline.c ... ot%3B/>
<esri:GraphicsLayer ID="Fire Trucks" />
</esri:AcceleratedDisplayLayers>
<esri:GraphicsLayer ID="Census Data">
<esri:GraphicsLayer.Clusterer>
<esri:FlareClusterer />
</esri:GraphicsLayer.Clusterer>
</esri:GraphicsLayer>
</esri:Map>
ArcGIS Runtime 高性能
ArcGIS Runtime有很高的性能,这种性能使得我们可以在Map上显示成千上万个点,并且在拖动的时候很流畅,下图为10000个动画符号的效果:
点符号代码如下:
<esri:MarkerSymbol x:Key="ResonateMarkerSymbol">
<esri:MarkerSymbol.ControlTemplate>
<ControlTemplate>
<Canvas>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal">
<Storyboard RepeatBehavior="Forever">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill).(GradientBrush.GradientStops)[2].(GradientStop.Offset)" Storyboard.TargetName="ellipse">
<EasingDoubleKeyFrame KeyTime="0" Value="0.372"/>
<EasingDoubleKeyFrame KeyTime="0:0:00.5" Value="0.453"/>
<EasingDoubleKeyFrame KeyTime="0:0:01" Value="0.704"/>
<EasingDoubleKeyFrame KeyTime="0:0:01.5" Value="0.968"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill).(GradientBrush.GradientStops)[4].(GradientStop.Offset)" Storyboard.TargetName="ellipse">
<EasingDoubleKeyFrame KeyTime="0:0:00.5" Value="0.58"/>
<EasingDoubleKeyFrame KeyTime="0:0:01" Value="0.784"/>
<EasingDoubleKeyFrame KeyTime="0:0:01.5" Value="0.992"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimation BeginTime="0"
Storyboard.TargetName="ellipse" Storyboard.TargetProperty="(UIElement.Opacity)"
From="1" To="0" Duration="0:0:01.5" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Ellipse x:Name="ellipse" Height="70" StrokeThickness="3" Width="70"
Canvas.Left="-35" Canvas.Top="-35">
<Ellipse.Fill>
<RadialGradientBrush>
<GradientStop Color="#FFC82727"/>
<GradientStop Color="#FFE2E296" Offset="0.255"/>
<GradientStop Color="#FFE2E296" Offset="0.115"/>
<GradientStop Color="#FFE2E296" Offset="0.381"/>
<GradientStop Color="#00F3EBE9" Offset="0.667"/>
</RadialGradientBrush>
</Ellipse.Fill>
</Ellipse>
</Canvas>
</ControlTemplate>
</esri:MarkerSymbol.ControlTemplate>
</esri:MarkerSymbol>
文章来源:http://blog.csdn.net/arcgis_all/article/details/8215144
ArcGIS Runtime采用了新的渲染引擎,新的渲染引擎使得我们在浏览和显示地图的时候非常快,该功能是因为ArcGIS Runtime的Map对象有一个显示加速的属性,如下图:
将UseAcceleratedDisplay属性设置为true之后可以让显示的速度加快。所有的动态地图服务和切片地图服务,该功能都支持,如果让Map的所有图层都加速显示,只要按下面的设置就行:
<esri:Mapx:Name="_map" UseAcceleratedDisplay="True">
<esri:ArcGISTiledMapServiceLayer ID="World Topo Map"
Url="http://services.arcgisonline.c ... ot%3B/>
<esri:GraphicsLayer ID="Fire Trucks" />
</esri:Map>
一个Map中可能有多个图层,但是我们可以设置让一些特定的图层启用该功能,代码如下:
<esri:Mapx:Name="_map">
<esri:AcceleratedDisplayLayers>
<esri:ArcGISTiledMapServiceLayer ID="World Topo Map"
Url="http://services.arcgisonline.c ... ot%3B/>
<esri:GraphicsLayer ID="Fire Trucks" />
</esri:AcceleratedDisplayLayers>
<esri:GraphicsLayer ID="Census Data">
<esri:GraphicsLayer.Clusterer>
<esri:FlareClusterer />
</esri:GraphicsLayer.Clusterer>
</esri:GraphicsLayer>
</esri:Map>
ArcGIS Runtime 高性能
ArcGIS Runtime有很高的性能,这种性能使得我们可以在Map上显示成千上万个点,并且在拖动的时候很流畅,下图为10000个动画符号的效果:
点符号代码如下:
<esri:MarkerSymbol x:Key="ResonateMarkerSymbol">
<esri:MarkerSymbol.ControlTemplate>
<ControlTemplate>
<Canvas>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal">
<Storyboard RepeatBehavior="Forever">
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill).(GradientBrush.GradientStops)[2].(GradientStop.Offset)" Storyboard.TargetName="ellipse">
<EasingDoubleKeyFrame KeyTime="0" Value="0.372"/>
<EasingDoubleKeyFrame KeyTime="0:0:00.5" Value="0.453"/>
<EasingDoubleKeyFrame KeyTime="0:0:01" Value="0.704"/>
<EasingDoubleKeyFrame KeyTime="0:0:01.5" Value="0.968"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Fill).(GradientBrush.GradientStops)[4].(GradientStop.Offset)" Storyboard.TargetName="ellipse">
<EasingDoubleKeyFrame KeyTime="0:0:00.5" Value="0.58"/>
<EasingDoubleKeyFrame KeyTime="0:0:01" Value="0.784"/>
<EasingDoubleKeyFrame KeyTime="0:0:01.5" Value="0.992"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimation BeginTime="0"
Storyboard.TargetName="ellipse" Storyboard.TargetProperty="(UIElement.Opacity)"
From="1" To="0" Duration="0:0:01.5" />
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Ellipse x:Name="ellipse" Height="70" StrokeThickness="3" Width="70"
Canvas.Left="-35" Canvas.Top="-35">
<Ellipse.Fill>
<RadialGradientBrush>
<GradientStop Color="#FFC82727"/>
<GradientStop Color="#FFE2E296" Offset="0.255"/>
<GradientStop Color="#FFE2E296" Offset="0.115"/>
<GradientStop Color="#FFE2E296" Offset="0.381"/>
<GradientStop Color="#00F3EBE9" Offset="0.667"/>
</RadialGradientBrush>
</Ellipse.Fill>
</Ellipse>
</Canvas>
</ControlTemplate>
</esri:MarkerSymbol.ControlTemplate>
</esri:MarkerSymbol>
文章来源:http://blog.csdn.net/arcgis_all/article/details/8215144
0 个评论
推荐内容
相关问题
- 如何优雅的使用ArcGIS知乎?
- 建设ArcGIS知乎平台的目和意义?
- ArcGIS知乎社区改进意见征集
- 【抽奖结果已出】ArcGIS知乎社区活动 之 你不知道的地理空间革命【转发分享有奖】【附奖品寄送照片】
- 苹果系统下可以使用arcgis 吗?
- arcgis版本兼容性
- 请问ArcGIS适合在局域网内用javaweb做二次开发吗?
- ArcGIS 知乎社区活动 之 字幕组加鸡腿暨KBP字幕组招新【获奖名单公布与优秀作品展示】
- ArcGIS 知乎社区活动 之 2018拒绝boring,来,在线答题赢kindle【结果已出,速来领奖】
- 请问大神们,怎么用ArcGIS做城镇间经济联系强度的图?
- ArcGIS如何求栅格图像的“质心”