为状态层创建样式¶

默认的SLD文件 states 层如下:

version="1.0.0"

xmlns="http://www.opengis.net/sld"

xmlns:ogc="http://www.opengis.net/ogc"

xmlns:xlink="http://www.w3.org/1999/xlink"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:gml="http://www.opengis.net/gml"

xsi:schemaLocation="http://www.opengis.net/sld

http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd

">

USA states population

population

Population in the United States

A sample filter that filters the United States into three

categories of population, drawn in different colors

< 2M

PERSONS

2000000

#4DFF4D

0.7

2M - 4M

PERSONS

2000000

4000000

#FF4D4D

0.7

> 4M

PERSONS

4000000

#4D4DFF

0.7

Boundary

0.2

STATE_ABBR

Times New Roman

Normal

14

0.5

0.5

现在,让我们从一个完成相同任务的CSS文件开始。

首先,转到样式页并单击 Add a new style 链接以开始新样式。在“新样式”页面中,执行以下操作:

为新样式命名您喜欢的任何样式,例如 csstutorial

选择 CSS 作为格式

在 Generate a default style 下拉选择 Polygon 然后点击 Generate...

创建新的CSS样式¶

这将创建一个示例样式,其源与此样式类似(颜色可能不同)::

/* @title cyan polygon */

* {

stroke: #000000;

stroke-width: 0.5;

fill: #0099cc;

}

这演示了CSS样式的基本元素:

A 选择器 它标识要设置样式的数据的某些部分。这里,选择器是 * 指示所有数据都应使用样式属性。

属性 在花括号内 ({{}} )它指定了受影响的特性应该如何设置样式。属性由冒号分隔的名称/值对组成 (: )

我们还可以看到设计多边形样式的基础 (fill )及其大纲 (stroke )

参见

这个 筛选器语法 和 属性清单 页面提供有关CSS样式中可用选项的详细信息。

在继续之前,让我们保存样式并使用状态层预览它:

单击“应用”保存层并启用样式预览

现在在“样式编辑器”页面,切换到“图层预览”选项卡,单击“图层预览”链接,然后在对话框中选择“状态”图层。

样式编辑器现在应该显示填充和删除的状态层。

使用状态层预览CSS样式¶

让我们用这些基础知识开始翻译状态样式。SLD中的第一条规则适用于 PERSONS 字段小于200万::

< 2M

PERSONS

2000000

#4DFF4D

0.7

使用A CQL -基于选择器,复制cssparameter的名称和值,我们得到:

[PERSONS < 2000000] {

fill: #4DFF4D;

fill-opacity: 0.7;

}

对于第二种样式,我们有 PropertyIsBetween 筛选器,它不直接转换为CSS::

2M - 4M

PERSONS

2000000

4000000

#FF4D4D

0.7

然而, PropertyIsBetween 可以很容易地被两个比较选择器的组合替换。在CSS中,只需一个接一个地放置多个选择器,就可以对一个规则应用多个选择器。只有空格分隔的选择器必须全部满足才能应用样式。多个这样的组可以通过用逗号分隔来附加到一个规则 (, )。如果某个功能与某个规则的任何逗号分隔组匹配,则应用该样式。因此,第二条规则的CSS等价物是:

[PERSONS >= 2000000] [PERSONS < 4000000] {

fill: #FF4D4D;

fill-opacity: 0.7;

}

第三条规则的处理方式与第一条规则大致相同:

[PERSONS >= 4000000] {

fill: #4D4DFF;

fill-opacity: 0.7;

}

第四条也是最后一条规则有点不同。它将标签和大纲应用于所有状态:

Boundary

0.2

STATE_ABBR

Times New Roman

Normal

14

0.5

0.5

这引入了呈现提取值的思想 (STATE_ABBR )直接进入地图,不同于目前所有的规则。为此,可以使用括在方括号中的cql表达式 ([] )作为CSS属性的值。还需要将包含空白的值括起来,例如 Times New Roman ,单引号或双引号 (" , ' )。考虑到这些细节,让我们编写规则:

* {

stroke-width: 0.2;

label: [STATE_ABBR];

label-anchor: 0.5 0.5;

font-family: "Times New Roman";

font-fill: black;

font-style: normal;

font-size: 14;

}

把它们放在一起,你现在应该有一个如下的风格:

[PERSONS < 2000000] {

fill: #4DFF4D;

fill-opacity: 0.7;

}

[PERSONS >= 2000000] [PERSONS < 4000000] {

fill: #FF4D4D;

fill-opacity: 0.7;

}

[PERSONS >= 4000000] {

fill: #4D4DFF;

fill-opacity: 0.7;

}

* {

stroke-width: 0.2;

label: [STATE_ABBR];

label-anchor: 0.5 0.5;

font-family: "Times New Roman";

font-fill: black;

font-style: normal;

font-size: 14;

}

单击 Apply 用于保存更改的按钮。

应用于 states 图层¶

你会看到边界不见了!在geoserver css模块中,每种符号都有一个“key”属性,用于控制是否应用它。如果没有这些“键”属性,则忽略从属属性。这些“键”属性是:

fill ,控制是否应用多边形填充。这指定了用于填充的颜色或图形。

划 ,控制是否应用线条和多边形轮廓笔划。这指定笔划的颜色(或图形填充)。

mark ,控制是否绘制点标记。这将标识要使用的已知标记或图像URL。

标签 ,它控制是否在地图上绘制标签。这标识用于标记地图的文本,通常作为CQL表达式。

halo-radius ,控制是否在标签周围绘制光环。这指定了这样的光晕应该有多大。

参见

这个 属性清单 有关其他属性的信息。

因为我们没有指定 stroke 颜色,不应用笔划。让我们添加它,替换最后一个规则,使其现在看起来像这样:

* {

stroke: black;

stroke-width: 0.2;

label: [STATE_ABBR];

label-anchor: 0.5 0.5;

font-family: "Times New Roman";

font-fill: black;

font-style: normal;

font-size: 14;

}

添加到样式的边框¶

css样式 数据展示,教程:使用CSS设置数据样式相关推荐

  1. pandas使用pd.concat纵向合并多个dataframe实战:纵向合并(ignore_index参数)、为纵向合并的多个dataframe设置标识符指定数据来源(通过字典方式设置数据来源键)

    pandas使用pd.concat纵向合并多个dataframe实战:多个dataframe的纵向合并(ignore_index参数).为纵向合并的多个dataframe设置标识符指定数据来源(通过字 ...

  2. R语言ggplot2可视化设置数据点的大小、设置数据点的颜色、设置数据点边缘线条的厚度(point border thickness)实战

    R语言ggplot2可视化设置数据点的大小.设置数据点的颜色.设置数据点边缘线条的厚度(point border thickness)实战 目录

  3. R语言使用plot函数可视化数据、使用pch参数设置数据点的形状、使用lwd参数和bg参数设置数据点边框宽度、背景颜色(仅限于 21到25)

    R语言使用plot函数可视化数据.使用pch参数设置数据点的形状.使用lwd参数和bg参数设置数据点边框宽度.背景颜色(仅限于 21到25) 目录

  4. python matplotlib数据可视化教程_matplotlib的Python数据可视化和探索——入门指南

    matplotlib--最受欢迎的Python库,用于数据可视化和探索 我喜欢在Python中使用matplotlib.这是我学会掌握的第一个可视化库,此后一直存在.matplotlib是最受欢迎的用 ...

  5. vue之前台请求特定商品数据展示+后台PHP处理后台数据(实战)

    这个页面是租车网站的展示页面(可拓展到网上商城产品展示) 最终结果 : 数据流向解析 引用element的现成时间输入组件,输入时间地点数据,确认按钮触发请求事件:①前台检查输入数据是否合法②将原来的 ...

  6. mysql 数据展示装置_实时生成数据宽表的方法和装置与流程

    本发明涉及计算机技术领域,尤其涉及一种实时生成数据宽表的方法和装置. 背景技术: 数据仓库是面向主题的.集成的.相对稳定的.随时间不短变化得数据集合,用以支持经营管理中的决策制定.数据仓库中的数据面向 ...

  7. 大数据系列教程001-初识大数据

    声明:大数据系列教程文章由Java潘老师辛苦原创,免费公开供java爱好者学习.如需转载请获得潘老师授权并保留原文链接,如有疑问或建议,可以联系潘老师: Q:1562691348 V:A1562691 ...

  8. java中如何设置字体样式_如何在JAVA中设置字体样式和大小?

    我是新来的Java和无法弄清楚如何格式化我的代码是这样的: 字体"宋体"字体大小"9"大胆如何在JAVA中设置字体样式和大小? 我想整个段落的格式化文本.我真的 ...

  9. html好看的按钮css样式大全,css3教程_五种漂亮样式,CSS3动画按钮效果

    CSS代码: .button01 { width: 200px; margin: 50px auto 20px auto; } .button01 a { display: block; height ...

最新文章

  1. 我们用Python分析了B站4万条数据评论,揭秘本山大叔《念诗之王》大热原因!...
  2. 很实用但经常忘的小常识
  3. mysql 函数重载_C#方法重载(函数重载)
  4. ServiceNow 中关于UI Action 在portal端的使用
  5. 你知道生气有多可怕吗?“气死人”是有科学依据的
  6. TEINet: Towards an Efficient Architecture for Video Recognition(AAAI2020)
  7. ubuntu 显卡驱动卸载和安装
  8. StarUML画用例图
  9. redis数据更新操作
  10. 9 款最好的免费博客网站对比
  11. 收集N个超实用的 JS 片段( ES6+ 编写),你和大神只差这个宝典
  12. MYSQL的开题报告题目,开题报告的选题意义.docx
  13. Unity 入门教程:贪吃射(1) —— Unity 安装和项目创建
  14. Centos7- wget未找到命令,there are no enabled repos 解决办法
  15. 华东理工大学计算机学院考研考什么,华东理工大学计算机专业基础综合2020考研考试大纲...
  16. 织梦dedecmsTAG出现404页面的解决办法
  17. [附源码]java毕业设计体检中心健康管理系统
  18. Windows下安装anaconda、创建虚拟环境、常见的conda命令
  19. 万能手机usb内窥镜软件下载_万能证件生成器手机版-万能证件生成器手机版下载 v1.0 免费版...
  20. 微信屏蔽网页的依据是什么?

热门文章

  1. 阿里百度盛大等全业务布局揭秘
  2. [THUPC2019]不等式/[51Nod1598]方程最小值
  3. Spring Cloud Gateway之负载均衡
  4. 130.ssm项目中添加日志 log4j
  5. Spring jdbc的搭建
  6. SQLAlchemy 使用经验
  7. CentOS6 安装 MySQL 并配置
  8. 微软面试题及答案 (很需要开放性思维啊)
  9. Spring-MVC入门(一):入门实例
  10. 思科防火墙nat-control的作用