Interface Layer
-
@XmlElement(value="Layer") public interface Layer
Organizes the basic GO-1 constructs that may be added toFeatureCanvasorCanvas. A GO-1 application may be directed to "add" aLayer; it should then add theLayer'sFeatureLayerandGraphics to the respective canvases.Mutability
In current version, layers are unmodifiable, i.e. they can't be modified through the API provided in this interface, but they are not immutable because they may (or may not, at implementor choice) reflect a change in the underlying database. This means that all methods returning a collection must returns either an unmodifiable one, or a copy. Modifying returned collections should have no affect on thisLayer.Note that the mutability aspect of
Layermay be revisited in future versions, so users are encouraged to not rely strongly on current behavior.- Since:
- GeoAPI 2.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method and Description InternationalStringgetAbstract()Provides the narrative description of thisLayer.AttributiongetAttribution()Provides the attribution for thisLayer, which identifies the source of the geographic information used in this layer.java.util.List<AuthorityURL>getAuthorityURLs()Provides the authority URLs named in thisLayer's identifiers.java.util.Collection<Envelope>getBoundingBoxes()Provides the bounding boxes that specify the coordinate ranges for thisLayer, asEnvelopes, including bounding boxes inherited from parentLayers.intgetCascaded()Indicates how many times thisLayerhas been cascaded.java.util.Set<CoordinateReferenceSystem>getCRSs()Provides the coordinate reference systems available to thisLayer, which includes CRSs inherited from parentLayers.java.util.List<DataURL>getDataURLs()Provides the data URLs that offer links to the underlying data represented by thisLayer.java.util.List<FeatureLayer>getFeatureLayers()Gets the feature layers from thisLayerthat are suitable for adding to aFeatureCanvasin order to visually represent thisLayer.java.util.List<FeatureListURL>getFeatureListURLs()Provides the feature URLs that point to a list of features represented in thisLayer.intgetFixedHeight()Indicates that thisLayeris not able to produce a map with a height different from the fixed height indicated.intgetFixedWidth()Indicates that thisLayeris not able to produce a map with a width different from the fixed width indicated.GeographicBoundingBoxgetGeographicBoundingBox()Provides the geographic bounding box that specify the longitude and latitude ranges for thisLayer.java.util.List<Graphic>getGraphics()Gets the graphics from thisLayerthat are suitable for adding to aCanvasin order to visually represent thisLayer.java.util.List<Identifier>getIdentifiers()Provides the identifiers containing ID numbers or labels defined by a particular authority.java.util.List<InternationalString>getKeywordList()Provides keywords to aid in catalogue searches.java.util.List<Layer>getLayers()Gets the child layers of thisLayer.doublegetMaxScaleDenominator()Provides the upper bound for the range of scales for which it is appropriate to generate a map for thisLayer.java.util.List<MetadataURL>getMetadataURLs()Provides the Metadata URLs that offer detailed, standardized metadata about the data for thisLayer.doublegetMinScaleDenominator()Provides the lower bound for the range of scales for which it is appropriate to generate a map for thisLayer.java.lang.StringgetName()Provides a unique name for identifying thisLayer.java.util.List<Style>getStyles()Provides the styles that may be requested for thisLayer.InternationalStringgetTitle()Provides the human-readable string for presenting thisLayer.booleanisNoSubsets()Indicates that thisLayeris not able to produce a map of a geographic area other than this layer's declared bounding box.booleanisOpaque()Indicates whether thisLayer's renderable data should be considered opaque, and therefore requested at the bottom of a stack of maps.booleanisQueryable()Indicates whether theGetFeatureInfooperation is supported on thisLayer.
-
-
-
Method Detail
-
getName
@XmlElement(value="Name") java.lang.String getName()
Provides a unique name for identifying thisLayer. If, and only if, a layer has a name, then it is a map layer that can be requested by using that name in theLAYERSparameter of aGetMaprequest. A layer that contains aNameelement is referred to as a named layer. 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 ofLAYERSargument in aGetMaprequest and return the corresponding map. A client shall not attempt to request a layer that has a title but no name.The name is not inherited by child layers.
- Returns:
- the unique string identifier for this
Layer.
-
getTitle
@XmlElement(value="Title") InternationalString getTitle()
Provides the human-readable string for presenting thisLayer. Equivalent toCitation.getTitle()in ISO 19115.- Returns:
- the human-readable title for this
Layer.
-
getAbstract
@XmlElement(value="Abstract") InternationalString getAbstract()
Provides the narrative description of thisLayer. Equivalent toIdentification.getAbstract()in ISO 19115. The abstract is not inherited by child layers.- Returns:
- the narrative description of this
Layer.
-
getKeywordList
@XmlElement(value="KeywordList") java.util.List<InternationalString> getKeywordList()
Provides keywords to aid in catalogue searches. Equivalent toTopicCategoryin ISO 19115 if thevocabularyattribute ofKeywordelement is "ISO19115:2003". Other vocabularies are permitted. The keywords are not inherited by child layers.The returned
List(if modifiable) should not be live, and modifying it should not affect thisLayer's set of keywords.- Returns:
- this
Layer's keyword list.
-
getCRSs
@XmlElement(value="CRS") java.util.Set<CoordinateReferenceSystem> getCRSs()
Provides the coordinate reference systems available to thisLayer, which includes CRSs inherited from parentLayers. In order to indicate what layer CRSs are available, every named layer shall have at least one CRS. The root layer shall include a sequence of zero or more CRS elements listing all CRSs that are common to all subsidiary layers. A child layer may optionally add to the list inherited from a parent layer.If CRS and bounding boxes are backed by a
Map<CoordinateReferenceSystem,Envelope>(from the J2SE collection framework), then the CRSs are the ket set of the above-cited map.This
Set(if modifiable) should not be live, and modifying it should not affect thisLayer's set of CRSs.- Returns:
- this
Layer's coordinate reference systems.
-
getBoundingBoxes
@XmlElement(value="BoundingBox") java.util.Collection<Envelope> getBoundingBoxes()
Provides the bounding boxes that specify the coordinate ranges for thisLayer, asEnvelopes, including bounding boxes inherited from parentLayers. Equivalent toBoundingPolygonin ISO 19115, except that it is strictly a box here.A layer may have multiple bounding box elements, but each one shall state a different CRS. A bounding box inherited from the parent layer for a particular CRS is replaced by any declaration for the same CRS in the child layer. A bounding box in the child for a new CRS 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 bounding box for the same CRS.
NOTE: There is no provision for describing disjoint bounding boxes. For example, consider a dataset which covers two areas separated by some distance. The server cannot provide two separate bounding boxes in the same layer using the same CRS to separately describe those areas. To handle this type of situation, the server may either define a single larger bounding box which encloses both areas, or may define two separate layers that each have distinct name and bounding box values.
A layer shall not provide a bounding box for a CRS it does not support. Conversely, a layer may support CRSs for which it does not provide a bounding box: a server that has the ability to transform data to different CRSs may choose not to provide an explicit bounding box for every possible CRS available for each layer. The server should provide bounding box information for at least the native CRS of the layer (that is, the CRS in which the layer is stored in the server's database).
If CRS and bounding boxes are backed by a
Map<CoordinateReferenceSystem,Envelope>(from the J2SE collection framework), then the bounding boxes are the values of the above-cited map.This
Collection(if modifiable) should not be live, and modifying it should have no affect on thisLayer's set of bounding boxes.- Returns:
- this
Layer's bounding box envelopes.
-
getGeographicBoundingBox
@XmlElement(value="GeographicBoundingBox") GeographicBoundingBox getGeographicBoundingBox()
Provides the geographic bounding box that specify the longitude and latitude ranges for thisLayer. Every named layer shall have exactly one geographic bounding box that is either stated explicitly or inherited from a parent layer. Geographic bounding box states, via the west bound longitude, east bound longitude, south bound latitude, and north bound latitude, the minimum bounding rectangle in decimal degrees of the area covered by the layer. Geographic bounding box shall be supplied regardless of what CRS the map server may support, but it may be approximate if the data are not natively in geographic coordinates. The purpose of beographic bounding box is to facilitate geographic searches without requiring coordinate transformations by the search engine.This method is conceptually similar to a bounding box in which the CRS is implicitly CRS:84. However, Geographic bounding box shall not be used as a substitute for
<BoundingBox CRS="CRS:84">. If the server wishes to provide bounding box information in the CRS:84 CRS, then a separate bounding box element explicitly naming CRS:84 shall be included in the service metadata.
-
getAttribution
@XmlElement(value="Attribution") Attribution getAttribution()
Provides the attribution for thisLayer, which identifies the source of the geographic information used in this layer. This is partially equivalent toResponsiblePartyin ISO 19115. The attribution is inherited by child layers. Any redefinition by a child replaces the inherited value.- Returns:
- this
Layer's attribution.
-
getAuthorityURLs
@XmlElement(value="AuthorityURL") java.util.List<AuthorityURL> getAuthorityURLs()
Provides the authority URLs named in thisLayer's identifiers. Equivalent toContact.getOnLineResource()in ISO 19115.The returned
List(if modifiable) should not be live, and modifying it should have no affect on thisLayer's set of authority URLs.- Returns:
- this
Layer's authority URLs.
-
getIdentifiers
@XmlElement(value="Identifier") java.util.List<Identifier> getIdentifiers()
Provides the identifiers containing ID numbers or labels defined by a particular authority. Equivalent toIdentifier.getCode()in ISO 19115.The returned
List(if modifiable) should not be live, and modifying it should have no affect on thisLayer's set of identifiers.- Returns:
- this
Layer's identifiers.
-
getMetadataURLs
@XmlElement(value="MetadataURL") java.util.List<MetadataURL> getMetadataURLs()
Provides the Metadata URLs that offer detailed, standardized metadata about the data for thisLayer.The returned
List(if modifiable) should not be live, and modifying it should have no affect on thisLayer's set of metadata URLs.- Returns:
- this
Layer's metadata URLs.
-
getDataURLs
@XmlElement(value="DataURL") java.util.List<DataURL> getDataURLs()
Provides the data URLs that offer links to the underlying data represented by thisLayer. Data URLs are not inherited by child layers.The returned
List(if modifiable) should not be live, and modifying it should have no affect on thisLayer's set of data URLs.- Returns:
- this
Layer's data URLs.
-
getFeatureListURLs
@XmlElement(value="FeatureListURL") java.util.List<FeatureListURL> getFeatureListURLs()
Provides the feature URLs that point to a list of features represented in thisLayer. Feature URLs are not inherited by child layers.The returned
List(if modifiable) should not be live, and modifying it should have no affect on thisLayer's feature list URLs.- Returns:
- this
Layer's feature list URLs.
-
getStyles
@XmlElement(value="Style") java.util.List<Style> getStyles()
Provides the styles that may be requested for thisLayer. Zero or more styles may be advertised for a layer or collection of layers, each of which shall have name and title. The style's name is used in the Map requestSTYLESparameter. The title is a human-readable string. If only a single style is available, that style is known as the "default" style and need not be advertised by the server.Style declarations are inherited by child layers. A child shall not redefine a style with the same name as one inherited from a parent. A child may define a new style with a new name that is not available for the parent layer.
The returned
List(if modifiable) should not be live, and modifying it should have no affect on thisLayer's styles.- Returns:
- this
Layer's styles.
-
getMinScaleDenominator
@XmlElement(value="MinScaleDenominator") double getMinScaleDenominator()
Provides the lower bound for the range of scales for which it is appropriate to generate a map for thisLayer. See "Scale denominators" section in package description. A value of 0 indicates thisLayerhas no minimum scale denominator. Negative values are not allowed.- Returns:
- the minimum scale denominator, inclusive.
-
getMaxScaleDenominator
@XmlElement(value="MaxScaleDenominator") double getMaxScaleDenominator()
Provides the upper bound for the range of scales for which it is appropriate to generate a map for thisLayer. See "Scale denominators" section in package description. A value ofDouble.POSITIVE_INFINITYindicates thisLayerhas no maximum scale denominator.- Returns:
- the maximum scale denominator, exclusive.
-
getLayers
java.util.List<Layer> getLayers()
Gets the child layers of thisLayer. Typically, aLayerwill have either childLayers or some combination ofFeatureLayers and/orGraphics.The returned
List(if modifiable) should not be a live list. Modifying the list should have no affect on thisLayer's child layers.- Returns:
- the child layers.
-
isQueryable
@XmlElement(value="queryable") boolean isQueryable()
Indicates whether theGetFeatureInfooperation is supported on thisLayer. A server may supportGetFeatureInfoon some of its layers but not on all. A server shall issue a service exception ("LayerNotQueryable") ifGetFeatureInfois requested on a layer that is not queryable.- Returns:
trueif thisLayersupportsGetFeatureInfo.
-
getCascaded
@XmlElement(value="cascaded") int getCascaded()
Indicates how many times thisLayerhas been cascaded. A layer is said to have been "cascaded" if it was obtained from an originating server and then included in the service metadata of a different server. The second server may simply offer an additional access point for the layer, or may add value by offering additional output formats or reprojection to other coordinate reference systems.If a WMS cascades the content of another WMS then it shall increment by 1 the value of the cascaded attribute for the affected layers. If that attribute is missing from the originating server's service metadata, then the cascading WMS shall insert the attribute and set it to 1.
- Returns:
- how many times this
Layerhas been cascaded.
-
isOpaque
@XmlElement(value="opaque") boolean isOpaque()
Indicates whether thisLayer's renderable data should be considered opaque, and therefore requested at the bottom of a stack of maps. Iffalse, then maps made from that layer will generally have significant no-data areas that a client may display as transparent. Vector features such as points and lines are considered not to be opaque in this context (even though at some scales and symbol sizes a collection of features might fill the map area). Atruevalue for opaque indicates that the layer represents an area-filling coverage. For example, a map that represents topography and bathymetry as regions of differing colours will have no transparent areas. The opaque declaration should be taken as a hint to the client to place such a layer at the bottom of a stack of maps.This attribute describes only the layerÃÂs data content, not the picture format of the map response. Whether or not a layer is listed as opaque, a server shall still comply the
GetMapTRANSPARENTparameter: that is, the server shall send an image with a transparent background if and only if the client requestsTRANSPARENT=TRUEand a pictureFORMATthat supports transparency.- Returns:
trueif thisLayer's data is mostly opaque.
-
isNoSubsets
@XmlElement(value="noSubsets") boolean isNoSubsets()
Indicates that thisLayeris not able to produce a map of a geographic area other than this layer's declared bounding box. For example, a WMS that houses a collection of digitized images of historical maps, or pre-computed browse images of satellite data, may not be able to subset or resize those images. However, it can still respond toGetMaprequests for complete maps in the original size.- Returns:
trueif thisLayeris not able to display subsets.
-
getFixedWidth
@XmlElement(value="fixedWidth") int getFixedWidth()
Indicates that thisLayeris not able to produce a map with a width different from the fixed width indicated. A value of 0 indicates thisLayerhas no fixed width.- Returns:
- the fixed width of this
Layer, or 0 if the width is not fixed.
-
getFixedHeight
@XmlElement(value="fixedHeight") int getFixedHeight()
Indicates that thisLayeris not able to produce a map with a height different from the fixed height indicated. A value of 0 indicates thisLayerhas no fixed height.- Returns:
- the fixed height of this
Layer, or 0 if the height is not fixed.
-
getFeatureLayers
java.util.List<FeatureLayer> getFeatureLayers()
Gets the feature layers from thisLayerthat are suitable for adding to aFeatureCanvasin order to visually represent thisLayer.The returned
List(if modifiable) should not be a live list of thisLayer'sFeatureLayers, and modifying the list should not affect thisLayer's set ofFeatureLayers.- Returns:
- the feature layers to add to a
FeatureCanvas.
-
getGraphics
java.util.List<Graphic> getGraphics()
Gets the graphics from thisLayerthat are suitable for adding to aCanvasin order to visually represent thisLayer.The returned
List(if modifiable) should not be a live list of thisLayer'sGraphics, and modifying the list should not affect thisLayer's set ofGraphics.- Returns:
- the
Graphics to add to aCanvas.
-
-
DataMelt 3.0 © DataMelt by jWork.ORG