Class WMSLayer


public class WMSLayer extends GridReaderLayer
Wraps a WMS layer into a Layer for interactive rendering usage TODO: expose a GetFeatureInfo that returns a feature collection TODO: expose the list of named styles and allow choosing which style to use
Author:
Andrea Aime - OpenGeo
  • Constructor Details

  • Method Details

    • getReader

      public WMSCoverageReader getReader()
      Description copied from class: GridReaderLayer
      Reader used for efficient access to raster content.
      Overrides:
      getReader in class GridReaderLayer
    • getBounds

      public ReferencedEnvelope getBounds()
      Description copied from class: Layer
      The bounds of the Layer content (if known). The bounds can be used to determine if any of the layers content is "on screen" when rendering the map; however often it is expensive to calculate a layers bounds up front so we are allowing this value to be optional.

      The returned bounds are a ReferencedEnvelope using the same CoordinateReferenceSystem as the layers contents.

      Overrides:
      getBounds in class GridReaderLayer
      Returns:
      layer bounds, null if unknown
    • getFeatureInfoAsText

      public String getFeatureInfoAsText(Position2D pos, int featureCount) throws IOException
      Retrieves the feature info as text (assuming "text/plain" is a supported feature info format)
      Parameters:
      pos - the position to be checked, in real world coordinates
      Throws:
      IOException
    • getFeatureInfo

      public InputStream getFeatureInfo(Position2D pos, String infoFormat, int featureCount) throws IOException
      Retrieves the feature info as a generic input stream, it's the duty of the caller to interpret the contents and ensure the stream is closed feature info format)
      Parameters:
      pos - the position to be checked, in real world coordinates
      infoFormat - The INFO_FORMAT parameter in the GetFeatureInfo request
      Throws:
      IOException
    • getFeatureInfo

      public InputStream getFeatureInfo(ReferencedEnvelope bbox, int width, int height, int x, int y, String infoFormat, int featureCount) throws IOException
      Allows to run a standalone GetFeatureInfo request, without the need to have previously run a GetMap request on this layer. Mostly useful for stateless users that rebuild the map context for each rendering operation (e.g., GeoServer)
      Parameters:
      infoFormat - The INFO_FORMAT parameter in the GetFeatureInfo request
      Throws:
      IOException
    • getWebMapServer

      public WebMapServer getWebMapServer()
      Returns the WebMapServer used by this layer
    • getWMSLayers

      public List<Layer> getWMSLayers()
      Returns the WMS Layers used by this layer
    • getWMSStyles

      public List<String> getWMSStyles()
      return the names of the styles used by this layer.
    • getCoordinateReferenceSystem

      public CoordinateReferenceSystem getCoordinateReferenceSystem()
      Returns the CRS used to make requests to the remote WMS
    • getLastGetMap

      public GetMapRequest getLastGetMap()
      Returns last GetMap request performed by this layer
    • addLayer

      public void addLayer(Layer layer)
      Allows to add another WMS layer into the GetMap requests
    • addLayer

      public void addLayer(Layer layer, String style)
      Allows to add another WMS layer into the GetMap requests
    • isNativelySupported

      public boolean isNativelySupported(CoordinateReferenceSystem crs)
      Returns true if the specified CRS can be used directly to perform WMS requests. Natively supported crs will provide the best rendering quality as no client side reprojection is necessary, the image coming from the WMS server will be used as-is