java代码,通过geoserver-manager,与geoserver交互

本文介绍了如何在SpringBoot项目中使用geoserver-manager库,通过Java代码实现与GeoServer的交互,包括引入Maven依赖和编写测试代码的详细步骤。
摘要由CSDN通过智能技术生成

1、前言

springboot项目,引入geoserver-manager,通过java代码,与geoserver交互

2、引入maven依赖

<dependency>
    <groupId>nl.pdok</groupId>
    <artifactId>geoserver-manager</artifactId>
    <version>1.7.0-pdok2</version>
</dependency>

3、测试代码

package com.example.demo;

import it.geosolutions.geoserver.rest.GeoServerRESTManager;
import it.geosolutions.geoserver.rest.GeoServerRESTPublisher;
import it.geosolutions.geoserver.rest.decoder.RESTDataStore;
import it.geosolutions.geoserver.rest.encoder.GSResourceEncoder;

import java.io.File;
import java.net.URL;
import java.util.List;

/**
 * 测试,通过geoserver-manager与geoserver交互
 * @author liushengbing
 * @date 2021/9/7 9:58
 */
public class GeoServerManagerDemo {

    public static String url = "http://127.0.0.1:8080/geoserver";// geoserver 访问地址
    public static String 
使用 geoserver-manager 发布图层并进行 CQL 过滤的步骤如下: 1. 首先,需要在 pom.xml 文件中添加 geoserver-manager 的依赖: ```xml <dependency> <groupId>org.geoserver</groupId> <artifactId>gs-manager</artifactId> <version>2.16.1</version> </dependency> ``` 2. 创建一个 GeoserverRESTManager 对象,并设置 Geoserver 的基本信息:URL、用户名和密码。 ```java GeoserverRESTManager manager = new GeoserverRESTManager("http://localhost:8080/geoserver", "admin", "geoserver"); ``` 3. 获取一个 GeoserverWorkspace 对象,用于发布图层。 ```java GeoserverWorkspace workspace = manager.getWorkspace("workspace_name"); ``` 4. 创建一个 GeoserverDataStore 对象,用于发布数据源和图层。在创建数据源时,可以设置 CQL 过滤器。 ```java // 创建 PostGIS 数据源 PostGISDataStoreEncoder encoder = new PostGISDataStoreEncoder(); encoder.setHost("localhost"); encoder.setPort(5432); encoder.setDatabase("database_name"); encoder.setUser("user_name"); encoder.setPassword("password"); encoder.setSchema("public"); encoder.setExposePrimaryKeys(true); encoder.setLooseBbox(true); encoder.setEstimatedExtents(true); encoder.setValidateConnections(true); encoder.setMaxConnections(10); encoder.setMinConnections(1); encoder.setConnectionTimeout(20); encoder.setMaxPreparedStatements(20); PostGISDataStore dataStore = workspace.createDatastore("datastore_name", encoder); // 设置 CQL 过滤器 String cqlFilter = "property_name='property_value'"; dataStore.setDefaultCQLFilter(cqlFilter); ``` 5. 创建一个 GeoserverFeatureType 对象,并设置图层的基本信息:名称、数据源、几何类型等。 ```java GeoserverFeatureType featureType = dataStore.createFeatureType("layer_name", "the_geom", "EPSG:4326"); ``` 6. 发布图层。 ```java dataStore.publishFeatureType(featureType); ``` 完成上述步骤后,就可以成功发布一个带有 CQL 过滤器的图层了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值