【转】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 ...
随机推荐
- Linux基础命令---znew
znew 将compress压缩成的”.Z”文件,转换成“.gz”格式的文件.ZNew将文件从.z(压缩)格式重新压缩到.gz(Gzip)格式.如果要重新压缩已以gzip格式的文件,请重命名该文件以强 ...
- tomcat热启动没问题, 访问项目报500解决办法
新建maven项目 添加热启动 启动访问项目报错 报错提示 解决办法 思路:包冲突 在pom.xml中添加servlet <dependency> <groupId>javax ...
- 20145127《java程序设计》第四周学习总结
教材学习内容总结 第六章 继承与多态 6.1 何为继承 0.面向对象中,子类继承父类,避免城府的行为定义.正确判断使用继承的时机,以及继承之后如何活用多态,才是学习继承时的重点. 1.继承:避免多个类 ...
- Git 基础笔记整理1
Git 官网:http://git-scm.com/ git教程1:http://www.yiibai.com/git/home.html git教程2 :http://www.liaoxuefeng ...
- ReentrantReadWriteLock分析
ReentrantReadWriteLock会使用两把锁来解决问题,一个读锁,一个写锁 线程进入读锁的前提条件: 没有其他线程的写锁, 没有写请求或者有读请求,但调用线程和持有锁的线程是同一个 线程进 ...
- LightOJ 1199 Partitioning Game(sg函数)题解
题意:可以把一堆石子分成不相等的两堆,不能操作为败 思路:把一个石子拆成两个,变成了两个独立的游戏,mex里加上两者的sg异或.sg打表. 代码: #include<set> #inclu ...
- phantomjs在win10下的安装
phantomjs只能通过官网下载,下载地址:http://phantomjs.org/download.html. 1.最好下载在英文文件夹下.下载完成后,解压. 2.进入bin文件,右击属性,将p ...
- 获取String类型汉字乱码,如何进行编码
本文为博主原创,未经允许不得转载: 在解析properties文件中的汉字时,在java代码中解析得到的是一个乱码字符,形如图下: 导致乱码原因:由于在jdk中,默认为gbk编码方式进行编码盒接收的, ...
- axis2框架用wsdl文件生成的服务端MessageReceiveInOut文件注意事项
在用axis2生成服务端文件和客户端文件,当客户端文件调用服务端文件时,都是通过wsdl文件生成的 配置文件进行相互的调用. 在一开始做开发测试的时候,通过soapUI进行调用接口的时候,可以调用成功 ...
- js自动小轮播
使用定时器,换个图片地址. 从1到5换,如果大于5了再跳到1,点击停止时关闭定时器. <!-- Author: XiaoWen Create a file: 2016-12-08 13:19:2 ...