com.supermap.services.wms

类 WMSXMLEncoder111

  • 所有已实现的接口:
    WMSXMLEncoder
    直接已知子类:
    WMSXMLEncoder130


    public class WMSXMLEncoder111
    extends AbstractWMSXMLEncoder
    

    WMS 1.1.1 XML 文档编码器。

    将 SuperMap iServer 的 WMS 相关对象转换为符合 OGC(Open Geospatial Consortium,开放地理信息联盟)定义的 WMS 服务 1.1.1 版本的 XML 文档。

    • 构造器详细资料

      • WMSXMLEncoder111

        public WMSXMLEncoder111()
        

        构造函数。

      • WMSXMLEncoder111

        public WMSXMLEncoder111(java.util.Map<java.lang.String,java.lang.String> urls)
        

        根据一系列文档路径构造一个 WMSXMLEncoder111 对象。

        参数:
        urls - 该参数是一个 Map 映射。该映射的 key 值为 CapabilitiesDTDOrXSD、providerUrl、exceptionDTDOrXSD 和 featureDTDOrXSD,键值为对应的文档(URL)地址。
    • 方法详细资料

      • writeRootNode

        protected Node writeRootNode(Node doc)
        

        创建 WMS 1.1.1 Capabilities XML 文档的根节点,即 WMT_MS_Capabilities 节点。

        指定者:
        writeRootNode 在类中 AbstractWMSXMLEncoder
        参数:
        doc - XML 文档根节点,例如“<?xml version="1.0" encoding="UTF-8"?>”
        返回:
        WMS 1.1.1 Capabilities XML 文档的根节点,即 WMT_MS_Capabilities 节点。
      • writeServiceNameNode

        protected void writeServiceNameNode(Node serviceNode)
        

        在 Service 节点下添加 Name 节点。

        Name 节点用于描述服务的名称。Name 节点的值默认为“OGC:WMS”。

        指定者:
        writeServiceNameNode 在类中 AbstractWMSXMLEncoder
        参数:
        serviceNode - Service 节点。
      • writeServiceNode

        protected Node writeServiceNode(Node rootNode,
                            ServiceDescription serviceDescription)
        

        在 WMS 1.1.1 Capabilities XML 文档的根节点下,创建 WMS 1.1.1 Capabilities XML 文档中的 Service 节点。

        参数:
        rootNode - WMS 1.1.1 Capabilities XML 文档的根节点,即 WMT_MS_Capabilities 节点。
        serviceDescription - 服务元数据信息。
        返回:
        Service 节点。
      • writeCapabilitiesNode

        protected Node writeCapabilitiesNode(Node rootNode,
                                 WMSCapabilities wmsCapabilities)
        

        在 WMS 1.1.1 Capabilities XML 文档的根节点下,创建 WMS 1.1.1 Capabilities XML 文档中的 Capability 节点。

        参数:
        rootNode - WMS 1.1.1 Capabilities XML 文档的根节点,即 WMT_MS_Capabilities 节点。
        wmsCapabilities - WMS 元数据信息。
        返回:
        Capability 节点。
      • encode

        public java.lang.String encode(WMSCapabilities wmsCapabilities)
        
        WMSCapabilities 对象构建成 WMS 服务的 Capabilities XML 文档的字符串格式。
        参数:
        wmsCapabilities - WMSCapabilities 对象。
        返回:
        Capabilities XML 文档的 字符串格式。
      • writeLayer

        protected Node writeLayer(Node fatherNode,
                      WMSLayer wmsLayer,
                      Rectangle2D mapBounds,
                      WMSCapabilities wmsCapabilities)
        

        在 Layer 父节点中添加各 Layer 子节点及其他相关节点。

        在 SuperMap iServer 中,一个 Layer 根节点(第一级 Layer 节点)对应一个地图,这个 Layer 根节点下的 Layer 节点表示图层集合(第二级 Layer 节点),第二级 Layer 节点下的 Layer 节点表示图层。

        指定者:
        writeLayer 在类中 AbstractWMSXMLEncoder
        参数:
        fatherNode - Layer 父节点。
        wmsLayer - WMS 图层。
        mapBounds - 地图的地理坐标范围。
        返回:
        Layer 父节点下的第一级 Layer 节点。
      • writeSRSBounds

        protected void writeSRSBounds(Node layerNode,
                          WMSLayer wmsLayer)
        
        写入SRSBounds
      • writeLayerStyle

        protected void writeLayerStyle(Node styleNode,
                           UserStyleElement layerStyle)
        
        设置图层的风格,参考geoServer与官方SLD文档
        指定者:
        writeLayerStyle 在类中 AbstractWMSXMLEncoder
        参数:
        styleNode - Layer 节点。
      • writeCRSNode

        protected void writeCRSNode(Node layerNode,
                        WMSLayer wmsLayer)
        

        在 Layer 节点下添加 SRS 节点。

        SRS 节点的值默认为“EPSG:4326”。

        指定者:
        writeCRSNode 在类中 AbstractWMSXMLEncoder
        参数:
        layerNode - Layer 节点。
        wmsCapabilities -
      • writeScaleDenominator

        protected void writeScaleDenominator(Node layerNode,
                                 WMSLayer wmsLayer)
        
      • writeLatLonBounds

        protected Node writeLatLonBounds(Node layerNode,
                             Rectangle2D layerBounds)
        

        在 Layer 节点下添加 LatLonBoundingBox 节点,并设置该节点的属性。

        参数:
        layerNode - Layer 节点。
        layerBounds -
        layerBounds - 地理坐标范围。
        返回:
        LatLonBoundingBox 节点。
      • writeLatLonBoundsAttribute

        protected void writeLatLonBoundsAttribute(Node node,
                                      Rectangle2D layerBounds)
        

        设置 LatLonBoundingBox 节点的属性值。

        LatLonBoundingBox 节点的属性包括 minx、miny、maxx 和 maxy。

        参数:
        node - LatLonBoundingBox 节点。
        layerBounds, - Rectangle2D mapBounds 地理坐标范围。
      • writerLayers

        protected void writerLayers(Node mapNode,
                        WMSCapabilities wmsCapabilities)
        

        在参数 mapNode 所表示的节点中添加 Layer 节点及其他相关节点。

        参数 mapNode 所表示的节点指的是 Capabilities XML 文档中的第一级 Layer 节点。

        参数:
        mapNode - Capabilities XML 文档中的第一级 Layer 节点。
        wmsCapabilities - WMS 元数据信息。
      • writeCRSNode

        protected void writeCRSNode(Node layerNode,
                        WMSCapabilities wmsCapabilities)
        
        在参数 layerNode 所表示的节点中添加 CRS 节点。
        参数:
        layerNode -
        wmsCapabilities -
      • onlineResourceElement

        protected void onlineResourceElement(Node fatherNode)
        

        设置 OnlineResource 节点。

        包括设置 OnlineResource 节点的父节点:DCPType、HTTP、Get 节点。

        参数:
        fatherNode - OnlineResource 节点的父节点。
      • getBBoxAttributeValue

        protected java.lang.String[] getBBoxAttributeValue(Rectangle2D rect)
        

        获取边界框(地理范围)的值。包括 minx、miny、maxx 和 maxy 的值。

        参数:
        rect - 地理坐标范围。
        返回:
        字符串数组,该数组存储了 minx、miny、maxx 和 maxy 的值。
      • encode

        public java.lang.String encode(WMSFeatureInfo[] featureInfos,
                              java.lang.String format)
        

        WMSFeatureInfo 对象数组构建成 WMS 1.1.1 GetFeatureInfo 操作的响应 XML 文档的字符串格式。

        参数:
        featureInfos - WMSFeatureInfo 对象数组。
        返回:
        GetFeatureInfo 操作的响应 XML 文档的字符串格式。
      • encode

        public java.lang.String encode(OGCException[] exceptions)
                                throws org.w3c.dom.DOMException
        

        OGCException 对象转换成异常信息 XML 文档的字符串格式。

        参数:
        exceptions - OGC 异常对象数组。
        返回:
        异常信息 XML 文档的字符串格式。
        抛出:
        org.w3c.dom.DOMException
      • ensureNoXSS

        protected java.lang.String ensureNoXSS(java.lang.String message)
        
        获取匹配的信息
        参数:
        message - 要匹配的信息
        返回:
      • getVersion

        public java.lang.String getVersion()
        

        获取 WMS 服务的版本号。

        返回:
        返回“1.1.1”。