zoukankan      html  css  js  c++  java
  • 【转】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 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小站
     



  • 相关阅读:
    Tensorflow io demo (待)
    tf.Dataset
    tf.estimator
    并发队列
    Callable的Future模式
    hadoop之HDFS介绍
    线程池
    并发工具类
    并发编程
    初学hadoop之hadoop集群搭建
  • 原文地址:https://www.cnblogs.com/changbaishan/p/3305964.html
Copyright © 2011-2022 走看看