版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

整体思路:使用udig工具为文件配色,将配好的xml放入geoserver中发布切片使用

udig工具

udig使用

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

...

Image Added

...

Image Added

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

...

Image Added

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

...

Image Added

...

Image Added

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

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

...

Image Added

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

...

Image Added

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

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

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

...

Image Added

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

...

Image Added

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

...

Image Added

geoserver 设置style

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

...

Image Added

...

Image Added

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

...

Image Added

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

...

Image Added

选择对应的Style file。

...

Image Added

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

...

Image Added

点击Publishing。

...

Image Added

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

...

Image Added

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

...

Image Added

后续拓展:


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

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

Image RemovedImage Added

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

...

Image Added

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

①参考的XML。


  1. <?xml version="1.0" encoding="GB2312"?>

  2. <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">

  3. <sld:UserLayer>

  4. <sld:LayerFeatureConstraints>

  5. <sld:FeatureTypeConstraint/>

  6. </sld:LayerFeatureConstraints>

  7. <sld:UserStyle>

  8. <sld:Name>Default Styler</sld:Name>

  9. <sld:Title/>

  10. <sld:FeatureTypeStyle>

  11. <sld:Name>simple</sld:Name>

  12. <sld:FeatureTypeName>Feature</sld:FeatureTypeName>

  13. <sld:SemanticTypeIdentifier>generic:geometry</sld:SemanticTypeIdentifier>

  14. <sld:SemanticTypeIdentifier>simple</sld:SemanticTypeIdentifier>

  15. <sld:Rule>

  16. <sld:Name>name</sld:Name>

  17. <sld:Title>title</sld:Title>

  18. <sld:Abstract>Abstract</sld:Abstract>

  19. <sld:LineSymbolizer>

  20. <sld:Stroke>

  21. <sld:CssParameter name="stroke">

  22. <ogc:Literal>#666666</ogc:Literal>

  23. </sld:CssParameter>

  24. <sld:CssParameter name="stroke-linecap">

  25. <ogc:Literal>butt</ogc:Literal>

  26. </sld:CssParameter>

  27. <sld:CssParameter name="stroke-linejoin">

  28. <ogc:Literal>miter</ogc:Literal>

  29. </sld:CssParameter>

  30. <sld:CssParameter name="stroke-opacity">

  31. <ogc:Literal>1</ogc:Literal>

  32. </sld:CssParameter>

  33. <sld:CssParameter name="stroke-width">

  34. <ogc:Literal>5</ogc:Literal>

  35. </sld:CssParameter>

  36. <sld:CssParameter name="stroke-dashoffset">

  37. <ogc:Literal>0</ogc:Literal>

  38. </sld:CssParameter>

  39. </sld:Stroke>

  40. </sld:LineSymbolizer>

  41. </sld:Rule>

  42. </sld:FeatureTypeStyle>

  43. <sld:FeatureTypeStyle>

  44. <sld:Name>simple</sld:Name>

  45. <sld:FeatureTypeName>Feature</sld:FeatureTypeName>

  46. <sld:SemanticTypeIdentifier>generic:geometry</sld:SemanticTypeIdentifier>

  47. <sld:SemanticTypeIdentifier>simple</sld:SemanticTypeIdentifier>

  48. <sld:Rule>

  49. <sld:Name>name</sld:Name>

  50. <sld:Title>title</sld:Title>

  51. <sld:Abstract>Abstract</sld:Abstract>

  52. <sld:LineSymbolizer>

  53. <sld:Stroke>

  54. <sld:CssParameter name="stroke">

  55. <ogc:Literal>#FFFFFF</ogc:Literal>

  56. </sld:CssParameter>

  57. <sld:CssParameter name="stroke-linecap">

  58. <ogc:Literal>butt</ogc:Literal>

  59. </sld:CssParameter>

  60. <sld:CssParameter name="stroke-linejoin">

  61. <ogc:Literal>miter</ogc:Literal>

  62. </sld:CssParameter>

  63. <sld:CssParameter name="stroke-opacity">

  64. <ogc:Literal>1</ogc:Literal>

  65. </sld:CssParameter>

  66. <sld:CssParameter name="stroke-width">

  67. <ogc:Literal>3</ogc:Literal>

  68. </sld:CssParameter>

  69. <sld:CssParameter name="stroke-dashoffset">

  70. <ogc:Literal>0</ogc:Literal>

  71. </sld:CssParameter>

  72. </sld:Stroke>

  73. </sld:LineSymbolizer>

  74. </sld:Rule>

  75. </sld:FeatureTypeStyle>

  76. <sld:FeatureTypeStyle>

  77. <sld:Name>simple</sld:Name>

  78. <sld:FeatureTypeName>Feature</sld:FeatureTypeName>

  79. <sld:SemanticTypeIdentifier>generic:geometry</sld:SemanticTypeIdentifier>

  80. <sld:SemanticTypeIdentifier>simple</sld:SemanticTypeIdentifier>

  81. <sld:Rule>

  82. <sld:Name>name</sld:Name>

  83. <sld:Title>title</sld:Title>

  84. <sld:Abstract>Abstract</sld:Abstract>

  85. <sld:LineSymbolizer>

  86. <sld:Stroke>

  87. <sld:CssParameter name="stroke">

  88. <ogc:Literal>#000000</ogc:Literal>

  89. </sld:CssParameter>

  90. <sld:CssParameter name="stroke-linecap">

  91. <ogc:Literal>butt</ogc:Literal>

  92. </sld:CssParameter>

  93. <sld:CssParameter name="stroke-linejoin">

  94. <ogc:Literal>miter</ogc:Literal>

  95. </sld:CssParameter>

  96. <sld:CssParameter name="stroke-opacity">

  97. <ogc:Literal>1</ogc:Literal>

  98. </sld:CssParameter>

  99. <sld:CssParameter name="stroke-width">

  100. <ogc:Literal>3</ogc:Literal>

  101. </sld:CssParameter>

  102. <sld:CssParameter name="stroke-dashoffset">

  103. <ogc:Literal>0</ogc:Literal>

  104. </sld:CssParameter>

  105. <sld:CssParameter name="stroke-dasharray">15.0 15.0 </sld:CssParameter>

  106. </sld:Stroke>

  107. </sld:LineSymbolizer>

  108. </sld:Rule>

  109. </sld:FeatureTypeStyle>

  110. </sld:UserStyle>

  111. </sld:UserLayer>

  112. </sld:StyledLayerDescriptor>



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

...

Image Added


关于高速公路图层。

①参考的XML。


  1. <?xml version="1.0" encoding="GB2312"?>

  2. <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">

  3. <sld:UserLayer>

  4. <sld:LayerFeatureConstraints>

  5. <sld:FeatureTypeConstraint/>

  6. </sld:LayerFeatureConstraints>

  7. <sld:UserStyle>

  8. <sld:Name>Default Styler</sld:Name>

  9. <sld:Title/>

  10. <sld:IsDefault>1</sld:IsDefault>

  11. <sld:FeatureTypeStyle>

  12. <sld:Name>simple</sld:Name>

  13. <sld:FeatureTypeName>Feature</sld:FeatureTypeName>

  14. <sld:SemanticTypeIdentifier>generic:geometry</sld:SemanticTypeIdentifier>

  15. <sld:SemanticTypeIdentifier>simple</sld:SemanticTypeIdentifier>

  16. <sld:Rule>

  17. <sld:Name>name</sld:Name>

  18. <sld:Title>title</sld:Title>

  19. <sld:Abstract>Abstract</sld:Abstract>

  20. <sld:MaxScaleDenominator>1.7976931348623157E308</sld:MaxScaleDenominator>

  21. <sld:LineSymbolizer>

  22. <sld:Stroke>

  23. <sld:CssParameter name="stroke">

  24. <ogc:Literal>#E7AC46</ogc:Literal>

  25. </sld:CssParameter>

  26. <sld:CssParameter name="stroke-linecap">

  27. <ogc:Literal>butt</ogc:Literal>

  28. </sld:CssParameter>

  29. <sld:CssParameter name="stroke-linejoin">

  30. <ogc:Literal>miter</ogc:Literal>

  31. </sld:CssParameter>

  32. <sld:CssParameter name="stroke-opacity">

  33. <ogc:Literal>1.0</ogc:Literal>

  34. </sld:CssParameter>

  35. <sld:CssParameter name="stroke-width">

  36. <ogc:Literal>2.0</ogc:Literal>

  37. </sld:CssParameter>

  38. <sld:CssParameter name="stroke-dashoffset">

  39. <ogc:Literal>0.0</ogc:Literal>

  40. </sld:CssParameter>

  41. </sld:Stroke>

  42. </sld:LineSymbolizer>

  43. </sld:Rule>

  44. </sld:FeatureTypeStyle>

  45. </sld:UserStyle>

  46. </sld:UserLayer>

  47. </sld:StyledLayerDescriptor>


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

...

Image Added

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

Image RemovedImage Added