获取服务级元数据信息 |
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