如何用uDig美化地图并发布到GeoServer

udig下载、安装及汉化,简单生成geoserver图层样式sld 阅读详情

1.首先打开uDig,新建Project,命名为China,输入名称和路径。并在China内New Map。


2.在Map内Add Data,选择Files,选择你的Shapefile文件(*.shp)。

3.导入后,图层并不会直接显示,此时选择Show All Data即可。图层会一个一个地加载出来。取消图层前面的打勾,图层将不会显示。



4.观察Layers图层列表,以下图示分别表示图层的三种类型:点、线、面。

5.选中对应的图层,以地级市图层为例,选择Change Style,进入Style Editor,开始为图层增加样式。

选中Simple Feature,可以看到Label一栏打勾生效,在图层中显示Label,注意点击“font”设置字体、字号、编码方式。该图层有一项“NAME”的标签。

选中Simple Points,可以设置点的更多参数。

若选择Simple Style,可以square(正方形)、circle(圆)等规则图形,并且设置图标大小、边框、填充、颜色、宽度、旋转、偏移量等各种参数,在左边Preview处可以预览。

也可以选择Graphics Based Styles,选择来自计算机的图标文件。

6.完成各种设置后,我的地级市图层美化成了这样。

此时返回Style Editor,可以找到根据设计的样式自动生成的对应的XML文件。

7.打开GeoServer服务器,此前已经发布了China:Prefecture-level Cities的图层。以下是点击GeoServer的OpenLayers所预览到的效果。

8.选择Data的Styles,然后选择Add a new style。

设置Style的名称、所在工作空间等,并输入XML。注意,如果出错,可能是Labels中文的编码问题,需要将XML改成encoding=”GB2312”或者encoding=”GBK”或者在图层的设置Edit Vector DataSource中把DBF charset改成GB2312或者GBK。

选择对应的Style file。

9.选择Data中的Layers,点击地级市图层对应的Layer Name,可以进入Edit Layer的页面,对图层发布的有关参数进行修改。

点击Publishing。

将Default Style和AdditionalStyle选择成刚刚新建的style,并保存。

10.此时再用之前的办法预览图层,即可在这个GeoServer服务器上,看到用uDig美化以后的地图。

后续拓展:

1.关于省界图层(面类型)按照四色原理进行划分的办法。

①选中图层,点击右键,选择Change Style,进入Style Editor,在Theme中完成配色方案。注意要根据四色原理自行调整配色方案。


②应用并保存后,效果如图。


2.关于铁路图层。铁路图层(线类型)实际上是三个LineSymbolizer的叠加。

①参考的XML。

<?xml version="1.0" encoding="GB2312"?>
<sld:StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:sld="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" version="1.0.0">
    <sld:UserLayer>
        <sld:LayerFeatureConstraints>
            <sld:FeatureTypeConstraint/>
        </sld:LayerFeatureConstraints>
        <sld:UserStyle>
            <sld:Name>Default Styler</sld:Name>
            <sld:Title/>
            <sld:FeatureTypeStyle>
                <sld:Name>simple</sld:Name>
                <sld:FeatureTypeName>Feature</sld:FeatureTypeName>
                <sld:SemanticTypeIdentifier>generic:geometry</sld:SemanticTypeIdentifier>
                <sld:SemanticTypeIdentifier>simple</sld:SemanticTypeIdentifier>
                <sld:Rule>
                    <sld:Name>name</sld:Name>
                    <sld:Title>title</sld:Title>
                    <sld:Abstract>Abstract</sld:Abstract>
                    <sld:LineSymbolizer>
                        <sld:Stroke>
                            <sld:CssParameter name="stroke">
                                <ogc:Literal>#666666</ogc:Literal>
                            </sld:CssParameter>
                            <sld:CssParameter name="stroke-linecap">
                                <ogc:Literal>butt</ogc:Literal>
                            </sld:CssParameter>
                            <sld:CssParameter name="stroke-linejoin">
                                <ogc:Literal>miter</ogc:Literal>
                            </sld:CssParameter>
                            <sld:CssParameter name="stroke-opacity">
                                <ogc:Literal>1</ogc:Literal>
                            </sld:CssParameter>
                            <sld:CssParameter name="stroke-width">
                                <ogc:Literal>5</ogc:Literal>
                            </sld:CssParameter>
                            <sld:CssParameter name="stroke-dashoffset">
                                <ogc:Literal>0</ogc:Literal>
                            </sld:CssParameter>
                        </sld:Stroke>
                    </sld:LineSymbolizer>
                </sld:Rule>
            </sld:FeatureTypeStyle>
            <sld:FeatureTypeStyle>
                <sld:Name>simple</sld:Name>
                <sld:FeatureTypeName>Feature</sld:FeatureTypeName>
                <sld:SemanticTypeIdentifier>generic:geometry</sld:SemanticTypeIdentifier>
                <sld:SemanticTypeIdentifier>simple</sld:SemanticTypeIdentifier>
                <sld:Rule>
                    <sld:Name>name</sld:Name>
                    <sld:Title>title</sld:Title>
                    <sld:Abstract>Abstract</sld:Abstract>
                    <sld:LineSymbolizer>
                        <sld:Stroke>
                            <sld:CssParameter name="stroke">
                                <ogc:Literal>#FFFFFF</ogc:Literal>
                            </sld:CssParameter>
                            <sld:CssParameter name="stroke-linecap">
                                <ogc:Literal>butt</ogc:Literal>
                            </sld:CssParameter>
                            <sld:CssParameter name="stroke-linejoin">
                                <ogc:Literal>miter</ogc:Literal>
                            </sld:CssParameter>
                            <sld:CssParameter name="stroke-opacity">
                                <ogc:Literal>1</ogc:Literal>
                            </sld:CssParameter>
                            <sld:CssParameter name="stroke-width">
                                <ogc:Literal>3</ogc:Literal>
                            </sld:CssParameter>
                            <sld:CssParameter name="stroke-dashoffset">
                                <ogc:Literal>0</ogc:Literal>
                            </sld:CssParameter>
                        </sld:Stroke>
                    </sld:LineSymbolizer>
                </sld:Rule>
            </sld:FeatureTypeStyle>
            <sld:FeatureTypeStyle>
                <sld:Name>simple</sld:Name>
                <sld:FeatureTypeName>Feature</sld:FeatureTypeName>
                <sld:SemanticTypeIdentifier>generic:geometry</sld:SemanticTypeIdentifier>
                <sld:SemanticTypeIdentifier>simple</sld:SemanticTypeIdentifier>
                <sld:Rule>
                    <sld:Name>name</sld:Name>
                    <sld:Title>title</sld:Title>
                    <sld:Abstract>Abstract</sld:Abstract>
                    <sld:LineSymbolizer>
                        <sld:Stroke>
                            <sld:CssParameter name="stroke">
                                <ogc:Literal>#000000</ogc:Literal>
                            </sld:CssParameter>
                            <sld:CssParameter name="stroke-linecap">
                                <ogc:Literal>butt</ogc:Literal>
                            </sld:CssParameter>
                            <sld:CssParameter name="stroke-linejoin">
                                <ogc:Literal>miter</ogc:Literal>
                            </sld:CssParameter>
                            <sld:CssParameter name="stroke-opacity">
                                <ogc:Literal>1</ogc:Literal>
                            </sld:CssParameter>
                            <sld:CssParameter name="stroke-width">
                                <ogc:Literal>3</ogc:Literal>
                            </sld:CssParameter>
                            <sld:CssParameter name="stroke-dashoffset">
                                <ogc:Literal>0</ogc:Literal>
                            </sld:CssParameter>
                            <sld:CssParameter name="stroke-dasharray">15.0 15.0 </sld:CssParameter>
                        </sld:Stroke>
                    </sld:LineSymbolizer>
                </sld:Rule>
            </sld:FeatureTypeStyle>
        </sld:UserStyle>
    </sld:UserLayer>
</sld:StyledLayerDescriptor>

②应用并保存后,效果如图。


3.关于高速公路图层。

①参考的XML。

<?xml version="1.0" encoding="GB2312"?>
<sld:StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:sld="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml" version="1.0.0">
    <sld:UserLayer>
        <sld:LayerFeatureConstraints>
            <sld:FeatureTypeConstraint/>
        </sld:LayerFeatureConstraints>
        <sld:UserStyle>
            <sld:Name>Default Styler</sld:Name>
            <sld:Title/>
            <sld:IsDefault>1</sld:IsDefault>
            <sld:FeatureTypeStyle>
                <sld:Name>simple</sld:Name>
                <sld:FeatureTypeName>Feature</sld:FeatureTypeName>
                <sld:SemanticTypeIdentifier>generic:geometry</sld:SemanticTypeIdentifier>
                <sld:SemanticTypeIdentifier>simple</sld:SemanticTypeIdentifier>
                <sld:Rule>
                    <sld:Name>name</sld:Name>
                    <sld:Title>title</sld:Title>
                    <sld:Abstract>Abstract</sld:Abstract>
                    <sld:MaxScaleDenominator>1.7976931348623157E308</sld:MaxScaleDenominator>
                    <sld:LineSymbolizer>
                        <sld:Stroke>
                            <sld:CssParameter name="stroke">
                                <ogc:Literal>#E7AC46</ogc:Literal>
                            </sld:CssParameter>
                            <sld:CssParameter name="stroke-linecap">
                                <ogc:Literal>butt</ogc:Literal>
                            </sld:CssParameter>
                            <sld:CssParameter name="stroke-linejoin">
                                <ogc:Literal>miter</ogc:Literal>
                            </sld:CssParameter>
                            <sld:CssParameter name="stroke-opacity">
                                <ogc:Literal>1.0</ogc:Literal>
                            </sld:CssParameter>
                            <sld:CssParameter name="stroke-width">
                                <ogc:Literal>2.0</ogc:Literal>
                            </sld:CssParameter>
                            <sld:CssParameter name="stroke-dashoffset">
                                <ogc:Literal>0.0</ogc:Literal>
                            </sld:CssParameter>
                        </sld:Stroke>
                    </sld:LineSymbolizer>
                </sld:Rule>
            </sld:FeatureTypeStyle>
        </sld:UserStyle>
    </sld:UserLayer>
</sld:StyledLayerDescriptor>

②应用并保存后,效果如图。


4.对美化效果进行反复优化以后,将美化的省界图层、省会图层、地级市图层、高速公路图层、铁路图层发布在服务器后,在网页上显示在一起。


利用uDig 快速生成 GeoServer 可用的 SLD 渲染文件 通过uDig快速生成SLD格式样式文件 阅读详情

相关推荐

JavaWeb与WebGIS实战指南(四)——利用uDig定制地图样式与多图层融合技巧

本文是JavaWeb与WebGIS实战系列的第四篇,重点讲解如何利用开源桌面GIS软件uDig为地图数据定制专业样式。通过可视化操作生成SLD样式文件,并详细解决了中文标注乱码等常见问题。最后,指导如何将设计好的样式发布到GeoServer,并通过图层组实现多图层的融合与叠加显示,从而提升WebGIS应用的地图视觉表现力和专业性。

weixin_29292431的博客 531

udig简单入门

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

4226

uDig快速入门:从安装到生成GeoServer图层样式的完整指南

本文提供uDig快速入门指南,详细讲解从下载安装、界面汉化到核心数据操作的完整流程。重点演示如何利用uDig强大的图形化样式编辑器,高效生成符合GeoServer标准的图层样式(SLD文件),实现从数据导入、样式设计到服务发布的完整工作流,帮助GIS新手快速上手开源GIS桌面工具。

weixin_29214335的博客 366

十分钟GIS——geoserver+postgis+udig从零开始发布地图服务

启动完成后,在浏览器输入“http://localhost:8080/geoserver/web/”即可打开geoserver的首页,这时候使用账号密码登陆,账号为:admin,密码为geoserver。加载数据文件后,在Layers下面右键需要配置样式的图层,点击Change Style,即可打开Style Editor编辑窗口,进行样式编辑。选择连接数据,单击list,在列表中选择需要加载的图层,单击finish,加载数据。分别输入工作区的名称、URL,设置为默认工作区,单击提交,完成工作区的创建。

shishi521的专栏 4176

AutoCAD文件(dxf、dwg)发布到 Geoserver作为地图图层

目录 一、Geoserver服务运行 二、dwg文件转dxf 三、dxf转shp 四、shp转文件查看 五、shp文件style设置 六、shp文件导入到Geoserver 七、open Layer 展示 本博客中涉及的操作只适用于,OpenStreetMap数据源,其他数据源需要融汇贯通。 准备环境 一、Geoserver服务运行 java sdk、tomcat、Geose...

weixin_34253126的博客 2289

双层优化入门(2)—基于yalmip的双层优化求解(附matlab代码)

​上一篇博客介绍了双层优化的基本原理和使用KKT条件求解双层优化的方法,这篇博客将介绍使用yalmip的双层优化问题的求解方法。 1.KKT函数 通过调用yalmip工具箱中的KKT函数,可以直接求出优化问题的KKT条件,省去自己手动写的步骤。 2.solvebilevel函数 solvebilevel是yalmip工具箱内置的求解双层优化问题的函数。也就是通过这个函数,不需要咱手动写KKT条件,也不需要使用KKT函数,直接把上、下层优化的目标函数、约束条件往里面一放,就能求出结果。 ​

配电网和matlab的博客 1万+

udig操作简介

启动udig,在菜单栏中选择file→new→new project在弹出的对话框中修改project名称及保存路径。(命名请使用英文) 在菜单栏layer→add data在弹出的对话框中选择files然后点击下一步选择需要添加的数据。GeoServer只支持发布ArcGIS格式的地图数据,既.shp格式的地图数据。导入的数据需要具有投影信息,否则在导入的图层前面将会有一个黄色的感叹号标志,...

u011365716的博客 3863

【智慧城市】GIS数据获取-获取道路/水路数据

【GIS数据获取】获取道路/水路数据

qq_16599281的博客 4749

JavaWeb和WebGIS学习笔记(四)——使用uDig美化地图,并叠加显示多个图层

前言:uDig是一个 [open source](https://baike.baidu.com/item/open source/114160) (EPL and BSD) 桌面应用程序框架,构建在Eclipse RCP和GeoTools(一个开源的Java GIS工具包)上的桌面GIS(地理信息系统) ;是一款开源桌面GIS软件,基于Java和Eclipse平台,可以进行shp格式地图文件的...

df1445的博客 3073

【Android 教程系列第 30 篇】为什么要为 App 应用加固 ?如何为 App 应用加固 ?

一:为什么要为 App 应用加固 ? 二:如何为 App 应用加固 ? 三:加固后为什么要重新签名 ?

“Allen Su”的博客 7053

IEC 60747-8 是由国际电工委员会(IEC)制定的标准,标题为《半导体器件 - 分立器件 - 第8部分:场效应晶体管》

IEC 60747-8 是由国际电工委员会(IEC)制定的标准,标题为《半导体器件 - 分立器件 - 第8部分:场效应晶体管》(Semiconductor devices - Discrete devices - Part 8: Field-effect transistors)。该标准详细规定了场效应晶体管(FETs)的测试方法,涵盖静态和动态特性测试,适用于多种类型的FET,包括结型场效应晶体管(JFETs)、绝缘栅场效应晶体管(MOSFETs,增强型和耗尽型)等。3. 标准其他部分(简要概述)

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 571

在GeoServer中使用Udig配置的地图样式

之前使用的ArcGIS,图层直接在ArcMap中可视化编辑,之后在ArcGIS Server中发布使用,很方便。但考虑到版权问题,这里使用udig美化图层,然后在geoserver中发布使用。 1.利用udig软件对shape进行样式可视化编辑

凡事有果必有因 5030

阿波罗开发板硬件架构与STM32模块化设计详解

嵌入式开发板的模块化设计是提升硬件复用性、降低迭代成本的关键技术路径。其核心在于底板与核心板的电气解耦与功能分层,依托STM32系列MCU(如F429/F767)的丰富外设资源与引脚复用能力,实现信号完整性、电源域隔离与热管理的系统级协同。该架构显著支撑工业HMI、智能家居网关、便携医疗设备等典型场景,尤其在RGB LCD驱动、QSPI Flash内存映射、多协议通信(CAN/RS485/USB)及低功耗唤醒(WK_UP按键)等工程实践中展现出高可靠性与易调试性。本文围绕阿波罗开发板展开深度解析,覆盖最小系

weixin_42510201的博客 64

5分钟搞定uDig汉化版安装与Geoserver图层样式生成(附最新插件下载)

本文详细介绍了如何快速安装并汉化开源GIS工具uDig,并将其作为高效的GeoServer图层样式生成器。通过可视化界面设计地图样式,用户可告别手动编写SLD代码的繁琐,实现一键生成并部署至GeoServer,显著提升GIS项目中的地图制作效率。

yhn45678901的博客 808

深入理解 DDR5 Bank Group 与并行调度机制

Bank Group架构和并行调度机制,是DDR5性能跃升的核心秘密!理解它们才能写出高效调度程序,设计出性能强劲又稳定的DDR5系统。🎯记住:Bank Group不是简单的分组,而是高速并行的“魔法钥匙”,巧用它,你的DDR5设计将爆发惊人性能!

weixin_43199439的博客 312

微信对话开放平台智能对话模块的几个亮点

微信AI首席科学家牛成公布了最新开放方案,并重磅宣布全面开放各层次 NLP 能力。具体说来,微信 AI 迈出了“三大步”: 以硬件合作为核心的智言小微硬件开放平台 2.0 正式亮相; 公开以对话开放能力为核心的微信对话开放平台; 全面开放以自然语言处理能力为核心的 NLP 基础技术平台。 参考:微信9年:张小龙指明方向,微信AI全面开放NLP能力 今天公开课上隆重介绍了...

素质云笔记 1万+

地图美化器之多种方式生成SLD样式文件

本文即重点讲解在开发过程中,如何使用多方式来生成SLD样式文件。文章首先介绍Java中来使用代码进行编程式生成,然后介绍如何基于SLD的模板文件进行生成,其次介绍基于桌面生成工具SLDEditor和QQis来进行样式生成,最后介绍如何利用GeoServer来进行样式生成。

夜郎King的博客 8934

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

JavaWeb和WebGIS学习笔记(三)——GeoServer 发布shp数据地图

前言:GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过 GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。因此运行GeoServer服务的前提是配置好Java环境。本文将GeoServer部署在Tomcat服务器上。 关于Tomcat服务器的部署,可以参考...

df1445的博客 4095

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

JavaWeb与WebGIS实战指南(四)——利用uDig实现地图样式定制与多图层动态叠加

本文是JavaWeb与WebGIS实战系列的第四篇,重点介绍如何利用开源GIS软件uDig进行地图样式定制与多图层动态叠加。文章详细讲解了uDig的安装、数据加载、可视化SLD样式设计(包括专题图制作与中文标注设置),以及如何将生成的样式应用到GeoServer并解决常见的中文乱码问题。最后,探讨了通过WMS参数和图层组实现多图层高效叠加的方法,为构建专业美观的WebGIS地图提供完整工作流。

weixin_29260291的博客 212

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

JavaWeb与WebGIS实战指南(四)——利用uDig定制地图样式及多图层融合技巧

本文是JavaWeb与WebGIS实战指南系列第四篇,重点讲解如何利用开源桌面GIS软件uDig定制地图样式,实现从基础数据到美观专题地图的转变。文章详细介绍了uDig的快速上手、样式编辑器(Style Editor)的核心功能,以及如何将设计好的SLD样式发布到GeoServer,并分享了多图层融合的实用技巧,帮助开发者打造信息丰富、视觉友好的WebGIS应用。

weixin_29215815的博客 387

JavaWeb和WebGIS学习笔记(五)——使用OpenLayers显示地图

JavaWeb和WebGIS学习笔记(五)——使用openlayers显示地图 系列链接: Java web与web gis学习笔记(一)——Tomcat环境搭建 Java web与web gis学习笔记(二)——百度地图API调用 JavaWeb和WebGIS学习笔记(三)——GeoServer 发布shp数据地图 JavaWeb和WebGIS学习笔记(四)——使用uDig美化地图,并叠加显示多...

df1445的博客 2170

Geoserver入门操作系列之二:创建图层样式

接上一篇,地图服务发布完成后,如果不进行样式调试,那么地图看上去杂乱无章,毫无美感可言。因此,我们通过样式文件的设置,来美化地图。 geoserver中标准的样式文件为.sld文件,该文件是文本文件,语法规则遵循xml语法规范。样式这一块的内容,比较大。一篇说不完,在后面会花时候,单独来写。 先来介绍下geoserver中样式的相关操作。 一、添加新样式 1、样式-&gt;添加新样式 2、在ge...

此爱如少年 3896

对shp文件进行样式的设置

回归更新,最近终于弄完地图的一个阶段了! 上一篇中讲了图层组的发布与管理,但是最后的效果并不是我们想要的,想要的效果是(国家的图层先显示,然后放大看的时候,要显示省的图层,依次是市、县,别的图层要隐藏),但是上期只是叠加在了一起,没有实现隐藏的效果,这篇讲如何给每个shp文件设置style,来实现我们想要的效果!!! 这次要使用到的工具为udig 首先还是百度的介绍 uDig是一个 open source (EPL and BSD) 桌面应用程序框架,构建在Eclipse RCP和GeoTools(一个开

开心最重要 1487

java openmap gis_JavaWeb和WebGIS学习笔记(五)——使用OpenLayers显示地图

前言:在上一篇博客JavaWeb和WebGIS学习笔记(四)——使用uDig美化地图,并叠加显示多个图层中,我们使用Layer Preview功能,通过GeoServer自带的OpenLayer预览到了我们发布的地图。预览时的url通常是很长一串字符。这种方式虽然也能够进行访问,但预览的URL包含了大量请求参数,直接提供这样一个URL链接既不方便访问,也有碍观瞻。因此,我们何不自己使用OpenLa...

weixin_29530803的博客 368
下一篇: 【模板】最短路径之Dijkstra算法
coderwait
博客等级 码龄9年 20粉丝 210原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值