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

相关文章

MySQL使用mysqldump导出数据

mysql mysqldump只导出表结构或只导出数据的实现方法 备份数据库: #mysqldump 数据库名 >数据库备份名 #mysqldump -A -u用户名 -p密码 数据库名>数据库备份名 #mysqldump -d -A --add-drop-table -uroot -p >xxx.sql 1.导出结构不导出数据 mysqldump --opt -d 数据库名 -u

Python脚本:对文件进行批量重命名

字符替换:批量对文件名中指定字符进行替换添加前缀:批量向原文件名添加前缀添加后缀:批量向原文件名添加后缀 import osdef Rename_CharReplace():#对文件名中某字符进行替换(已完结)re_dir = os.getcwd()re_list = os.listdir(re_dir)original_char = input('请输入你要替换的字符:')replace_ch

Python脚本:批量解压RAR文件

所需模块: os.getcwd() #获取脚本文件路径os.system() #执行系统命令 import os#source_dir = input("Please input in source_dir:")#unzip_dir = input("Please input in unzip_dir:") source_dir = os.

一步一步将PlantUML类图导出为自定义格式的XMI文件

一步一步将PlantUML类图导出为自定义格式的XMI文件 说明: 首次发表日期:2024-09-08PlantUML官网: https://plantuml.com/zh/PlantUML命令行文档: https://plantuml.com/zh/command-line#6a26f548831e6a8cPlantUML XMI文档: https://plantuml.com/zh/xmi

vcpkg子包路径批量获取

获取vcpkg 子包的路径,并拼接为set(CMAKE_PREFIX_PATH “拼接路径” ) import osdef find_directories_with_subdirs(root_dir):# 构建根目录下的 "packages" 文件夹路径root_packages_dir = os.path.join(root_dir, "packages")# 如果 "packages"

Python批量读取身份证信息录入系统和重命名

前言 大家好, 如果你对自动化处理身份证图片感兴趣,可以尝试以下操作:从身份证图片中快速提取信息,填入表格并提交到网页系统。如果你无法完成这个任务,我们将在“Python自动化办公2.0”课程中详细讲解实现整个过程。 实现过程概述: 模块与功能: re 模块:用于从 OCR 识别出的文本中提取所需的信息。 日期模块:计算年龄。 pandas:处理和操作表格数据。 PaddleOCR:百度的

SpringBoot中利用EasyExcel+aop实现一个通用Excel导出功能

一、结果展示 主要功能:可以根据前端传递的参数,导出指定列、指定行 1.1 案例一 前端页面 传递参数 {"excelName": "导出用户信息1725738666946","sheetName": "导出用户信息","fieldList": [{"fieldName": "userId","fieldDesc": "用户id"},{"fieldName": "age","fieldDe

分享MSSQL、MySql、Oracle的大数据批量导入方法及编程手法细节

1:MSSQL SQL语法篇: BULK INSERT      [ database_name . [ schema_name ] . | schema_name . ] [ table_name | view_name ]         FROM 'data_file'        [ WITH       (      [ [ , ] BATCHSIZE = batch_siz

C语言批量数据到动态二维数组

上一篇文章将文件读取放到静态创建的二维数组中,但是结合网络上感觉到今天的DT时代,这样批量大量读取一个上百行的数据,分配的内存是否可能因为大量的数据而产生溢出呢,最近一直研究里malloc函数,通过它来动态建立所需的二维数组,因此,通过文件操作和动态创建二维数组结合起来,将大量的数据动态的放入矩阵中,不知道这样的思想是否正确,下午把程序运行出来了,将程序贴上来,欢迎大家一起探讨:对于有规律的大数据

Mybatis Plus快速重构真批量sql入库操作

Mybatis快速重构真批量sql入库操作 基本思路 重构mybatis默认方法saveBatch和saveOrUpdateBatch的实现 基本步骤 真批量保存实现类InsertBatchMethod真批量更新实现类MysqlInsertOrUpdateBath注册InsertBatchMethod和MysqlInsertOrUpdateBath到EasySqlInjector注册Eas