udig安装使用及geoserver图层样式sld的生成与配置

发布时间 2023-10-20 12:05:12作者: 孤草之魂

uDig(User-friendly Desktop Internet GIS)是一个开源的桌面地理信息系统 (GIS) 应用程序,专注于提供易于使用的GIS功能和地图制图工具。

uDig是一个 open source (EPL and BSD) 桌面应用程序框架,构建在Eclipse RCP和GeoTools(一个开源的Java GIS工具包)上的桌面GIS(地理信息系统) ;是一款开源桌面GIS软件,基于Java和Eclipse平台,可以进行shp格式地图文件的编辑和查看;是一个开源空间数据查看器/编辑器,对OpenGIS标准,关于互联网GIS、网络地图服务器和网络功能服务器有特别的加强。uDig提供一个一般的java平台来用开源组件建设空间应用。

 

 

 

本文使用环境:

操作系统:Windows 11

udig版本:udig-2.0.0.win32.win32.x86_64.zip

geoserver版本:geoserver-2.18.0-bin.zip

一、软件下载

下载地址:http://udig.refractions.net/download/

 选择windows版本下载后解压:

 双击打开udig_internal.exe文件即可。

二、汉化

下载udig2.0的汉化插件,下载地址:https://gitee.com/jjxliu306/udig_zh/blob/master/target/udig2.0_nl_zh.zip

 

 将下载的UDIG2.0汉化插件解压,复制其中的 “plugins” 目录,粘贴至 udig安装目录下/dropins 目录

 重新打开udig,已经完成汉化:

三、uDig生成图层样式并在geoserver中使用

以导入shp文件,配置图层样式,并在geoserver中使用为例:

1、添加图层,选择Files,打开自己的shp文件

 2、右键图层点击修改样式,打开样式编辑器,根据实际情况修改样式:

  •  Lines、Points、Polygons:根据自己的图层类型选择相应的进行配置
  • XML:通过修改xml文件进行配置
  • 简单要素Simple feature:简单配置
  •  主题Theme:根据主题配置,可以根据某个字段,选择一系列的颜色对数据进行不同颜色的设置
  • 过滤Filter:根据条件过滤图层

3、配置完样式后,打开xml页,可以直接拷贝xml文件或者到处sld文件

 4、打开geoserver,选择Styles,新建一个样式,可以选择sld文件导入,或者直接将上一步的XML文件粘贴进去,

为解决中文乱码问题需要将encoding改成GBK或者GB2312

 5、对已发布的图层数据进行样式修改:在图层中找到需要更改配置的图层,打开后切换到发布页面

下拉找到WMS设置,将样式改成刚才添加的样式:

 6、预览修改后的数据:在Layer Preview找到刚才修改的图层,使用openlayer打开,此时填充、边框、标注都按照udig中设置的样式展示了

 

四、uDig样式配置说明

需求:需要对不同行政区配置不同颜色

解决方案:

1、先用主题Theme进行分类符号化

2、然后到Polygons里更改每个规则下的具体样式配置,可以自行更改边框、填充、标注等

注:看Fiter的信息可以看到是通过条件设定的规则:

因此可以自己自定义不同的条件规则来设定不同的样式,以满足不同样式要求的需求:

五、遇到的问题

1、标注中文乱码问题

(1)在uDig中,设置字体中选择宋体、脚本选择中文

注:网上查到的修改方法,本人按照该方法设置并未生效,不知道是否是shp数据本身存在问题,因在geoserver中,中文通过配置可以正常读取,故不进行处理

如果想在uDig中正常显示中文,可以直接修改shp的属性信息:

 (2)在geoserver中中文乱码问题

在Styles新建样式的时候,从uDig拷贝过来的xml文件,将encoding的GBK-8改成GB2312

检查数据存储DBF的字符集:选择UTF-8

 注:网上搜到的很多办法都是将DBF的字符集改成GBK或者GB2312,但是我改后都显示乱码,改成UTF-8后显示中文正常,怀疑和shp数据本身有问题,如果还有问题,这边改成不同的字符串都试试。

改完后在Layer Preview中用OpenLayers打开,中文显示正常:

 2、当在配图过程中报UTF-8出错或不能打开Change Style等其它问题

一般情况下的解决方案是:

(1)直接删除Project所在的文件夹重启重做即可。

如果不知道默认项目文件夹在哪,可以通过新建项目查看下项目路径:

建议将目录下uDig整个文件夹删除后重启uDig。

 (2)或者尝试新建一个Project,在新的Project中进行操作(不一定有用,建议使用第一种方式解决)

 <本文完>