【转】ArcGIS API for Silverlight/WPF 2.1学习笔记(三)
六、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学习笔记(三)的更多相关文章
- ArcGIS API for Silverlight/WPF 2.1学习笔记(一)——精简版
一.安装 1.Visual Studio: (1)Visual Studio 2010或Visual Web Developer Express 2010 (2)Silverlight 4 Tools ...
- 【转】ArcGIS API for Silverlight/WPF 2.1学习笔记(一)
源自:http://blog.163.com/zwx_gis/blog/static/32434435201122193611576/ (主页:http://blog.163.com/zwx_gis/ ...
- 【转】ArcGIS API for Silverlight/WPF 2.1学习笔记(四)
七.Editing ArcGIS Server 10提供了: 通过feature service,在Web上编辑Feature layers的geographic data的功能. 通过geome ...
- 【转】ArcGIS API for Silverlight/WPF 2.1学习笔记(二)
五.Graphics layer 1.新增Graphics layer Graphics layer用于显示用户自定义绘制的点.线.面图形.使用时确保xaml文件中Graphics layer定义 ...
- 【转】ArcGIS API for Silverlight/WPF 2.1学习笔记(五)
2.Find示例代码 (1)xaml文件: //添加Symbol命名空间 xmlns:esriSymbols="clr-namespace:ESRI.ArcGIS.Client.Symbol ...
- 扩展ArcGIS API for Silverlight/WPF 中的TextSymbol支持角度标注
原文 http://blog.csdn.net/esricd/article/details/7587136 在ArcGIS API for Silverlight/WPF中原版的TextSymbol ...
- ArcGIS API for Silverlight学习笔记
ArcGIS API for Silverlight学习笔记(一):为什么要用Silverlight API(转) 你用上3G手机了吗?你可能会说,我就是喜欢用nokia1100,ABCDEFG跟我都 ...
- ArcGIS API for Silverlight开发入门
你用上3G手机了吗?你可能会说,我就是喜欢用nokia1100,ABCDEFG跟我 都没关系.但你不能否认3G是一种趋势,最终我们每个人都会被包裹在3G网络中.1100也不是一成不变,没准哪天为了打击 ...
- ArcGIS API For Silverlight使用在线地图的多种方法总结
引自:http://www.cnblogs.com/meimao5211/p/3283969.html ArcGIS API For Silverlight使用在线地图的多种方法总结 本人也正在学习A ...
随机推荐
- css3 弹性盒模型 变化
如果你使用google搜索Flexbox,你会发现很多过时的信息.这里将告诉你如何迅速的辨别你需要的信息. 如果你正在查找有关于Flexbox的博客资料,你看到了“display:box;”或者“bo ...
- nginx+tomcat把带WWW域名自动跳转到不带www域名方法
nginx+tomcat把带WWW域名自动跳转到不带www域名方法在nginx.conf里面 include /etc/nginx/conf.d/*.conf;在应该server里增加: if ($h ...
- ubuntu14.04无法安装Curl,需要先升级sudo apt-get update
ubuntu14.04无法安装Curl,需要先升级sudo apt-get updatesudo apt-get updatesudo apt-get install curl------------ ...
- MATERIALIZED VIEW-物化视图
Oracle的实体化视图提供了强大的功能,可以用在不同的环境中,实体化视图和表一样可以直接进行查询.实体化视图可以基于分区表,实体化视图本身也可以分区. 主要用于预先计算并保存表连接或聚集等耗时较多 ...
- windwos::mutex
线程同步的方式和机制 临界区.互斥区.事件.信号量四种方式 临界区(Critical Section).互斥量(Mutex).信号量(Semaphore).事件(Event)的区别 1.临界区:通过对 ...
- P4289 [HAOI2008]移动玩具(bfs)
P4289 [HAOI2008]移动玩具 双向bfs+状态压缩+记忆化搜索 双向bfs用于对bfs的优化,每次找到可扩展节点少的一边进行一次bfs,找到的第一个互相接触的点即为最短路径 矩阵范围仅4* ...
- Python3 ChromeDriver与Chrome版本映射表(更新至v2.43)
Python3 ChromeDriver与Chrome版本映射表(更新至v2.43) ChromeDriver下载链接:http://chromedriver.storage.googleapis.c ...
- 解决Linux下jdk版本与安装版本不一致
解决Linux下jdk版本与安装版本不一致 在Linux下安装jdk后,利用java -version查看版本使,发现不是自己所安装的jdk版本; 解决方案: which java ——查看默认的jd ...
- bzoj 1010 玩具装箱toy -斜率优化
P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1...N的N件玩具,第i件玩具 ...
- VC 系统托盘编程,含有气泡提示
转载一:http://blog.sina.com.cn/s/blog_6acf36ee0100rxdb.html 转载二:http://blog.csdn.net/akof1314/article/d ...