com.supermap.services.wms

类 DefaultWMS

  • java.lang.Object
    • com.supermap.services.wms.DefaultWMS
  • 所有已实现的接口:
    WMS


    public class DefaultWMS
    extends java.lang.Object
    implements WMS
    

    WMS 服务接口默认实现类。

    基于 OGC(Open Geospatial Consortium,开放地理信息联盟)制定的 WMS 1.1.1 规范实现。

    • 构造器详细资料

      • DefaultWMS

        public DefaultWMS(Map mapImpl,
                  Image imageImpl,
                  WMSConfig wmsConfig)
                   throws OGCException
        

        根据地图服务组件、地图名称、发布的 WMS 服务的描述信息构建 DefaultWMS 对象。

        参数:
        mapImpl - 地图服务组件。
        wmsConfig - WMS 配置信息。
        抛出:
        OGCException - 当地图名称错误时,抛出该异常。
    • 方法详细资料

      • getCapabilities

        public WMSCapabilities getCapabilities(java.lang.String version)
                                        throws OGCException
        

        获取 WMS 服务级元数据。

        该方法用于获取服务元数据,元数据用于描述服务器信息内容和可接受的请求参数值,是一种机器可读(并适合人阅读)的描述。

        指定者:
        getCapabilities 在接口中 WMS
        参数:
        version - WMS 服务版本号。
        返回:
        WMSCapabilities 对象。
        抛出:
        OGCException - OGC 异常信息。
      • getCapabilitiesHeadInfo

        protected static ServiceDescription getCapabilitiesHeadInfo()
                                                             throws OGCException
        
        获取 Capabilities 中的服务描述信息。
        返回:
        服务描述信息。
        抛出:
        OGCException - OGC 异常信息。
      • getFeatureInfo

        public WMSFeatureInfo[] getFeatureInfo(java.lang.String version,
                                      WMSQueryParameter wmsQueryParam)
                                        throws OGCException
        

        获取地物要素信息。

        该方法用于获取地图上要素的信息,地图是通过 GetMap 操作返回的,因此,要访问 GetFeatureInfo 操作应该先访问 GetMap 操作获取地图,用户在获取的地图上选取一个点(point(i, j))来查询更加丰富的信息。用户可以指定要查询的像素、查询的图层以及返回信息的格式等。

        该操作对于 queryable 属性为“1”的图层有效,对于其他图层客户端不能发送 GetFeatureInfo 操作请求。当 WMS 服务接收到不支持的 GetFeatureInfo 操作请求时,会返回服务异常信息。

        指定者:
        getFeatureInfo 在接口中 WMS
        参数:
        version - WMS 服务版本号。
        wmsQueryParam - WMS 查询参数。
        返回:
        WMSFeatureInfo 数组。
        抛出:
        OGCException - OGC 异常信息。
      • pointPixelToPoint2D

        protected static Point2D pointPixelToPoint2D(Point point,
                                  MapParameter mapParam)
        
        将像素坐标点转换为二维地理坐标点。
        参数:
        point - 像素坐标点。
        mapParam - 地图参数。
        返回:
        二维地理坐标点。
      • getMap

        public byte[] getMap(java.lang.String version,
                    WMSMapParameter wmsMapParam)
                      throws OGCException
        

        获取地图图片的二进制流。

        指定者:
        getMap 在接口中 WMS
        参数:
        version - WMS 服务版本号。
        wmsMapParam - WMS 地图参数。
        返回:
        地图图片的二进制流。
        抛出:
        OGCException - OGC 异常信息。
      • getLegendGraphic

        public byte[] getLegendGraphic(java.lang.String version,
                              WMSMapParameter wmsMapParam)
                                throws MapException
        
        从接口复制的说明: WMS

        获取图例图片的二进制流。

        指定者:
        getLegendGraphic 在接口中 WMS
        参数:
        version - WMS 服务版本号。
        wmsMapParam - WMS 地图参数。
        返回:
        图例图片的二进制流。
        抛出:
        MapException - 异常信息。
      • getBufferedImage

        public java.awt.image.BufferedImage getBufferedImage(java.lang.String imagePath,
                                                    int width,
                                                    int height)
        
      • isLayerExist

        protected boolean isLayerExist(Layer layer,
                           java.lang.String name,
                           java.util.List<Layer> requestedLayer,
                           java.util.List<Layer> layersToSetVisible,
                           java.util.List<Layer> layersVisible)
                                throws OGCException
        
        在图层及其子图层中查找指定名称的图层是否存在,如果存在,则把位置提到最前。并设置找到的图层的visible属性为true
        参数:
        layer -
        name -
        requestedLayer -
        返回:
        抛出:
        OGCException
      • setLayerNamesTransformer

        protected void setLayerNamesTransformer(com.supermap.services.wms.WMSLayerNameTransformer layerNamesTransformer)