六、Feature Layer

Feature Layer是一种特殊的Graphics layer(继承自Graphics layer),除了像Graphics layer一样包含和显示Graphic features,还能提供:

Editing——编辑(editing控件包含在ArcGIS Toolkit库中,通过feature service来编辑feature layer)

Definition expressions——通过where子句,条件显示某些feature

Time definitions——通过time-aware layer的时间定义,条件显示某些feature

Selection——通过feature的子集,达到显示、编辑、分析的目的

feature layer的三种服务源:

Feature layer source

描述

ArcGIS Server map service

Dynamic (non-cached) ArcGIS Server map services能包含多个feature layers,如:http://./ArcGIS/rest/services/./MapServer/8

ArcGIS Server feature service

如:http://. /ArcGIS/rest/services/./FeatureServer/0

当feature layer在ArcSDE geodatabase中时,支持编辑

MapIt

Mapit包含REST-ful Web service,其table可能spatially-enabled。

Mapit layers不支持Editing和time-awareness。

如:http://./SDS/databases/Demo/dbo.USStates_Geographic

Feature layers的关键成员|属性:(仅Feature layers支持,Graphics layers不支持)

Feature layers成员

描述

Url

服务的url

Where

Query条件显示。where(“1=1”)显示全部

Mode

定义获取features的方式:

Snapshot:获取所有feature,用于较小的datasets或临时data

On Demand:返回当前视窗范围内的feature

Selection Only:初始不返回任何feature,仅仅在作出selection后才返回

OnDemandCacheSize

当Mode=On Demand时,定义客户端缓存大小,用来缓存当前视窗外的feature

FeatureSymbol

定义一个单独symbol,用于rendering一个单独的Graphics时

SelectionColor

定义feature layer中selected graphic features的颜色

TimeExtent

实例化或范围显示feature layer的时间。

该属性为只读,定义于ArcGIS Server map或feature service中。

DisableClientCaching

是否允许客户端缓存。默认为true,不能自动更新客户端显示。

Update

更新客户端显示,用于layer或table contents发生改变时。

Feature layer应用

//添加Symbol命名空间,需要定义Symbol给FeatureSymbol属性

xmlns:esriSymbols="clr-namespace:ESRI.ArcGIS.Client.Symbols;assembly=ESRI.ArcGIS.Client

//定义Symbol

<Grid.Resources>

<esriSymbols:SimpleMarkerSymbol x:Name="MyMarkerSymbol" Color="Green" Style="Diamond" Size="14" />

</Grid.Resources>

//定义FeatureLayer

<esri:Map x:Name="MyMap" Extent="-130,10,-70,60" >

<esri:Map.Layers>

<esri:FeatureLayer ID=""

Url="http://./ArcGIS/rest/services/./MapServer/0"

Where="POP1990 > 75000"

FeatureSymbol="{StaticResource MyMarkerSymbol}" >

</esri:FeatureLayer>

</esri:Map.Layers>

</esri:Map>

效果如下图:各feature叠加在一起,不能有效的反应实际数量。

故采用Clustering方式改进(设置ClusterFeatures属性实现):

//添加命名空间

xmlns:esriSymbols="clr-namespace:ESRI.ArcGIS.Client.Symbols;assembly=ESRI.ArcGIS.Client

xmlns:sys="clr-namespace:System;assembly=mscorlib”

//定义Symbol

<Grid.Resources>

<esriSymbols:SimpleMarkerSymbol x:Name="MyMarkerSymbol" Color="Green" Style="Diamond" Size="14" />

</Grid.Resources>

//定义FeatureLayer

<esri:Map x:Name="MyMap" Extent="-130,10,-70,60" >

<esri:Map.Layers>

<esri:FeatureLayer ID="MyFeatureLayer"

Url="http://./ArcGIS/rest/services/Specialty/./MapServer/0"

Where="POP1990 > 75000">

<esri:FeatureLayer.Clusterer>

<esri:FlareClusterer

FlareBackground="#99FF0000"

FlareForeground="White"

MaximumFlareCount="9" />

</esri:FeatureLayer.Clusterer>

<esri:FeatureLayer.OutFields>

<sys:String>CITY_NAME</sys:String>

<sys:String>POP1990</sys:String>

</esri:FeatureLayer.OutFields>

</esri:FeatureLayer>

</esri:Map.Layers>

</esri:Map>

效果如下:

【转】ArcGIS API for Silverlight/WPF 2.1学习笔记(三)的更多相关文章

  1. ArcGIS API for Silverlight/WPF 2.1学习笔记(一)——精简版

    一.安装 1.Visual Studio: (1)Visual Studio 2010或Visual Web Developer Express 2010 (2)Silverlight 4 Tools ...

  2. 【转】ArcGIS API for Silverlight/WPF 2.1学习笔记(一)

    源自:http://blog.163.com/zwx_gis/blog/static/32434435201122193611576/ (主页:http://blog.163.com/zwx_gis/ ...

  3. 【转】ArcGIS API for Silverlight/WPF 2.1学习笔记(四)

      七.Editing ArcGIS Server 10提供了: 通过feature service,在Web上编辑Feature layers的geographic data的功能. 通过geome ...

  4. 【转】ArcGIS API for Silverlight/WPF 2.1学习笔记(二)

      五.Graphics layer 1.新增Graphics layer Graphics layer用于显示用户自定义绘制的点.线.面图形.使用时确保xaml文件中Graphics layer定义 ...

  5. 【转】ArcGIS API for Silverlight/WPF 2.1学习笔记(五)

    2.Find示例代码 (1)xaml文件: //添加Symbol命名空间 xmlns:esriSymbols="clr-namespace:ESRI.ArcGIS.Client.Symbol ...

  6. 扩展ArcGIS API for Silverlight/WPF 中的TextSymbol支持角度标注

    原文 http://blog.csdn.net/esricd/article/details/7587136 在ArcGIS API for Silverlight/WPF中原版的TextSymbol ...

  7. ArcGIS API for Silverlight学习笔记

    ArcGIS API for Silverlight学习笔记(一):为什么要用Silverlight API(转) 你用上3G手机了吗?你可能会说,我就是喜欢用nokia1100,ABCDEFG跟我都 ...

  8. ArcGIS API for Silverlight开发入门

    你用上3G手机了吗?你可能会说,我就是喜欢用nokia1100,ABCDEFG跟我 都没关系.但你不能否认3G是一种趋势,最终我们每个人都会被包裹在3G网络中.1100也不是一成不变,没准哪天为了打击 ...

  9. ArcGIS API For Silverlight使用在线地图的多种方法总结

    引自:http://www.cnblogs.com/meimao5211/p/3283969.html ArcGIS API For Silverlight使用在线地图的多种方法总结 本人也正在学习A ...

随机推荐

  1. nginx之全局设置,location,虚拟主机,日志管理

    nginx之全局设置,location,虚拟主机,日志管理 worker_processes 1;//子进程,cpu数*核数 ****************全局设置************** ** ...

  2. Java求解迷宫问题:栈与回溯算法

    摘要: 使用栈的数据结构及相应的回溯算法实现迷宫创建及求解,带点JavaGUI 的基础知识. 难度: 中级 迷宫问题是栈的典型应用,栈通常也与回溯算法连用. 回溯算法的基本描述是: (1)  选择一个 ...

  3. python中有两个下划线__的是内置方法,一个下划线_或者没有下划线的可能是属性,也可能是方法,也可能是类名

    python中有两个下划线__的是内置方法,一个下划线_或者没有下划线的可能是属性,也可能是方法,也可能是类名,如果在类中定义的就是类的私有成员. >>> dir(__builtin ...

  4. vertical解锁table

    Vertica 表发生死锁后, 通过下面3个查询即可解锁. --步骤1: 找到被锁表的 transaction_idselect transaction_id, t.* from v_monitor. ...

  5. 安装Hue后的一些功能的问题解决干货总结(博主推荐)

    不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...

  6. 异常和TCP通讯

    第七章 异常处理 * 异常处理机制中的try-catch * 语法: * try{ * 代码片段 * }catch(XXXException e){ * 当try中的代码片段出现了XXXExcepti ...

  7. HCNP学习笔记之子网掩码的计算和划分详细

    0x00 子网掩码的计算 TCP/IP网间网技术产生于大型主流机环境中,它能发展到今天的规模是当初的设计者们始料未及的.网间网规模的迅速扩展对IP地址模式的威胁并不是它不能保证主机地址的唯一性,而是会 ...

  8. P3294 [SCOI2016]背单词

    P3294 [SCOI2016]背单词 Trie+贪心 倒插进树+取出重建+子树处理+贪心遍历 倒插进树:把后缀转化为前缀,所以把字符串倒着插进Trie中 取出重建:重新建立一棵以单词为节点的树,如果 ...

  9. Confluence5.8部分空间名称显示为问号的解决方案

    Confluence5.8部分空间名称显示为问号的解决方案 原因: 连接MySQL的时候,有没有在连接串中指定&useUnicode=true&characterEncoding=ut ...

  10. 03: 自定义异步非阻塞tornado框架

    目录:Tornado其他篇 01: tornado基础篇 02: tornado进阶篇 03: 自定义异步非阻塞tornado框架 04: 打开tornado源码剖析处理过程 目录: 1.1 源码 1 ...