Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| deegree 2.4 (2010/11/11 10:47 build-27-official)
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.deegree.ogcwebservices.wms.capabilities
Class Layer

    java.lang.Object
      org.deegree.ogcwebservices.wms.capabilities.Layer

    public class Layer

extends Object

Each available map is advertised by a <Layer> element in the Capabilities XML. A single parent Layer encloses any number of additional layers, which may be hierarchically nested as desired. Some properties defined in a parent layer are inherited by the children it encloses. These inherited properties may be either redefined or added to by the child.

A Map Server shall include at least one <Layer> element for each map layer offered. If desired, layers may be repeated in different categories when relevant. No controlled vocabulary has been defined, so at present Layer and Style Names, Titles and Keywords are arbitrary.

The <Layer> element can enclose child elements providing metadata about the Layer.

Version:
  2002-03-01
Author:
  Katharina Lupp , Markus Schneider , last edited by: $Author: aschmitz $

Constructor Summary
`Layer(boolean queryable, int cascaded, boolean opaque, boolean noSubsets, int fixedWidth, int fixedHeight, String name, String title, String abstract_, Envelope latLonBoundingBox, Attribution attribution, ScaleHint scaleHint, String[] keywordList, String[] srs, LayerBoundingBox[] boundingBoxes, Dimension[] dimensions, Extent[] extents, AuthorityURL[] authorityURLs, Identifier[] identifiers, MetadataURL[] metadataURLs, DataURL[] dataURLs, FeatureListURL[] featureListURLs, Style[] styles, Layer[] layers, AbstractDataSource[] dataSource, Layer parent)` constructor initializing the class with the <Layer>

Method Summary
`void` | `addAuthorityURL(AuthorityURL authorityURL)` adds the authority attribute of the Identifier element
`void` | `addBoundingBox(Envelope boundingBox)` adds the <BoundingBox>
`void` | `addDataSource(AbstractDataSource dataSource)` source where the WMS can find the data of a layer.
`void` | `addDataURL(DataURL dataURL)` adds the dataURL
`void` | `addDimension(Dimension dimension)` adds the dimension
`void` | `addExtent(Extent extent)` adds the extent declarations
`void` | `addFeatureListURL(FeatureListURL featureListURL)` adds the <FeatureListURL>
`void` | `addIdentifier(Identifier identifier)` adds the <Identifier>
`void` | `addKeyword(String keyword)` adds the keywordList
`void` | `addLayer(Layer layer)` adds a list of layers the are enclosed by this layer.
`void` | `addMetadataURL(MetadataURL metadataURL)` adds the metadataURL
`void` | `addSrs(String srs)` adds the spatial reference system (srs)
`void` | `addStyles(Style style)` adds a list of style that can be used form rendering the layer.
`String` | `getAbstract()` Abstract is a narrative description of the map layer.
`Attribution` | `getAttribution()` The optional <Attribution> element provides a way to identify the source of the map data used in a Layer or collection of Layers.
`AuthorityURL[]` | `getAuthorityURL()` The authority attribute of the Identifier element corresponds to the name attribute of a separate <AuthorityURL> element.
`LayerBoundingBox[]` | `getBoundingBoxes()` Layers may have zero or more <BoundingBox> elements that are either stated explicitly or inherited from a parent Layer.
`int` | `getCascaded()`
`AbstractDataSource[]` | `getDataSource()` source where the WMS can find the data of a layer.
`DataURL[]` | `getDataURL()` A Map Server may use DataURL to offer more information about the data represented by a particular layer.
`Dimension[]` | `getDimension()` Dimension declarations are inherited from parent Layers.
`Extent[]` | `getExtent()` Extent declarations are inherited from parent Layers.
`FeatureListURL[]` | `getFeatureListURL()` A Map Server may use a <FeatureListURL> element to point to a list of the features represented in a Layer.
`int` | `getFixedHeight()`
`int` | `getFixedWidth()`
`Identifier[]` | `getIdentifier()` A Map Server may use zero or more <Identifier> elements to list ID numbers or labels defined by a particular Authority.
`String[]` | `getKeywordList()` KeywordList contains zero or more Keywords to aid in catalog searches.
`Envelope` | `getLatLonBoundingBox()` Every Layer shall have exactly one <LatLonBoundingBox> element that is either stated explicitly or inherited from a parent Layer.
`Layer[]` | `getLayer()` returns a list of layers the are enclosed by this layer.
`MetadataURL[]` | `getMetadataURL()` A Map Server should use one or more <MetadataURL> elements to offer detailed, standardized metadata about the data underneath a particular layer.
`String` | `getName()` If, and only if, a layer has a <Name>, then it is a map layer that can be requested by using that Name in the LAYERS parameter of a GetMap request.
`Layer` | `getParent()`
`ScaleHint` | `getScaleHint()` Layers may include a <ScaleHint> element that suggests minimum and maximum scales for which it is appropriate to display this layer.
`String[]` | `getSrs()` Every Layer is available in one or more spatial reference systems Every Layer shall have at least one >SRS> element that is either stated explicitly or inherited from a parent Layer .
`UserStyle` | `getStyle(String name)` returns the `UserStyle` (SLD) representation of the style identified by the submitted name.
`Style` | `getStyleResource(String name)` returns the `Style` identified by the submitted name.
`Style[]` | `getStyles()`
`String` | `getTitle()` A <Title> is required for all layers; it is a human-readable string for presentation in a menu.
`boolean` | `hasNoSubsets()`
`boolean` | `isOpaque()`
`boolean` | `isQueryable()`
`boolean` | `isSrsSupported(String srs)`
`Layer` | `removeLayer(String name)` removes a Layer identified by its name from the parent Layer.
`Layer` | `removeLayerByTitle(String title)` removes a Layer identified by its title from the parent Layer.
`void` | `setAbstract(String abstract_)` sets the a narrative description of the map layer
`void` | `setAttribution(Attribution attribution)` sets the optional <Attribution> element
`void` | `setAuthorityURL(AuthorityURL[] authorityURL)` sets the authority attribute of the Identifier element
`void` | `setBoundingBox(LayerBoundingBox[] boundingBox)` sets the boundingBox
`void` | `setDataSource(AbstractDataSource[] dataSource)` source where the WMS can find the data of a layer.
`void` | `setDataURL(DataURL[] dataURL)` sets the dataURL
`void` | `setDimension(Dimension[] dimension)` sets the dimension
`void` | `setExtent(Extent[] extent)` sets the extent
`void` | `setFeatureListURL(FeatureListURL[] featureListURL)` sets the <FeatureListURL>
`void` | `setIdentifier(Identifier[] identifier)` sets the <Identifier>
`void` | `setKeywordList(String[] keywordList)` sets the keywordList
`void` | `setLatLonBoundingBox(Envelope latLonBoundingBox)` sets the LatLonBoundingBox element that is either stated explicitly or inherited from a parent Layer.
`void` | `setLayer(Layer[] layer)` sets a list of layers the are enclosed by this layer.
`void` | `setMetadataURL(MetadataURL[] metadataURL)` sets the metadataURL
`void` | `setName(String name)` sets the name of the layer
`void` | `setParent(Layer parent)` sets the parent layer of this layer.
`void` | `setScaleHint(ScaleHint scaleHint)` sets the
`void` | `setSrs(String[] srs)` sets the srs
`void` | `setStyles(Style[] styles)` sets a list of style that can be used form rendering the layer.
`void` | `setTitle(String title)` sets the title for the layer

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Layer

    public Layer(boolean queryable,
                 int cascaded,
                 boolean opaque,
                 boolean noSubsets,
                 int fixedWidth,
                 int fixedHeight,
                 String name,
                 String title,
                 String abstract_,
                 Envelope latLonBoundingBox,
                 Attribution attribution,
                 ScaleHint scaleHint,
                 String[] keywordList,
                 String[] srs,
                 LayerBoundingBox[] boundingBoxes,
                 Dimension[] dimensions,
                 Extent[] extents,
                 AuthorityURL[] authorityURLs,
                 Identifier[] identifiers,
                 MetadataURL[] metadataURLs,
                 DataURL[] dataURLs,
                 FeatureListURL[] featureListURLs,
                 Style[] styles,
                 Layer[] layers,
                 AbstractDataSource[] dataSource,
                 Layer parent)

  constructor initializing the class with the <Layer>

  Parameters:
    `queryable` -
    `cascaded` -
    `opaque` -
    `noSubsets` -
    `fixedWidth` -
    `fixedHeight` -
    `name` -
    `title` -
    `abstract_` -
    `latLonBoundingBox` -
    `attribution` -
    `scaleHint` -
    `keywordList` -
    `srs` -
    `boundingBoxes` -
    `dimensions` -
    `extents` -
    `authorityURLs` -
    `identifiers` -
    `metadataURLs` -
    `dataURLs` -
    `featureListURLs` -
    `styles` -
    `layers` -
    `dataSource` -
    `parent` -

Method Detail

### getName

    public String getName()

  If, and only if, a layer has a <Name>, then it is a map layer that can be requested by using that Name in the LAYERS parameter of a GetMap request. If the layer has a Title but no Name, then that layer is only a category title for all the layers nested within. A Map Server that advertises a Layer containing a Name element shall be able to accept that Name as the value of LAYERS argument in a GetMap request and return the corresponding map. A Client shall not attempt to request a layer that has a Title but no Name.

  Returns:
    the name

### setName

    public void setName(String name)

  sets the name of the layer

  Parameters:
    `name` -

### getTitle

    public String getTitle()

  A <Title> is required for all layers; it is a human-readable string for presentation in a menu. The Title is not inherited by child Layers.

  Returns:
    the title

### setTitle

    public void setTitle(String title)

  sets the title for the layer

  Parameters:
    `title` -

### getAbstract

    public String getAbstract()

  Abstract is a narrative description of the map layer. The Abstract elements are not inherited by child Layers.

  Returns:
    the abstract

### setAbstract

    public void setAbstract(String abstract_)

  sets the a narrative description of the map layer

  Parameters:
    `abstract_` -

### getKeywordList

    public String[] getKeywordList()

  KeywordList contains zero or more Keywords to aid in catalog searches. The KeywordList elements are not inherited by child Layers.

  Returns:
    the keywords

### addKeyword

    public void addKeyword(String keyword)

  adds the keywordList

  Parameters:
    `keyword` -

### setKeywordList

    public void setKeywordList(String[] keywordList)

  sets the keywordList

  Parameters:
    `keywordList` -

### getSrs

    public String[] getSrs()

  Every Layer is available in one or more spatial reference systems Every Layer shall have at least one >SRS> element that is either stated explicitly or inherited from a parent Layer . The root <Layer> element shall include a sequence of zero or more SRS elements listing all SRSes that are common to all subsidiary layers. Use a single SRS element with empty content (like so: "<SRS></SRS> ") if there is no common SRS. Layers may optionally add to the global SRS list, or to the list inherited from a parent layer. Any duplication shall be ignored by clients. When a Layer is available in several Spatial Reference Systems, there are two ways to encode the list of SRS values. The first of these is new in this version of the specification, the second is deprecated but still included for backwards compatibility.

  1. Optional, recommended: Multiple single-valued <SRS> elements: a list of SRS values is represented as a sequence of <SRS> elements, each of which contains only a single SRS name. Example: <SRS>EPSG:1234</SRS> <SRS>EPSG:5678</SRS>.

  2. Deprecated: Single list-valued <SRS> element: a list of SRS values is represented asa whitespace-separated list of SRS names contained within a single <SRS> element. Example: <SRS>EPSG:1234 EPSG:5678</SRS>.

  Returns:
    the srs

### isSrsSupported

    public boolean isSrsSupported(String srs)

  Parameters:
    `srs` -
  Returns:
    s true if the submitted srs (name) is supported by the layer

### addSrs

    public void addSrs(String srs)

  adds the spatial reference system (srs)

  Parameters:
    `srs` -

### setSrs

    public void setSrs(String[] srs)

  sets the srs

  Parameters:
    `srs` -

### getLatLonBoundingBox

    public Envelope getLatLonBoundingBox()

  Every Layer shall have exactly one <LatLonBoundingBox> element that is either stated explicitly or inherited from a parent Layer. LatLonBoundingBox states the minimum bounding rectangle of the map data in the EPSG:4326 geographic coordinate system. The LatLonBoundingBox attributes minx, miny, maxx, maxy indicate the edges of an enclosing rectangle in decimal degrees. LatLonBoundingBox shall be supplied regardless of what SRS the map server may support, but it may be approximate if EPSG:4326 is not supported. Its purpose is to facilitate geographic searches without requiring coordinate transformations by the search engine.

  Returns:
    the bbox

### setLatLonBoundingBox

    public void setLatLonBoundingBox(Envelope latLonBoundingBox)

  sets the LatLonBoundingBox element that is either stated explicitly or inherited from a parent Layer.

  Parameters:
    `latLonBoundingBox` -

### getBoundingBoxes

    public LayerBoundingBox[] getBoundingBoxes()

  Layers may have zero or more <BoundingBox> elements that are either stated explicitly or inherited from a parent Layer. Each BoundingBox states the bounding rectangle of the map data in a particular spatial reference system; the attribute SRS indicates which SRS applies. If the data area is shaped irregularly then the BoundingBox gives the minimum enclosing rectangle. The attributes minx, miny, maxx, maxy indicate the edges of the bounding box in units of the specified SRS. Optional resx and resy attributes indicate the spatial resolution of the data in those same units.

  A Layer may have multiple BoundingBox element, but each one shall state a different SRS. A Layer inherits any BoundingBox values defined by its parents. A BoundingBox inherited from the parent Layer for a particular SRS is replaced by any declaration for the same SRS in the child Layer. A BoundingBox in the child for a new SRS not already declared by the parent is added to the list of bounding boxes for the child Layer. A single Layer element shall not contain more than one BoundingBox for the same SRS.

  Returns:
    bounding boxes

### addBoundingBox

    public void addBoundingBox(Envelope boundingBox)

  adds the <BoundingBox>

  Parameters:
    `boundingBox` -

### setBoundingBox

    public void setBoundingBox(LayerBoundingBox[] boundingBox)

  sets the boundingBox

  Parameters:
    `boundingBox` -

### getDimension

    public Dimension[] getDimension()

  Dimension declarations are inherited from parent Layers. Any new Dimension declarations in the child are added to the list inherited from the parent. A child shall not redefine a Dimension with the same name attribute as one that was inherited.

  Returns:
    the dimensions

### addDimension

    public void addDimension(Dimension dimension)

  adds the dimension

  Parameters:
    `dimension` -

### setDimension

    public void setDimension(Dimension[] dimension)

  sets the dimension

  Parameters:
    `dimension` -

### getExtent

    public Extent[] getExtent()

  Extent declarations are inherited from parent Layers. Any Extent declarations in the child with the same name attribute as one inherited from the parent replaces the value declared by the parent. A Layer shall not declare an Extent unless a Dimension with the same name has been declared or inherited earlier in the Capabilities XML.

  Returns:
    the extents

### addExtent

    public void addExtent(Extent extent)

  adds the extent declarations

  Parameters:
    `extent` -

### setExtent

    public void setExtent(Extent[] extent)

  sets the extent

  Parameters:
    `extent` -

### getAttribution

    public Attribution getAttribution()

  The optional <Attribution> element provides a way to identify the source of the map data used in a Layer or collection of Layers. Attribution encloses several optional elements: states the data provider's URL; <Title> is a human-readable string naming the data provider; <LogoURL> is the URL of a logo image. Client applications may choose to display one or more of these items. A <Format> element in LogoURL indicates the MIME type of the logo image, and the attributes width and height state the size of the image in pixels.

  Returns:
    the attribution

### setAttribution

    public void setAttribution(Attribution attribution)

  sets the optional <Attribution> element

  Parameters:
    `attribution` -

### getAuthorityURL

    public AuthorityURL[] getAuthorityURL()

  The authority attribute of the Identifier element corresponds to the name attribute of a separate <AuthorityURL> element. AuthorityURL encloses an <OnlineResource> element which states the URL of a document defining the meaning of the Identifier values.

  Returns:
    the authority url object

### addAuthorityURL

    public void addAuthorityURL(AuthorityURL authorityURL)

  adds the authority attribute of the Identifier element

  Parameters:
    `authorityURL` -

### setAuthorityURL

    public void setAuthorityURL(AuthorityURL[] authorityURL)

  sets the authority attribute of the Identifier element

  Parameters:
    `authorityURL` -

### getIdentifier

    public Identifier[] getIdentifier()

  A Map Server may use zero or more <Identifier> elements to list ID numbers or labels defined by a particular Authority. The text content of the Identifier element is the ID value.

  Returns:
    the identifiers

### addIdentifier

    public void addIdentifier(Identifier identifier)

  adds the <Identifier>

  Parameters:
    `identifier` -

### setIdentifier

    public void setIdentifier(Identifier[] identifier)

  sets the <Identifier>

  Parameters:
    `identifier` -

### getMetadataURL

    public MetadataURL[] getMetadataURL()

  A Map Server should use one or more <MetadataURL> elements to offer detailed, standardized metadata about the data underneath a particular layer. The type attribute indicates the standard to which the metadata complies. Two types are defined at present: the value 'TC211' refers to [ISO 19115]; the value 'FGDC' refers to [FGDC-STD-001-1988]. The MetadataURL element shall not be used to reference metadata in a non-standardized metadata format; see DataURL instead. The enclosed <Format> element indicates the file format MIME type of the metadata record.

  Returns:
    the metadata urls

### addMetadataURL

    public void addMetadataURL(MetadataURL metadataURL)

  adds the metadataURL

  Parameters:
    `metadataURL` -

### setMetadataURL

    public void setMetadataURL(MetadataURL[] metadataURL)

  sets the metadataURL

  Parameters:
    `metadataURL` -

### getDataURL

    public DataURL[] getDataURL()

  A Map Server may use DataURL to offer more information about the data represented by a particular layer. While the semantics are not well-defined, as long as the results of an HTTP GET request against the DataURL are properly MIME-typed, Viewer Clients and Cascading Map Servers can make use of this. Use 6lt;MetadataURL> instead for a precisely defined reference to standardized metadata records.

  Returns:
    the data URLs

### addDataURL

    public void addDataURL(DataURL dataURL)

  adds the dataURL

  Parameters:
    `dataURL` -

### setDataURL

    public void setDataURL(DataURL[] dataURL)

  sets the dataURL

  Parameters:
    `dataURL` -

### getFeatureListURL

    public FeatureListURL[] getFeatureListURL()

  A Map Server may use a <FeatureListURL> element to point to a list of the features represented in a Layer.

  Returns:
    the feature list urls

### addFeatureListURL

    public void addFeatureListURL(FeatureListURL featureListURL)

  adds the <FeatureListURL>

  Parameters:
    `featureListURL` -

### setFeatureListURL

    public void setFeatureListURL(FeatureListURL[] featureListURL)

  sets the <FeatureListURL>

  Parameters:
    `featureListURL` -

### getStyles

    public Style[] getStyles()

  Returns:
    a list of style that can be used for rendering the layer.

### addStyles

    public void addStyles(Style style)

  adds a list of style that can be used form rendering the layer.

  Parameters:
    `style` -

### setStyles

    public void setStyles(Style[] styles)

  sets a list of style that can be used form rendering the layer.

  Parameters:
    `styles` -

### getStyle

    public UserStyle getStyle(String name)

  returns the `UserStyle` (SLD) representation of the style identified by the submitted name.

  Parameters:
    `name` - of the requested style
  Returns:
    SLD - UserStyle

### getStyleResource

    public Style getStyleResource(String name)

  returns the `Style` identified by the submitted name.

  Parameters:
    `name` - of the requested style
  Returns:
    Style

### getScaleHint

    public ScaleHint getScaleHint()

  Layers may include a <ScaleHint> element that suggests minimum and maximum scales for which it is appropriate to display this layer. Because WMS output is destined for output devices of arbitrary size and resolution, the usual definition of scale as the ratio of map size to real-world size is not appropriate here. The following definition of Scale Hint is recommended. Consider a hypothetical map with a given Bounding Box, width and height. The central pixel of that map (or the pixel just to the northwest of center) will have some size, which can be expressed as the ground distance in meters of the southwest to northeast diagonal of that pixel. The two values in ScaleHint are the minimum and maximum recommended values of that diagonal. It is recognized that this definition is not geodetically precise, but at the same time the hope is that by including it conventions will develop that can be later specified more clearly.

  Returns:
    the scale hint

### setScaleHint

    public void setScaleHint(ScaleHint scaleHint)

  sets the

  Parameters:
    `scaleHint` -

### getLayer

    public Layer[] getLayer()

  returns a list of layers the are enclosed by this layer.

  Returns:
    the layers

### removeLayer

    public Layer removeLayer(String name)

  removes a Layer identified by its name from the parent Layer. A reference to the removed layer will be returned. If no Layer matching the passed name can be found nothing happens and `null` will be returned.

  Parameters:
    `name` -
  Returns:
    removerd Layer

### removeLayerByTitle

    public Layer removeLayerByTitle(String title)

  removes a Layer identified by its title from the parent Layer. A reference to the removed layer will be returned. If no Layer matching the passed title can be found nothing happens and `null` will be returned.

  Parameters:
    `title` -
  Returns:
    removerd Layer

### addLayer

    public void addLayer(Layer layer)

  adds a list of layers the are enclosed by this layer.

  Parameters:
    `layer` -

### setLayer

    public void setLayer(Layer[] layer)

  sets a list of layers the are enclosed by this layer.

  Parameters:
    `layer` -

### getDataSource

    public AbstractDataSource[] getDataSource()

  source where the WMS can find the data of a layer.

  Returns:
    the data sources

### setDataSource

    public void setDataSource(AbstractDataSource[] dataSource)

  source where the WMS can find the data of a layer.

  Parameters:
    `dataSource` -

### addDataSource

    public void addDataSource(AbstractDataSource dataSource)

  source where the WMS can find the data of a layer.

  Parameters:
    `dataSource` -

### getParent

    public Layer getParent()

  Returns:
    the parent layer of this layer. If the method returns `null` the current layer is the root layer. In addition with the `getLayer` method this enables a program to traverse the layer tree in both directions.

### setParent

    public void setParent(Layer parent)

  sets the parent layer of this layer.

  Parameters:
    `parent` -

### getCascaded

    public int getCascaded()

  Returns:
    '0' if the layer is provided directly form the deegree WMS. other it returns the number of cascaded WMS servers the is passed through

### getFixedHeight

    public int getFixedHeight()

  Returns:
    '0' if the WMS can resize map to arbitrary height. nonzero: map has a fixed height that cannot be changed by the WMS.

### getFixedWidth

    public int getFixedWidth()

  Returns:
    '0' if the WMS can resize map to arbitrary width. nonzero: map has a fixed width that cannot be changed by the WMS.

### hasNoSubsets

    public boolean hasNoSubsets()

  Returns:
    false if the WMS can map a subset of the full bounding box.

### isOpaque

    public boolean isOpaque()

  Returns:
    false if map data represents vector features that probably do not completely fill space.

### isQueryable

    public boolean isQueryable()

  Returns:
    true if the layer is queryable. That means it can be targeted by a GetFeatureInfo request.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| deegree 2.4 (2010/11/11 10:47 build-27-official)
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

an open source project founded by lat/lon, Bonn, Germany.
For more information visit: http://www.deegree.org