org.geotools.map
Class WMSLayer

Object
  extended by Layer
      extended by StyleLayer
          extended by RasterLayer
              extended by GridReaderLayer
                  extended by WMSLayer

public class WMSLayer
extends GridReaderLayer

Wraps a WMS layer into a MapLayer 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

Field Summary
 
Fields inherited from class GridReaderLayer
params, reader
 
Fields inherited from class RasterLayer
source
 
Fields inherited from class StyleLayer
style
 
Fields inherited from class Layer
listenerList, LOGGER, selected, title, userData, visible
 
Constructor Summary
WMSLayer(WebMapServer wms, Layer layer)
          Builds a new WMS layer
 
Method Summary
 void addLayer(Layer layer)
          Allows to add another WMS layer into the GetMap requests
 ReferencedEnvelope getBounds()
          The bounds of the Layer content (if known).
 CoordinateReferenceSystem getCoordinateReferenceSystem()
          Returns the CRS used to make requests to the remote WMS
 InputStream getFeatureInfo(DirectPosition2D pos, String infoFormat, int featureCount)
          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)
 InputStream getFeatureInfo(ReferencedEnvelope bbox, int width, int height, int x, int y, String infoFormat, int featureCount)
          Allows to run a standalone GetFeatureInfo request, without the need to have previously run a GetMap request on this layer.
 String getFeatureInfoAsText(DirectPosition2D pos, int featureCount)
          Retrieves the feature info as text (assuming "text/plain" is a supported feature info format)
 GetMapRequest getLastGetMap()
          Returns last GetMap request performed by this layer
 WMSCoverageReader getReader()
          Reader used for efficient access to raster content.
 WebMapServer getWebMapServer()
          Returns the WebMapServer used by this layer
 List<Layer> getWMSLayers()
          Returns the WMS Layer used by this layer
 boolean isNativelySupported(CoordinateReferenceSystem crs)
          Returns true if the specified CRS can be used directly to perform WMS requests.
 
Methods inherited from class GridReaderLayer
dispose, getParams, toFeatureCollection
 
Methods inherited from class RasterLayer
getFeatureSource
 
Methods inherited from class StyleLayer
getStyle, setStyle
 
Methods inherited from class Layer
addMapLayerListener, connectDataListener, finalize, fireMapLayerListenerLayerChanged, fireMapLayerListenerLayerDeselected, fireMapLayerListenerLayerHidden, fireMapLayerListenerLayerPreDispose, fireMapLayerListenerLayerSelected, fireMapLayerListenerLayerShown, getQuery, getTitle, getUserData, isSelected, isVisible, preDispose, removeMapLayerListener, setSelected, setTitle, setVisible, toString
 
Methods inherited from class Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

WMSLayer

public WMSLayer(WebMapServer wms,
                Layer layer)
Builds a new WMS layer

Parameters:
wms -
layer -
Method Detail

getReader

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

Overrides:
getReader in class GridReaderLayer
Returns:

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(DirectPosition2D 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
Returns:
Throws:
IOException

getFeatureInfo

public InputStream getFeatureInfo(DirectPosition2D 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
Returns:
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:
pos -
infoFormat - The INFO_FORMAT parameter in the GetFeatureInfo request
Returns:
Throws:
IOException

getWebMapServer

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

Returns:

getWMSLayers

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

Returns:

getCoordinateReferenceSystem

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

Returns:

getLastGetMap

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

Returns:

addLayer

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

Parameters:
layer -

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

Parameters:
crs -
Returns:


Copyright © 1996-2014 Geotools. All Rights Reserved.