geoserver代码生产图层组

1、why?

当geoserver上传了多个数据生成多个图层时,想要在发布时将所有相关图层合并为图层组时,通过web界面一个一个选择图层就异常痛苦了。

2、How?

geoserver提供了API可以通过代码实现批量上传,本文采用python来实现。

本文测试环境:

geoserver 2.13.2

python 3.7

首先,安装python第三方库gsconfg-py3(对应python3版本)

安装以后,python代码如下,实现了将所有dem的图层(接《geoserver批量上传数据》创建的图层)创建为一个图层组。运行完成后可在web界面再做调整。

from geoserver.catalog import Catalog

geourl = "http://192.168.1.200:5433/geoserver/rest/"  # the url of geoserver
geocat = Catalog(geourl)  # create a Catalog object
workspace = geocat.get_workspace("Global")  # workspace name
layers = geocat.get_layers()
sytle = "dem"
syls = []
lys = []
for layer in layers:
    if layer.name.endswith('_dem.tif'):
        lys.append(layer.name)
        syls.append(sytle)
layersgroup = geocat.create_layergroup('test', lys, syls, None, workspace.name)
geocat.save(layersgroup, content_type="application/xml")

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值