geoserver地图发布服务教程---4.使用udig获取sld样式

上一篇也说了,样式主要还是考sld代码来实现的,但是学习代码是需要时间成本滴,那么不想学或者来不及去学习sld语法的同学们,这里就有现成的软件推荐给大家,来实现现成的代码咯。其实qigs和arcgis也都可以直接或者通过工具来获取到sld代码。我个人更喜欢使用udig,这个软件小巧灵活。使用起来也比较无脑。这一篇我具体讲讲如何使用udig来获取sld代码。

uDig介绍

uDig是一个开源的桌面GIS软件,可以进行shp与栅格数据地图文件的编辑和查看,对OpenGIS标准,关于互联网GIS、网络地图服务器和网络功能服务器有特别的加强。通常和GeoServer一起使用,uDig配置的地图文件样式sld绝大多数能在geoserver中完全发布使用。官网网址在这:http://udig.refractions.net/download/,下载最新版即可,双击udig_internal.exe就可以打开程序了。
在这里插入图片描述

udig配置地图

1、添加地图文件:打开udig后打开图层File->New->New Layer

在这里插入图片描述

2、选择数据来源:udig支持本地数据、数据库数据和数据服务,例如如果数据已经放在geoserver服务中,就选择WebFeature server.输入其WMS服务地址后选择图即可,本例使用本地shapefile文件,故选择Files点击Next,然后选择选择本地shapefile文件打开即可。注:建议尽量将shapefile文件名改为英文名再进行操作,虽然在uDig中没有影响,但是在制作XML后会出现中文,但是geoserver不支持中文文件名和文件路径。
在这里插入图片描述

3、图层预览:加载后的图层显示在这里,在Layers下面鼠标右键需要配置样式的图层,点击Change Style。图中Anxian_L1-L15是我加载的栅格图层,你可以暂时忽略它。
在这里插入图片描述

4、样式编辑界面介绍: 在Style Editor中,右边目录树是针对显示操作。Lines、Points、Polygons是根据图层具体属性点线面来进行操作。Simple feature是简单设置,Filter是过滤显示图层的哪些图形。Theme是图层默认主题,可修改设置。Xml是前面进行修改操作其自动生成的。在geoserver中可以复制粘贴制作style。注:但要将编码格式改为GB2312。
在这里插入图片描述

5、线图层配图实例:本文针对线图层这里做个简单例子,中间显示的按钮依次为添加显示规则组和显示规则,删除显示规则和显示规则组,层次调整,这里可以通过叠加显示规则来达到我们需要的效果;右边是一般设置,边框,显示文字标注,还有过滤显示操作。线的边框即线的颜色。
在这里插入图片描述

这里添加两个显示规则。注意每个显示rule都是相对独立的。适当更改每个rule的显示比例尺和其它设置。添加不同规则可以得到我们所需要的绝大部分效果。

  • border设置:此处将default rule 的宽度设置为1,颜色设置为黄色。
    border选择页面其它参数介绍:
    grephics:可以添加其他图形,使图片按线路径进行渲染,即每隔图片长度出现一个图片。
    dash:断点距离例如:5。
    dash offset为断点偏移量。
    在这里插入图片描述

  • 标注设置:显示文字是中文时一定要将font中set font字体选择为中文字体,如宋体,华文新魏等,并将“脚本®”修改为中文GB2312。否则你会得到好多小框框。
    label选择页其它参数介绍:
    max displacement pixels:指文字间距离越近而忽略显示部分文字信息.值越大忽略显示效果越低。例如20
    perpengicular offset:指文字显示中心线距离线文字的像素距离,0表示标注在线上。前提是 follow line为false,即文字是否跟随线走向。
    follow line为false:即文字是否跟随线走向。
    auto wrap pixels:即当文字长度超过该像素后就换行。
    在这里插入图片描述
    在这里插入图片描述

6、确定与应用:点击Apply应用即可。该图层最终显示效果如下。

此为配置线图层基本方法,可以具体根据自己需要进行修改和丰富样式。

SLD输出

当你配置完之后,点击xml就能看到sld的代码。
在这里插入图片描述
可以直接复制放在geoserver中使用,当然也可以通过左下角的导出来输出成sld文件,也可以导入现成的sld,在这个基础上修改。此处要注意,第一行显示的编码格式是utf-8,但是一般shp数据,都是GB2312,所以需要改一下。这里我导入了常用的一个铁路的样式,看一下。
在这里插入图片描述

想要更多更复杂的样式,就需要对sld代码进行更复杂的编写,可以通过学习SLD的教程来实现。我把中文和英文的教程还有几个常用的sld文件都放在公众号里面了,有需要的去那里面拿就好了,免费的。

最后

好了,这次就先讲到这里吧,最后求关注,求点赞,欢迎大家关注我的公众号——“遥感程序员”
在这里插入图片描述
记录所学所用,包括但不限于遥感、地信、气象、生态环境,机器学习知识,相关文献阅读,编程代码实现。偶尔荒腔走板的聊聊其他。欢迎不同领域的朋友们加入进来,多多交流。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值