软件介绍

uDig是一个开源的桌面GIS软件,可以进行shp与栅格数据地图文件的编辑和查看,对OpenGIS标准,关于互联网GIS、网络地图服务器和网络功能服务器有特别的加强。通常和GeoServer一起使用,uDig配置的地图文件样式sld绝大多数能在geoserver中完全发布使用。

GeoServer对SLD介绍:http://docs.geoserver.org/stable/en/user/styling/index.html。

udig各个版本差异很大。本文使用的版本是uDig1.5。

本文主要讲述uidg三个方面的内容:1、uDig配图(重点);2、GeoServer添加样式文件;3、uDig报错处理。

一: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。

强烈建议:可以使用这里Theme主题,但是尽量不要进行修改。可能这里不成熟,在修改过程中容易出现bug。报错大意是解析UTF-8出错,个人认为是由于shapefile采用的是gbk编码方式,到udig里面软件不成熟,所以很容易出错,当然进行其他操作时也会出现此类错误,只不过theme出错概率高。

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

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

5.1、border设置:此处将default rule 的宽度设置为1,颜色设置为黄色。

border选择页面其它参数介绍:

grephics:可以添加其他图形,使图片按线路径进行渲染,即每隔图片长度出现一个图片。注意:使用外部图片路径很可能使软件报错,为uDig软件bug。

dash:断点距离例如:5。

dash offset为断点偏移量(备注如果第一次设置没有效果。需要导入一个具有断点效果SLD文件即可或者在右边XML粘贴断点效果的  XML。最后附有铁路断点效果)。

这些参数大家自己修改后点击应用就能明白是什么意思,此处不做过多阐述,而且这些参数不需要做过多修改,保持默认值就好。

5.2、标注设置:显示文字是中文时一定要将font中set font字体选择为中文字体,如宋体,华文新魏等,并将“脚本(R)”修改为中文GB2312。

label选择页其它参数介绍:

max displacement pixels:指文字间距离越近而忽略显示部分文字信息.值越大忽略显示效果越低。例如20

perpengicular offset:指文字显示中心线距离线文字的像素距离,0表示标注在线上。前提是 follow line为false,即文字是否跟随线走向。

follow line为false:即文字是否跟随线走向。

auto wrap pixels:即当文字长度超过该像素后就换行,但是换行对中文无效。而且显示的行数最大为2。

这些参数大家自己修改后点击应用就能明白是什么意思,此处不做过多阐述。其它参数不需要做过多修改,保持默认值就好。

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

此为配置线图层基本方法,可以具体根据自己需要进行修改和丰富样式,这里不多做介绍;配置点状和面状图层会多一个fill填充属性,设置也基本类似。此处附上我用uDig配置的安县地图全图及局部图,给大家一个直观效果感受。

二、GeoServer添加style:我们在发布geoserver服务时只需要其XML即可,将xml文件复制到style文件中。注意:在把XML文件复制到geoserver中时要将编码方式修改“GB2312”。

剩下的工作就是应用style,发布服务了,此处不再多做阐述。

三、错误处理:

当在配图过程中报UTF-8出错或不能打开Change Style等其它问题的时候,一般情况下的结局方案是:新建一个Project,在新的Project中进行操作,或者直接删除Project所在的文件夹重启重做即可,Project默认文件夹为:C:\Users\Administrator\udig。

------欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/tysutopia/p/4431668.html

uDig配图与GeoServer添加Style的更多相关文章

  1. 原生js动态添加style,添加样式

    原生js动态添加style,添加样式 第一种 var style="[assign-url='"+str+"']{display:initial}"; var ...

  2. Visual Studio Code 配置 EasyLESS,如果想用less,但又不想在组件中直接添加 style 时可以参考

    在用 vue 画页面时,如果想用less,但又不想在组件中直接添加 style ,可以使用 vs code 的插件:EasyLess EasyLess 安装好后必须在 setting.json 中对它 ...

  3. vue 动态添加 <style> 样式 vue动态添加 绑定自定义字体样式

    created(){ //动态添加自定义字体样式 let style = document.createElement('style'); style.type = "text/css&qu ...

  4. geoserver 添加图层数据

    1.添加shapefile文件 首先到http://www2.census.gov/geo/tiger/TIGER2011/CONCITY/上下载名称为tl_2011_47_concity的shape ...

  5. ckeditor源码编辑模式,添加style、javascript内容丢失的解决

    我使用ckeditor 我在编辑的使用源码编辑,保存内容包含javascript.style标签的时候,数据库中有javascript.style标签 , 输入到页面也可以执行,但是我再次编辑的时候就 ...

  6. Geoserver设置style

    1 背景 我们在ArcMap中可以直接通过symbol功能对图层进行定制化配图.但是,如果我们将配好图的shp图层在GeoServer中发布时,会发现图层样式完全丢失了.其实原因很简单,用ArcMap ...

  7. wpf ListBox 双击事件时在子项添加Style 确保选中

    <ListBox ItemTemplate="{StaticResource CardPictureTemplate}" VirtualizingPanel.CacheLen ...

  8. PE添加Style

       1. <style id="NumberStyle"> <setting> <param name="option"> ...

  9. 为控件动态添加Style

    此文可解决:  重写控件时,给控件加入子控件或父控件的样式切换问题. 很灵活的可以根据不同内容显示不同样式 子控件作用在: <DataTemplate x:Key="ColmunHea ...

随机推荐

  1. Win10重命名文件夹导致资源管理器卡顿的解决办法

    我本机使用的是 Win10 1607,不清楚是因为什么原因导致重命名文件夹时资源管理器会被卡死,找了很长时间终于找到了解决办法,现在我把步骤粘出来以便后续遇到相同问题的朋友能及时解决. 其实操作很简单 ...

  2. 在采用vue-cli Post Get

    需要依赖插件 vue-resource npm install vue-resource --save https://cn.vuejs.org/v2/cookbook/using-axios-to- ...

  3. windows 命令行中使用winrar

    加入环境变量即可 我的电脑右键属性->高级->环境变量->系统变量->编辑 变量名:path 变量值:C:/Program Files/WinRAR; --变量值为WinRAR ...

  4. python 获取当前时间戳

    #!/usr/bin/python # -*- coding: UTF- -*- import time; # 引入time模块 ticks = time.time() print("当前时 ...

  5. myEclipse 下配置多个Tomcat

    1.进入perfomance 2. 进入server  右键点击configure server connector 3. 切换到 “Arguments” 面板,这里有 一个启动参数,就是修改一下路径 ...

  6. MongoDB(课时11 嵌套集合)

    3.4.2.6 嵌套集合运算 MongoDB数据库里每个集合数据可以继续保存其它的集合数据.例如:有些学生信息中需要保存家长信息. 范例: 增加数据 db.students.insert({" ...

  7. JAVA反射会降低你的程序性能吗?

    原文出处 早两天写了<从把三千行代码重构成15行代码谈起>这篇文章,看到评论中有一些同学的回复还是在质疑反射的性能,好像程序用上了反射,就像开上了拖拉机似的.本来我觉得这个话题没有什么好讨 ...

  8. English trip -- VC(情景课)9 B Outside chores 室外家务

    Vocabulary focus 核心词汇 cutting the grass 修剪草坪 getting the mail  收到邮件 taking out the trash  把垃圾带出去 wal ...

  9. Spring Cloud 学习网址

    1. https://blog.csdn.net/forezp/article/details/70148833  史上最简单的 SpringCloud 教程 (非常适合新手快速上手教程)2.http ...

  10. Java基础-IO流(13)

    IO流用来处理设备之间的数据传输.可以实现文件复制,上传文件和下载文件. Jdk提供的流继承了四大类:InputStream(字节输入流),OutputStream(字节输出流),Reader(字符输 ...