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" fontstyle="bold" character="252" fontcolor="255,255,0" fontsize="16" />
</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 就是多了一个标注的字段