使用qgis生成SLD样式¶
QGIS包括一个复杂的样式编辑器,具有许多地图渲染的可能性。然后,可以将使用qgis生成的样式(有限制)导出到sld,以便与geoserver一起使用。
随着时间的推移,qgis风格的输出能力不断发展,作为参考:
对于矢量数据,qgis导出可由geoserver读取的SLD 1.1样式。为了获得合适的结果,使用qgis 3.0或更高版本,以及geoserver 2.13.x或更高版本非常重要。
栅格数据样式导出是QGIS 3.4.5中的新增功能(撰写本文时尚未发布)。这个新版本导出带有供应商扩展的SLD 1.0样式,以支持最新的Geoserver版本正确支持的对比度拉伸。对于较旧的QGIS版本,使用SLD4Raster插件可以使用有限的导出功能。
对于出口,建议使用 Save As 样式对话框中提供的功能,如本指南下面所示。还有一些插件可以简化导出过程,但它们可能破坏样式,试图使其适应较旧的地理服务器版本(例如,通过简单的文本处理方法将其转换为SLD 1.0),或者完全重写它。
警告
尽管在过去几年中取得了进展,但我们知道,并非所有的QGIS渲染选项都由SLD和/或GeoServer(例如,shapeBurst符号)支持,并且对导出某些零件的支持只是缺失(例如。SLD支持基于表达式的符号,但QGIS不会导出它)。如果你感兴趣,两个项目都欢迎赞助来改善情况。
导出矢量符号¶
这是一个循序渐进的指南来设计一个geoserver演示层, sfdem
.
正常开放 QGIS (最低版本3.0)
载入
states.shp
来自geoserver数据目录的数据集,<GEOSERVER_DATA_DIR>/data/shapefiles/states.shp
双击层以打开 Properties 对话并切换到 Symbology 页。
选择一个 Graduated 渲染,在
PERSONS
列,然后单击 Classify 要生成的按钮 1.5 标准偏差,选择 spectral 色阶,切换模式到 Quantile 最后,单击“:guiabel:`classify`按钮生成5类映射,如图所示。QGIS矢量造型¶
切换到 Labels 页面,选择 Single labels ,用 ``STATE NAME` 属性并选择首选的文本呈现选项,如图所示。
QGIS标签¶
层渲染如下:
QGIS栅格样式¶
回到 Properties 对话框,从 Styles 页面,选择 .
使用另存为导出…¶
选择以SLD格式导出,将文件放在所需位置。
选择导出格式…¶
进入geoserver,创建新样式,使用 Upload a new style 对话框选择导出的文件,然后单击 upload 链接。
正在地理服务器中上载样式…¶
单击guiabel:apply。
改为 Layer preview 选项卡,单击 Preview on Layer 链接以选择
topp:states
验证渲染是否正确。正在地理服务器中预览样式…¶
最终切换到 Publishing 选项卡,搜索
states
,然后选择 Default 或 Associated 复选框发布层以永久使用新样式。正在地理服务器中关联样式…¶
导出栅格符号¶
以下是关于如何在QGIS中导出栅格图层符号以及如何使用生成的SLD在GeoServer中设置图层样式的几个示例。
警告
如上所述,此功能有一些限制:
Hillshading geoserver不完全支持供应商选项,因此无法选择 Band 太阳的位置 (Altitude 和 Azimuth ) Multidirectional 也不支持选项
geoserver无法解释 Color Rendering 选项还没有
这是一个循序渐进的指南来设计一个geoserver演示层, sfdem
.
打开QGIS(最低版本3.4.5)
载入
sfdem.tif
地理服务器数据目录中的栅格,<GEOSERVER_DATA_DIR>/data/sf/sfdem.tif
双击层以打开 Properties 对话并切换到 Symbology 页。
选择一个 Singleband pseudocolor 渲染,生成 Min / Max Value Settings 使用 Mean +/- standard deviation 使用
1.5
标准偏差。生成5个类 Linear 插值图,如图所示。QGIS栅格样式¶
层渲染如下:
QGIS栅格样式¶
返回到层的 Properties 对话 Symbology 页面,在页面底部选择 .
使用另存为导出…¶
选择以SLD格式导出,将文件放在所需位置
选择导出格式…¶
进入geoserver,创建新样式,使用 Upload a new style 对话框选择导出的文件,然后单击 upload 链接。
正在地理服务器中上载样式…¶
单击guiabel:apply`然后更改为 :guilabel:`Layer preview 标签。点击 Preview on Layer 链接以选择
sfdem
验证渲染是否正确。正在地理服务器中预览样式…¶
最后切换到 Publishing 选项卡,搜索
sfdem
图层,然后选择 Default 或 Associated 要发布的复选框sfdem
以新的风格。正在地理服务器中关联样式…¶
下一个示例演示如何设置航空图像的样式。
下载航空图像(例如从 USGS Landsat image archives )如果你还没有。给它起个名字 (
aerial
在本例中)和 save it as GeoTIFFaerial.tiff¶
开放式地理服务器, create a new Store (见 Add a Store ) add a GeoTIFF Raster Data Source 去商店和 connect 给你的
aerial.tif
文件在geoserver中, create a new Layer (见 Add a Layer )选择在上一步中创建的商店
打开QGIS(最低版本3.4.5)
载入
aerial.tif
栅格双击层以打开 Properties 对话并切换到 Symbology 第页
选择一个 Multiband color 渲染,设置 bands (红色波段=波段1(红色),绿色波段=波段2(绿色),蓝色波段=波段3(蓝色)),生成 Min / Max Value Settings 使用
5,0 - 95,0 % range
属于 Cumulative count cut 并选择Stretch to MinMax
作为 Contrast enhancement 选项,如下图所示QGIS层属性-符号学¶
层渲染如下:
QGIS图层绘制¶
Save the Style 作为SLD
进入geoserver,使用生成的sld create a new style ,选择
aerial
穿过 Preview on Layer 链接并验证层是否正确呈现(有关详细信息,请参见上一个示例)地理服务器层渲染¶
终于 Publish 这个
aerial
使用上一个示例中描述的新样式的图层。