Class AbstractGetMapRequest

All Implemented Interfaces:
Request, GetMapRequest
Direct Known Subclasses:
WMS1_0_0.GetMapRequest

public abstract class AbstractGetMapRequest extends AbstractWMSRequest implements GetMapRequest
Author:
Richard Gould
  • Constructor Details

    • AbstractGetMapRequest

      public AbstractGetMapRequest(URL onlineResource, Properties properties)
      Constructs a GetMapRequest. The data passed in represents valid values that can be used.
      Parameters:
      onlineResource - the location that the request should be applied to
      properties - pre-set properties to be used. Can be null.
  • Method Details

    • getFinalURL

      public URL getFinalURL()
      Description copied from interface: Request
      Once the properties of the request are configured, this will return the URL that points to the server and contains all of the appropriate name/value parameters.
      Specified by:
      getFinalURL in interface Request
      Overrides:
      getFinalURL in class AbstractRequest
      Returns:
      a URL that can be used to issue the request
      See Also:
      • org.geotools.data.wms.request.Request#getFinalURL()
    • initVersion

      protected abstract void initVersion()
      Description copied from class: AbstractRequest
      Sets up the version number for this request. Typically something like setProperty("VERSION", "1.1.1");
      Specified by:
      initVersion in class AbstractRequest
    • initRequest

      protected void initRequest()
      Specified by:
      initRequest in class AbstractRequest
    • setVersion

      public void setVersion(String version)
      Sets the version number of the request.
      Specified by:
      setVersion in interface GetMapRequest
      Parameters:
      version - A String indicting a WMS Version ("1.0.0", "1.1.0", "1.1.1", or "1.3.0")
    • addLayer

      public void addLayer(Layer layer, String style)
      Description copied from interface: GetMapRequest
      Adds a Layer to the list of layers to be requested. This layer will be drawn below any previously added layers.
      Specified by:
      addLayer in interface GetMapRequest
      Parameters:
      layer - the Layer to use
      style - the style to use to draw the layer, can also be NULL, "" or "default"
    • addLayer

      public void addLayer(Layer layer)
      Description copied from interface: GetMapRequest
      Adds a Layer to the list of layers to be requested. This layer will be drawn below any previously added layers. The style will be the default one.
      Specified by:
      addLayer in interface GetMapRequest
      Parameters:
      layer - the Layer to use
    • addLayer

      public void addLayer(String layerName, String style)
      Description copied from interface: GetMapRequest
      Adds a Layer to the list of layers to be requested. This layer will be drawn below any previously added layers.
      Specified by:
      addLayer in interface GetMapRequest
      Parameters:
      layerName - the name of the layer to use
      style - the style to use to draw the layer, can also be NULL, "" or "default"
    • addLayer

      public void addLayer(Layer layer, StyleImpl style)
      Description copied from interface: GetMapRequest
      Adds a Layer to the list of layers to be requested. This layer will be drawn below any previously added layers.
      Specified by:
      addLayer in interface GetMapRequest
      Parameters:
      layer - the Layer to use
      style - the style to use. If it is null, the default style is used.
    • addLayer

      public void addLayer(String layerName, StyleImpl style)
      Description copied from interface: GetMapRequest
      Adds a Layer to the list of layers to be requested. This layer will be drawn below any previously added layers.
      Specified by:
      addLayer in interface GetMapRequest
      Parameters:
      layerName - the Layer to use
      style - the style to use. If it is null, the default style is used.
    • setSRS

      public void setSRS(String srs)
      From the Web Map Service Implementation Specification: "The required SRS parameter states which Spatial Reference System applies to the values in the BBOX parameter. The value of the SRS parameter shall be on of the values defined in the character data section of an <SRS> element defined or inherited by the requested layer. The same SRS applies to all layers in a single request. If the WMS has declared SRS=NONE for a Layer, then the Layer does not have a well-defined spatial reference system and should not be shown in conjunction with other layers. The client shall specify SRS as "none" in the GetMap request and the Server may issue a Service Exception otherwise."
      Specified by:
      setSRS in interface GetMapRequest
      Parameters:
      srs - A String indicating the Spatial Reference System to render the layers in.
    • setBBox

      public void setBBox(String bbox)
      From the Web Map Service Implementation Specification: "The required BBOX parameter allows a Client to request a particular Bounding Box. The value of the BBOX parameter in a GetMap request is a list of comma-separated numbers of the form "minx,miny,maxx,maxy". If the WMS server has declared that a Layer is not subsettable, then the Client shall specify exactly the declared Bounding Box values in the GetMap request and the Server may issue a Service Exception otherwise."

      Yu must also call setSRS to provide the spatial reference system information (or CRS:84 will be assumed)

      Specified by:
      setBBox in interface GetMapRequest
      Parameters:
      bbox - A string representing a bounding box in the format "minx,miny,maxx,maxy"
    • toServerCRS

      public static CoordinateReferenceSystem toServerCRS(String srsName, boolean forceXY)
    • isGeotoolsLongitudeFirstAxisOrderForced

      protected static boolean isGeotoolsLongitudeFirstAxisOrderForced()
    • setBBox

      public void setBBox(Bounds envelope)
      Sets BBOX and SRS using the provided Envelope.
      Specified by:
      setBBox in interface GetMapRequest
    • setFormat

      public void setFormat(String format)
      From the Web Map Service Implementation Specification: "The required FORMAT parameter states the desired format of the response to an operation. Supported values for a GetMap request on a WMS instance are listed in one or more <Format> elements in the &;ltRequest><GetMap> element of its Capabilities XML. The entire MIME type string in <Format> is used as the value of the FORMAT parameter."
      Specified by:
      setFormat in interface GetMapRequest
      Parameters:
      format - The desired format for the GetMap response
    • setDimensions

      public void setDimensions(String width, String height)
      From the Web Map Service Implementation Specification: "The required WIDTH and HEIGHT parameters specify the size in integer pixels of the map image to be produced. WIDTH specifies the number of pixels to be used between the minimum and maximum X values (inclusive) in the BBOX parameter, while HEIGHT specifies the number of pixels between the minimum and maximum Y values. If the WMS server has declared that a Layer has fixed width and height, then the Client shall specify exactly those WIDTH and HEIGHT values in the GetMap request and the Server may issue a Service Exception otherwise."
      Specified by:
      setDimensions in interface GetMapRequest
    • setDimensions

      public void setDimensions(Dimension imageDimension)
      Specified by:
      setDimensions in interface GetMapRequest
    • setTransparent

      public void setTransparent(boolean transparent)
      From the Web Map Service Implementation Specification: "The optional TRANSPARENT parameter specifies whether the map background is to be made transparent or not. The default value is false if the parameter is absent from the request."
      Specified by:
      setTransparent in interface GetMapRequest
      Parameters:
      transparent - true for transparency, false otherwise
    • setBGColour

      public void setBGColour(String bgColour)
      Specifies the colour, in hexidecimal format, to be used as the background of the map. It is a String representing RGB values in hexidecimal format, prefixed by "0x". The format is: 0xRRGGBB. The default value is 0xFFFFFF (white)
      Specified by:
      setBGColour in interface GetMapRequest
      Parameters:
      bgColour - the background colour of the map, in the format 0xRRGGBB
    • setExceptions

      public void setExceptions(String exceptions)
      The exceptions type specifies what format the server should return exceptions in.

      Valid values are:

      • "application/vnd.ogc.se_xml" (the default)
      • "application/vnd.ogc.se_inimage"
      • "application/vnd.ogc.se_blank"
      Specified by:
      setExceptions in interface GetMapRequest
    • setTime

      public void setTime(String time)
      See the Web Map Server Implementation Specification 1.1.1, Annexes B and C
      Specified by:
      setTime in interface GetMapRequest
      Parameters:
      time - See the Web Map Server Implementation Specification 1.1.1, Annexes B and C
    • setElevation

      public void setElevation(String elevation)
      See the Web Map Server Implementation Specification 1.1.1, Annex C, in particular section C.4
      Specified by:
      setElevation in interface GetMapRequest
      Parameters:
      elevation - See the Web Map Server Implementation Specification 1.1.1, Annex C
    • setSampleDimensionValue

      public void setSampleDimensionValue(String name, String value)
      See the Web Map Server Implementation Specification 1.1.1, Annex C, in particular section C.4.2

      Example use: request.setSampleDimensionValue("DIM_WAVELENGTH", "4000");

      Specified by:
      setSampleDimensionValue in interface GetMapRequest
      Parameters:
      name - the request parameter name to set (usually with 'dim_' as prefix)
      value - the value of the request parameter (value, interval or comma-separated list)
    • setVendorSpecificParameter

      public void setVendorSpecificParameter(String name, String value)
      Used to implement vendor specific parameters. Entirely optional.
      Specified by:
      setVendorSpecificParameter in interface GetMapRequest
      Parameters:
      name - a request parameter name
      value - a value to accompany the name
    • setDimensions

      public void setDimensions(int width, int height)
      Specified by:
      setDimensions in interface GetMapRequest
    • setProperties

      public void setProperties(Properties p)
      Description copied from interface: GetMapRequest
      create a request using a properties file to save time
      Specified by:
      setProperties in interface GetMapRequest