目的
通过Geoserver查询mysql的空间数据,来显示图层相关信息
Geo Server提供了PostGIS,可以通过读取数据库的方式加载。
首先具备的能力是,了解MySQL的空间数据存储能力,详情查看。
假设已经处理好空间数据,现在通过Geoserver+mysql来实现地图图层的简单展示和发布。
- 下载mysql的插件jar包,解压后将两个jar文件放到geoserver\webapps\geoserver\WEB-INF\lib下
- 通过geoserver可视化界面配置mysql,基本上和数据库连接工具一个操作,录入信息保存
- 发布图层,这个也是常规操作,主要的注意事项是边框信息计算,【重新载入要素类型】可以进行刷新
在发布Tab下,注意看样式是否正常
这里需要注意的一点,如果你的配置中需要显示文字,需要修改样式,在style中增加一个rule,最主要的是在label中注明是哪个字段
<Rule>
<Title>Boundary</Title>
<LineSymbolizer>
<Stroke>
<CssParameter name="stroke-width">0.2</CssParameter>
</Stroke>
</LineSymbolizer>
<TextSymbolizer>
<Label>
<ogc:PropertyName>name</ogc:PropertyName>
</Label>
<Font>
<CssParameter name="font-family">宋体</CssParameter>
<CssParameter name="font-style">Normal</CssParameter>
<CssParameter name="font-size">14</CssParameter>
</Font>
<LabelPlacement>
<PointPlacement>
<AnchorPoint>
<AnchorPointX>0.5</AnchorPointX>
<AnchorPointY>0.5</AnchorPointY>
</AnchorPoint>
</PointPlacement>
</LabelPlacement>
</TextSymbolizer>
</Rule>
这里又涉及到一个问题,如果你用的是中文,可能发布后,查看图层,中文都是乱码的,解决办法如下:
1.确认字体库是否存在
2.如果存在了,也进行了设定,还是不对,可能就是你的样式文件格式有问题,因为你选择的中文字体,多数也是中文,如果编码不对,会导致乱码,进入到geoserver/data_dir/style,找到你的style.sld,然后将这个文本改成utf-8格式保存。刷新查看图层,Boom~~~出来了
以上再将图层组合成图层组,然后修改自己想要展示的样式,最终就可以显示出来了。