获取服务级元数据信息

发送反馈


SuperMap iServer 定义了 WMSCapabilities 对象类型,用于存储 WMS 的服务级元数据信息,WMS 接口的 getCapabilities(String version)方法可通过传入 WMS 版本号参数获取到服务级元数据对象。

在 WMSClientSample.java 中添加如下代码,获取 WMS 服务级元数据信息:

package com.supermap.sample;

 

import com.supermap.services.components.spi.ogc.WMS;

import com.supermap.services.components.spi.ogc.WMSCapabilities;

import com.supermap.services.components.spi.ogc.WMSClient;

 

public class WMSClientSample {

 

     // WMS 服务地址

    private static String strURL = "http://localhost:8090/iserver/services/map-china400/wms111/China";

    // 访问 WMS 服务的用户名

    private static String userName = null;

    // 访问的 WMS 服务密码

    private static String password = null;

    // 根据 WMS 地址、用户名和密码构建一个 WMSClient 实例化对象

    private WMS wmsClient = new WMSClient(strURL, userName, password);

    // 获取 WMS 服务级元数据信息

    public WMSCapabilities getCapabilities() {

        WMSCapabilities wmsCapabilities = null;

        String wmsVersion = "1.1.1";

        try {

            wmsCapabilities = wmsClient.getCapabilities(wmsVersion);

        } catch (Exception e) {

            e.printStackTrace();

        }

        return wmsCapabilities;

    }

    public static void main(String[] args) {

        WMSClientSample wmsClientSample = new WMSClientSample();

        // 输出服务标题和地图标题

        WMSCapabilities capabilities = wmsClientSample.getCapabilities();

        String wmsTitle = capabilities.serviceDescription.title;

        String mapTitle = capabilities.mapTitle;

        System.out.println("WMS Title is " + wmsTitle);

        System.out.println("MapTitle is " + mapTitle);

    }

}

在运行 WMSClientSample 之前,需要保证 http://localhost:8090/iserver/services/map-china400/wms111/China 服务已启动。

编译 WMSClientSample 工程之后,右键 WMSClientSample 工程,选择 Run as > Java Application,在控制台会输出如下结果:

WMS Title is SuperMap iServer 发布的 WMS 服务

MapTitle is China