【Geoserver】使用GeoServer-Manager接口发布/取消发布WMS服务

文章目录

  • 一、什么是GeoServer-Manager?
  • 二、GeoServer-Manager基本使用方法——发布/取消发布wms服务
    • 1.Maven引用
    • 2.本地shp发布wms
    • 3.取消发布wms


一、什么是GeoServer-Manager?

Geoserver-Manager是Geosolution公司基于Geoserver原生API封装的一套与Geoserver交互的REST接口,相比于原生Geoserver API,使用更加简单。GitHub。

二、GeoServer-Manager基本使用方法——发布/取消发布wms服务

1.Maven引用

在maven中引入Geoserver-Manager依赖:

        <dependency>
            <groupId>com.github.dov-vlaanderen</groupId>
            <artifactId>geoserver-manager</artifactId>
            <version>1.8.5</version>
        </dependency>

2.本地shp发布wms


	import it.geosolutions.geoserver.rest.GeoServerRESTPublisher;

    /**
     * 发布本地数据
     *
     * @param workspace   工作空间
     * @param storename   数据存储名称
     * @param datasetname 数据集(图层)名称
     * @param zipFile 本地shp文件(zip压缩包)
     * @return
     */
    public boolean wmsPublish(String workspace, String storename, String datasetname, File zipFile) {
        boolean isPublished = false;
        //初始化GeoServerRESTPublisher对象,初始化的参数分别为geoserver的url,用户名,密码
        GeoServerRESTPublisher publisher =
                new GeoServerRESTPublisher("http://127.0.0.1:8080/geoserver", "admin", "geoserver");
        try {
        //shp文件发布wms
            isPublished = publisher.publishShp(workspace, storename, datasetname, zipFile);
        } catch (IOException e) {
            log.error("geoserver publish error!");
            return false;
        }
        return isPublished;
    }

这里一定要注意,这个接口不会自动创建工作空间,所以一定要传入一个正确的workspace参数。

3.取消发布wms

    /**
     * 删除发布的wms服务
     *
     * @param workspace 工作空间
     * @param storename 数据存储名称
     * @param layerName 图层名称
     * @return
     */
    public boolean unpublishWms(String workspace, String storename, String layerName) {
        GeoServerRESTPublisher publisher =
                new GeoServerRESTPublisher("http://127.0.0.1:8080/geoserver", "admin", "geoserver");
        return publisher.unpublishFeatureType(workspace, storename, layerName);
    }

你可能感兴趣的:(Geoserver,java,GIS,Geoserver)