700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > geoserver css插件 GeoServer使用CSS定义地图样式-上手

geoserver css插件 GeoServer使用CSS定义地图样式-上手

时间:2024-07-08 17:27:47

相关推荐

geoserver css插件 GeoServer使用CSS定义地图样式-上手

使用CSS进行地图配色,能够实现与SLD语言相通的效果,具体样式定义规则参考CSS语法,是在花括号内的键值对来实现{ name: value },支持CSS嵌套,内层级别高于外层。

在新建CSS样式的页面,选择“生成默认样式”,可以生成

默认样式

通CSS选择器来匹配地图要素

*代表所有要素都使用该样式

/* 所有要素都会匹配以下样式 */

* {

stroke: #000000;

stroke-width: 0.5;

fill: #0099cc;

}

属性表过滤

使用CQL语法进行图层属性过滤,作为CSS选择器进行要素匹配,过滤器可以任意组合。

/* 筛选人口小于2百万的要素 */

[PERSONS < 2000000] {

fill: #4DFF4D;

fill-opacity: 0.7;

}

多个过滤条件组合的时候,空格表示AND,逗号 ,表示OR,AND的优先级要高于OR

/* */

restricted [cat='2' or cat='3'] [dog > 0] {

fill: #EE0000;

}

可用的操作符有 =、 >=、 、 LIKE

数据源过滤

当有多个图层数据源的时候,直接通过图层名就可以选择该图层,对其所有要素应用样式

/*图层名字是states的要素 */

states{

stroke: black;

}

ID过滤

可以通过#来选择图层中指定ID的要素(ID可以参考shp数据中FID字段)

/* states图层中,ID为2的要素 */

#states.2 {

stroke: black;

}

符号过滤器

选择样式中的符号,来对符号进行渲染。支持以下方式

:mark 指定规则适用于用作点标记的符号

:shield 指定规则适用于用作标签屏蔽的符号(标签文本后面显示的图标)

:stroke 指定规则适用于用作笔触模式的符号

:fill 指定规则适用于用作填充模式的符号

:symbol 指定规则适用于任何符号,无论其使用的是哪个上下文

:nth-mark(n) 指定规则适用于要素上第n个堆叠点标记所使用的符号。

:nth-shield(n) 指定规则适用于用于要素上第n个堆叠标签背景的符号

:nth-stroke(n) 指定规则适用于要素上第n个堆叠笔触图案的符号。

:nth-fill(n) 指定规则适用于要素上第n个堆叠填充图案的符号。

:nth-symbol(n) 指定规则适用于要素上第n个堆叠符号所使用的符号,无论其使用的是哪个上下文。

/* 构建一个医院的图标 */

[usage='hospital'] {

mark: symbol('circle'), symbol('cross');

:nth-mark(1) {

size: 16px;

fill: white;

stroke: red;

};

:nth-mark(2) {

size: 12px;

fill: red;

}

}

比例尺过滤

结合其他条件,使用@sd来对当前分辨率下的要素进行过滤渲染

/* Residential类型的道路在大于100K的比例尺是,线条颜色是黑色 */

[roadtype = 'Residential'] [@sd > 100k] {

stroke: black;

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。