ArcXML学习笔记(二)

由<map>元素定义地图的配置,map由图层组成,用<layer>元素表示,图层layer包含两个问题
1,从哪些数据集里得到数据;
2,这些数据如何绘制出来;从而包括了:
1,dataset定义图层使用的数据集;
2,renderer定义在客户端如何显示图层;

dataset可以是一个图层,也可以是一组图层组合起来这样会使用partition元素

SimpleRenderer  使用同样的符号画所有的要素,
ValueMapRenderer  根据图层表某列的不同值,或不同范围的值分别规定描绘的方法
ScaleDependentRenderer 仅仅画一个特定比例尺范围里的要素。一层里的多个表现方法元素必须包含在一个GroupRenderer里。

关系如下图:

符号化:
将矢量信息转化为要表示的符号基本上包含:
将点对象转化为相关符号 --SimpleMarkerSymbol
将线对象转化为相关符号 --SimpleLineSymbol
将面对象转化为相关符号 --SimplePolygonSymbol

各个Renderer元素包含各种Symbol元素;

详解:
layer包含:
id、name
type= featureclass地图要素
  /acetate  临时层(相当于一个铺在地图上的透明塑料布)
  /image  图像
maxscale/minscale 最大/最小比例尺

<SIMPLERENDERER>
   <SIMPLEPOLYGONSYMBOL fillcolor="0,208,0" boundary="false" />
</SIMPLERENDERER>
定义了对于简单多边形的填充颜色、不显示边界;
而GroupRenderer将不同的绘制方式组合起来;
ValueMapRenderer指范围图,比如根据数据库某一个字段值来给该区域填充对应的颜色
比如有表示犯罪性质图层表有列:
  code
  ====
  1 一级谋杀
  2 诈骗
  3 偷盗
  4 。。
将一级谋杀以三角形表示;诈骗以圆形表示;
        <VALUEMAPRENDERER lookupfield="CODE">
        <EXACT value="1" label="Type 1">
          <SIMPLEMARKERSYMBOL color="27,127,27" type="triangle" width="6" />
        </EXACT>
        <EXACT value="2" label="Type 2">
          <SIMPLEMARKERSYMBOL color="227,27,27" type="circle" width="10" />
        </EXACT>
        <EXACT value="3" label="Type 3">
          <TRUETYPEMARKERSYMBOL transparency="1.0" glowing="0,255,255" font="ESRI Cartography" f character="252" f f />
        </EXACT>
        <OTHER>
          <SIMPLEMARKERSYMBOL type="square" width="4" />
        </OTHER>
        </VALUEMAPRENDERER>
这样一个图层,可根据他所在表某列的不同值,或不同范围的值分别描绘
        <VALUEMAPRENDERER lookupfield="AREA">
        <RANGE lower="0.0" upper="1000000.0" label="Small">
          <GRADIENTFILLSYMBOL type="horizontal" startcolor="255,0,0" finishcolor="0,255,0" overlap="true" />
        </RANGE>
        <RANGE lower="1000000.001" upper="3000000.000" label="Medium">
          <SIMPLEPOLYGONSYMBOL filltype="cross" fillinterval="4" fillcolor="255,146,0" />
        </RANGE>
        <RANGE lower="3000000.001" upper="10000000" label="Large">
          <SIMPLEPOLYGONSYMBOL filltype="bdiagonal" fillinterval="6" fillcolor="255,37,0" />
        </RANGE>
        <OTHER>
          <SIMPLEPOLYGONSYMBOL filltype="solid" fillcolor="128,128,128" />
        </OTHER>
        </VALUEMAPRENDERER>

valueMaplabelrender 就是多了一个标注的字段

你可能感兴趣的:(ArcXML学习笔记(二))