QGIS批量导出sld

2023-10-12 18:10
文章标签 qgis 导出 批量 sld

本文主要是介绍QGIS批量导出sld,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作为一名gis工程师,经常会发布一些地图服务,尤其开源的geoserver经常会被用到,我们在发布一些矢量图层时候往往需要配置对应的sytle,通常都是通过在qgis一个一个图层配好样式一个一个导出sld再到geoserver发布,数量少还能接受,数量多的话就比较麻烦,所以需要研究批量导出的方法。

经过搜索查证没有直接导出sld的工具,相关插件Bulk vector export as SLD and GeoJson有导出sld的功能,但是和导出geojson捆绑在一起而且导出的sld名称为图层id名称不对。

经过分析qgispython控制台通过调用pyqgisapi的qgis.core.QgsMapLayer.saveSldStyle()函数可实现图层导出sld,在结合python遍历功能即可实现qgis工程批量导出sld样式文件。

相关代码如下:

#引用需要的模块
from qgis.core import *
import os
#导出的位置
nsldPath = r'C:\Users\Administrator\Desktop\sld'
#获取qgis图层
layers = qgis.utils.iface.mapCanvas().layers()
#遍历图层
for layer in reversed(layers):#获取图层名称nm = str(layer.name())#导出的sld路径nsld = nsldPath +'\\' + nm + '.sld'#导出的sldqgis.core.QgsMapLayer.saveSldStyle(layer,nsld)

其实通过qgispython控制台可以实现很多qgis工具箱里没有的功能,也能实现很多批量操作的功能来提高我们的工作效率,这就需要我们慢慢发现经常查看帮助文档和不断研究了。

Qgispython控制台帮助(3.22):

https://docs.qgis.org/3.22/zh-Hans/docs/user_manual/plugins/python_console.html

pyqgisapi帮助(3.22):

https://qgis.org/pyqgis/3.22/

pyqgis手册(3.22):

https://docs.qgis.org/3.22/en/docs/pyqgis_developer_cookbook/index.html

这篇关于QGIS批量导出sld的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/197560

相关文章

使用EasyPoi快速导出Word文档功能的实现步骤

《使用EasyPoi快速导出Word文档功能的实现步骤》EasyPoi是一个基于ApachePOI的开源Java工具库,旨在简化Excel和Word文档的操作,本文将详细介绍如何使用EasyPoi快速... 目录一、准备工作1、引入依赖二、准备好一个word模版文件三、编写导出方法的工具类四、在Export

前端导出Excel文件出现乱码或文件损坏问题的解决办法

《前端导出Excel文件出现乱码或文件损坏问题的解决办法》在现代网页应用程序中,前端有时需要与后端进行数据交互,包括下载文件,:本文主要介绍前端导出Excel文件出现乱码或文件损坏问题的解决办法,... 目录1. 检查后端返回的数据格式2. 前端正确处理二进制数据方案 1:直接下载(推荐)方案 2:手动构造

Ubuntu向多台主机批量传输文件的流程步骤

《Ubuntu向多台主机批量传输文件的流程步骤》:本文主要介绍在Ubuntu中批量传输文件到多台主机的方法,需确保主机互通、用户名密码统一及端口开放,通过安装sshpass工具,准备包含目标主机信... 目录Ubuntu 向多台主机批量传输文件1.安装 sshpass2.准备主机列表文件3.创建一个批处理脚

MySQL批量替换数据库字符集的实用方法(附详细代码)

《MySQL批量替换数据库字符集的实用方法(附详细代码)》当需要修改数据库编码和字符集时,通常需要对其下属的所有表及表中所有字段进行修改,下面:本文主要介绍MySQL批量替换数据库字符集的实用方法... 目录前言为什么要批量修改字符集?整体脚本脚本逻辑解析1. 设置目标参数2. 生成修改表默认字符集的语句3

JAVA实现亿级千万级数据顺序导出的示例代码

《JAVA实现亿级千万级数据顺序导出的示例代码》本文主要介绍了JAVA实现亿级千万级数据顺序导出的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 前提:主要考虑控制内存占用空间,避免出现同时导出,导致主程序OOM问题。实现思路:A.启用线程池

springboot集成easypoi导出word换行处理过程

《springboot集成easypoi导出word换行处理过程》SpringBoot集成Easypoi导出Word时,换行符n失效显示为空格,解决方法包括生成段落或替换模板中n为回车,同时需确... 目录项目场景问题描述解决方案第一种:生成段落的方式第二种:替换模板的情况,换行符替换成回车总结项目场景s

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结