文档章节

GEOSERVER显示图表(CHART)

G
 GIS开源
发布于 2016/11/01 10:51
字数 900
阅读 511
收藏 2

GEOSERVER显示图表(CHART)

 

本节GEOSERVER 如何显示图表(CHART),分为个部分首先介绍原理及运行环境,其次是图表渲染的SLD内容说明,最后是程序如何配置。

1.1原理及运行环境

图表空间在展现按地域统计的数据时经常会用到,GEOSERVER通过安装一定插件也可以展示地图的图表效果。其原理是通过SLD对地图上的图元进行渲染。产生图表效果:

dFcBAAAAAAAA&bo=tQT2AQAAAAADAGM!

1.1.1运行环境:

apache-tomcat-7.0.63  32

JAVA 1.7.0_17  32

GEOSERVER  2.8

WIN8 64位中文版

 

1.1.2数据

GEOSERVER 自带的 topp:states 图层

1.2SLD渲染配置说明

1.2.1.1SLD内容及说明

<?xml version="1.0" encoding="GBK"?>

<StyledLayerDescriptor version="1.0.0"

  xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd"

  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">

  <NamedLayer>

    <Name></Name>

    <UserStyle>

      <Name>Pie charts</Name>

      <FeatureTypeStyle> 

        <Rule>

          <PolygonSymbolizer> 图层区域对象的渲染,背景填充等

            <Fill>

              <CssParameter name="fill">#FFFFF0</CssParameter>

            </Fill>

            <Stroke />

          </PolygonSymbolizer>

        </Rule>

      </FeatureTypeStyle>

      <FeatureTypeStyle>

        <Rule>

          <PointSymbolizer> 饼图的渲染内容

            <Geometry>

              <ogc:Function name="centroid"> 饼图位置为区域的质心

                <ogc:PropertyName>the_geom</ogc:PropertyName>

              </ogc:Function>

            </Geometry>

            <Graphic>

              <ExternalGraphic>

                <OnlineResource

                  xlink:href="http://chart?cht=p&amp;chf=bg,s,FFF1F000&amp;chd=t:${100 * MALE / PERSONS},${100 * FEMALE / PERSONS}&amp;chl=男|女&amp;chs=200x100&amp;chco=0000ff,ff0000" />

饼图的效果(cht饼图的3D效果,chf背景颜色,chd饼图的切分比例,chl饼图标注,chs饼图大小带上标注的大小,chco饼图颜色

                <Format>application/chart</Format>

              </ExternalGraphic>

              <Size>不带标注时,饼图的大小。前面chs设置的是饼图整个的大小(长和宽,都以像素为单位)。

                <ogc:Add> 这里是个计算表达式的配置,根据字段配置饼图的大小,图表大小(不算标注)=20 + (PERSONS / 20,000,000) * 60.

                  <ogc:Literal>80</ogc:Literal> 

                  <ogc:Mul>

                    <ogc:Div>

                      <ogc:PropertyName>PERSONS</ogc:PropertyName>

                      <ogc:Literal>20000000.0</ogc:Literal>

                    </ogc:Div>

                    <ogc:Literal>60</ogc:Literal>

                  </ogc:Mul>

                </ogc:Add>

              </Size>

            </Graphic>

          </PointSymbolizer>

        </Rule>

      </FeatureTypeStyle>

    </UserStyle>

  </NamedLayer>

</StyledLayerDescriptor>

1.2.2注意事项

1.饼图比例是以百分比来标示的,如80,20;70,20,10;

2.${100 * MALE / PERSONS},${100 * FEMALE / PERSONS} 是计算表达式,其中MALE,PERSONS,FEMALE都取得是图层字段里的值

3.XML encoding 设置为 "GBK" UTF-8不行否则汉字内容显示为乱码

4.颜色设置为 RRGGBBAA 也就是RGB加 Alpha分量表示透明度

1.3配置安装

我没有用下载GEOSERVER的安装包,直接用我自己通过编译环境打包的WAR包,部署到TOMCAT环境中。如果需要我可以提供我编译的WAR包,感觉更稳定些。

一定注意:GEOSERVER默认是不带CHART的扩展插件的,需要自己安装,对应版本也是2.8的,具体做法是拷贝插件到webapps\geoserver\WEB-INF\lib目录下。重新启动.插件我已经下载,在附件中有提供

实现步骤

打开GEOSERVER工作面板

打开SYLE编辑功能,添加一个新的STYLE

dFoBAAAAAAAA&bo=WwNfAgAAAAADACA!编辑验证,保存(将我附件提供的SLD粘贴到编辑器保存即可)

回到主面板点图层(管理)

 

dFgBAAAAAAAA&bo=RwMxAAAAAAADAFA!

点 STATE进入图层设置。

dFkBAAAAAAAA&bo=3wI6AgAAAAADAMA!

进入图层设置,点发布

将DEFAULTSTYLE设置为添加的STYLE PIECHART,保存设置。

dFcBAAAAAAAA&bo=mgMtAgAAAAADAJM!

 

 

dFoBAAAAAAAA&bo=KgI4AQAAAAADADQ!

点图层预览

dFkBAAAAAAAA&bo=dAMQAQAAAAADAEM!

选择OPENLAYERS,效果如下:

dFgBAAAAAAAA&bo=*wJLAQAAAAADAJI!

注意:用OPENLAYERS查看结果时经常出现修改了SLD内容,结果不能立即体现的现象,原因是GEOSERVER集成了GWC的缓存机制,需要清除缓存内容,位置在GEOSERVER数据存储目录下的/gwc-layers目录

 


本文出自 “开源GIS平台” 博客,请务必保留此出处http://osgis.blog.51cto.com/10026717/1749984

© 著作权归作者所有

下一篇: 移动WEBGIS
G
粉丝 4
博文 17
码字总数 7873
作品 0
东城
技术主管
私信 提问
GeoServer安装与数据配置

1、 GeoServer简介 GeoServer,顾名思义,是一“服务器”,用于发布和编辑地理数据。它是一款用Java语言开发的,在OGC标准下支持用户浏览和编辑数据的开源软件。利用它可以很好地提供和WMS服...

薛向阳
2010/07/02
4.2K
0
【环境配置】GeoServer+MySQL安装及配置过程

由于大部分WEBGIS不仅仅只是一个地图的显示,还需要一些业务处理,会有用到数据库地方,所以我想把地图放到数据库中,这样性能、安全等方面都有了较大的改进,尤其是修改地图时可以直接对数据...

JungleKing
2013/12/30
2.2K
0
基于GeoServer切片地图服务的发布

接着上一篇文章,如何将JPG格式的图片转化为带地理坐标的TIFF格式里提及的最近的一个项目,数据源是一张高分辨率的2.5维图片,现在已经成功转化成了带有地理坐标的TIFF格式。下面将介绍借助G...

陶诗德
2015/01/05
1K
0
高效访问海量地图数据--用OpenLayers访问GeoServer发布的地图

上一篇文章中,我们介绍了用GeoServer手动发布本地Shapefile地图,那么如何在谷歌地图中展示GeoServer发布好的地图呢? 大伙先来看看本文实现最终结果: 地图放大后: 一、解决Geoserver跨域...

我叫刘半仙
2018/04/18
4.2K
0
geoserver服务迁移小技巧

说不上技巧,比如说,要将geoserver从A服务器迁移到B服务器,上面所配置的style、store和layer都保持不变要怎么做? 每一次往geoserver里面添加store或是layer的时候,都会在geoserver目录下...

土匪强
2012/12/08
1K
4

没有更多内容

加载失败,请刷新页面

加载更多

饿了么交付中心语言栈转型总结

前言: 本文介绍了饿了么交付中心由python语言栈转换到java语言栈大致过程,一来是对前段时间的工作做下总结,另外也是想通过此次总结为其他应用服务转型提供些借鉴。写的不好,欢迎板砖。 背...

一肥仔
23分钟前
4
0
移植linux4.14内核到4412开发板

最近法师收到了很多留言,其中有一部分问法师什么时候更新,还有一大部分问法师我是买迅为的IMX6UL精英版好呢还是买4412精英版好呢,因为我们这俩个都不贵。法师的建议的是入手4412!为什么呢...

书白
27分钟前
7
0
提高GMAT语法能力方法解析,掌握技巧高分不是梦

GMAT考试对考生语法能力的要求涉及各部分的题目,熟练掌握语法知识对于考生获得高分有巨大的帮助。因此,学好GMAT语法,显得非常重要。下面小编就介绍一些提高GMAT语法能力的方法技巧。 做题...

bole6
30分钟前
6
0
100天搞定机器学习|day54 聚类系列:层次聚类原理及案例

几张GIF理解K-均值聚类原理 k均值聚类数学推导与python实现 前文说了k均值聚类,他是基于中心的聚类方法,通过迭代将样本分到k个类中,使每个样本与其所属类的中心或均值最近。 今天我们看一...

机器学习算法与Python实战
33分钟前
5
0
创龙TI KeyStone C66x多核定点/浮点DSP TMS320C665x底板B2B连接器、电源接口和拔码开关

TL665x-EasyEVM是广州创龙基于SOM-TL665x核心板研发的一款TI C66x多核定点/浮点高性能DSP开发板,采用核心板+底板方式,底板尺寸为200mm*106.65mm,采用4*50pin和1*80pin B2B工业级连接器,稳...

Tronlong创龙
35分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部