正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史记录

« 前一个 版本 2 当前 »

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

udig工具

udig使用

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

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

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

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

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

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

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

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

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

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

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

geoserver 设置style

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

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

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

选择对应的Style file。

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

点击Publishing。

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

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

后续拓展:


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

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

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

关于铁路图层。铁路图层(线类型)实际上是三个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>



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


关于高速公路图层。

①参考的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>


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

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

  • 无标签