博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】ArcGIS API for Silverlight/WPF 2.1学习笔记(三)
阅读量:5020 次
发布时间:2019-06-12

本文共 2975 字,大约阅读时间需要 9 分钟。

 

六、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 layerArcSDE geodatabase中时,支持编辑

MapIt

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

Mapit layers不支持Editingtime-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 layerselected graphic features的颜色

TimeExtent

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

该属性为只读,定义于ArcGIS Server mapfeature service中。

DisableClientCaching

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

Update

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

 

 

 

Feature layer应用

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

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
叠加在一起,不能有效的反应实际数量。
【原创】ArcGIS API for Silverlight/WPF 2.1学习笔记(三) - 清风明月 - 老钟的GIS小站
 

故采用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学习笔记(三) - 清风明月 - 老钟的GIS小站
 

转载于:https://www.cnblogs.com/changbaishan/p/3305964.html

你可能感兴趣的文章
第五周笔记
查看>>
POJ 1815 Friendship(字典序最小的最小割)
查看>>
FZU Super A^B mod C(欧拉函数降幂)
查看>>
【BZOJ1179】 [Apio2009]Atm tarjan缩点+SPFA
查看>>
初步了解Maven
查看>>
WebStorm常用设置和常用快捷键
查看>>
英文词频统计预备,组合数据类型练习
查看>>
hibernate核心思想 体系结构(转)
查看>>
Amazon Route 53 路由到不同资源的配置差异
查看>>
Python 一些有趣的技巧,包括协程例
查看>>
数据持久化
查看>>
Java并发性和多线程介绍目录
查看>>
codeforces #322 div 2 A. Vasya the Hipster(随便搞)
查看>>
Ubuntu下执行mysql的sql文件
查看>>
JavaScript 声明全局变量和局部变量
查看>>
侯捷C++11:一致性初始化
查看>>
UVa 712 - S-Trees
查看>>
求逆序对 ----归并排 & 树状数组
查看>>
版本控制:集中式 vs 分布式
查看>>
Android 的相对布局的一些使用(转)
查看>>