|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
@XmlElement(value="Layer") public interface Layer
Organizes the basic GO-1 constructs that may be added to FeatureCanvas
or Canvas
.
A GO-1 application may be directed to "add" a Layer
; it should then add the Layer
's
FeatureLayer
and Graphic
s to the respective canvases.
Layer
.
Note that the mutability aspect of Layer
may be revisited in future versions,
so users are encouraged to not rely strongly on current behavior.
Method Summary | |
---|---|
InternationalString |
getAbstract()
Provides the narrative description of this Layer . |
Attribution |
getAttribution()
Provides the attribution for this Layer , which identifies the source of
the geographic information used in this layer. |
List<AuthorityURL> |
getAuthorityURLs()
Provides the authority URLs named in this Layer 's identifiers. |
Collection<Envelope> |
getBoundingBoxes()
Provides the bounding boxes that specify the coordinate ranges for this Layer , as Envelope s, including bounding boxes
inherited from parent Layer s. |
int |
getCascaded()
Indicates how many times this Layer has been cascaded. |
Set<CoordinateReferenceSystem> |
getCRSs()
Provides the coordinate reference systems available to this Layer ,
which includes CRSs inherited from parent Layer s. |
List<DataURL> |
getDataURLs()
Provides the data URLs that offer links to the underlying data represented by this Layer . |
List<FeatureLayer> |
getFeatureLayers()
Gets the feature layers from this Layer that are suitable for adding
to a FeatureCanvas in order to visually represent this Layer . |
List<FeatureListURL> |
getFeatureListURLs()
Provides the feature URLs that point to a list of features represented in this Layer . |
int |
getFixedHeight()
Indicates that this Layer is not able to produce a map
with a height different from the fixed height indicated. |
int |
getFixedWidth()
Indicates that this Layer is not able to produce a map
with a width different from the fixed width indicated. |
GeographicBoundingBox |
getGeographicBoundingBox()
Provides the geographic bounding box that specify the longitude and latitude ranges for this Layer . |
List<Graphic> |
getGraphics()
Gets the graphics from this Layer that are suitable for adding
to a Canvas in order to visually represent this Layer . |
List<Identifier> |
getIdentifiers()
Provides the identifiers containing ID numbers or labels defined by a particular authority. |
List<InternationalString> |
getKeywordList()
Provides keywords to aid in catalogue searches. |
List<Layer> |
getLayers()
Gets the child layers of this Layer . |
double |
getMaxScaleDenominator()
Provides the upper bound for the range of scales for which it is appropriate to generate a map for this Layer . |
List<MetadataURL> |
getMetadataURLs()
Provides the Metadata URLs that offer detailed, standardized metadata about the data for this Layer . |
double |
getMinScaleDenominator()
Provides the lower bound for the range of scales for which it is appropriate to generate a map for this Layer . |
String |
getName()
Provides a unique name for identifying this Layer . |
List<Style> |
getStyles()
Provides the styles that may be requested for this Layer . |
InternationalString |
getTitle()
Provides the human-readable string for presenting this Layer . |
boolean |
isNoSubsets()
Indicates that this Layer is not able to produce a map of a geographic
area other than this layer's declared bounding box. |
boolean |
isOpaque()
Indicates whether this Layer 's renderable data should be considered opaque, and
therefore requested at the bottom of a stack of maps. |
boolean |
isQueryable()
Indicates whether the GetFeatureInfo operation is supported on this Layer . |
Method Detail |
---|
@XmlElement(value="Name") String getName()
Layer
. 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. A layer that contains a Name
element 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 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.
The name is not inherited by child layers.
Layer
.@XmlElement(value="Title") InternationalString getTitle()
Layer
.
Equivalent to Citation.getTitle()
in ISO 19115.
Layer
.@XmlElement(value="Abstract") InternationalString getAbstract()
Layer
.
Equivalent to Identification.getAbstract()
in ISO 19115.
The abstract is not inherited by child layers.
Layer
.@XmlElement(value="KeywordList") List<InternationalString> getKeywordList()
TopicCategory
in ISO 19115 if the vocabulary
attribute of Keyword
element 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 this Layer
's set of keywords.
Layer
's keyword list.@XmlElement(value="CRS") Set<CoordinateReferenceSystem> getCRSs()
Layer
,
which includes CRSs inherited from parent Layer
s. 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 this Layer
's set of CRSs.
Layer
's coordinate reference systems.@XmlElement(value="BoundingBox") Collection<Envelope> getBoundingBoxes()
Layer
, as Envelope
s, including bounding boxes
inherited from parent Layer
s.
Equivalent to BoundingPolygon
in 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 this Layer
's set of bounding boxes.
Layer
's bounding box envelopes.@XmlElement(value="GeographicBoundingBox") GeographicBoundingBox getGeographicBoundingBox()
Layer
.
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.
@XmlElement(value="Attribution") Attribution getAttribution()
Layer
, which identifies the source of
the geographic information used in this layer. This is partially equivalent to
ResponsibleParty
in
ISO 19115.
The attribution is inherited by child layers. Any redefinition by
a child replaces the inherited value.
Layer
's attribution.@XmlElement(value="AuthorityURL") List<AuthorityURL> getAuthorityURLs()
Layer
's identifiers.
Equivalent to Contact.getOnLineResource()
in ISO 19115.
The returned List
(if modifiable) should not be live, and
modifying it should have no affect on this Layer
's set of authority URLs.
Layer
's authority URLs.@XmlElement(value="Identifier") List<Identifier> getIdentifiers()
Identifier.getCode()
in ISO 19115.
The returned List
(if modifiable) should not be live, and
modifying it should have no affect on this Layer
's set of identifiers.
Layer
's identifiers.@XmlElement(value="MetadataURL") List<MetadataURL> getMetadataURLs()
Layer
.
The returned List
(if modifiable) should not be live, and modifying
it should have no affect on this Layer
's set of metadata URLs.
Layer
's metadata URLs.@XmlElement(value="DataURL") List<DataURL> getDataURLs()
Layer
.
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 this Layer
's set of data URLs.
Layer
's data URLs.@XmlElement(value="FeatureListURL") List<FeatureListURL> getFeatureListURLs()
Layer
.
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 this Layer
's feature list URLs.
Layer
's feature list URLs.@XmlElement(value="Style") List<Style> getStyles()
Layer
.
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 request STYLES
parameter. 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 this Layer
's styles.
Layer
's styles.@XmlElement(value="MinScaleDenominator") double getMinScaleDenominator()
Layer
. See "Scale denominators" section in
package description. A value of 0 indicates this
Layer
has no minimum scale denominator. Negative values are not allowed.
@XmlElement(value="MaxScaleDenominator") double getMaxScaleDenominator()
Layer
. See "Scale denominators" section in
package description. A value of Double.POSITIVE_INFINITY
indicates this Layer
has no maximum scale denominator.
List<Layer> getLayers()
Layer
. Typically, a Layer
will have either
child Layer
s or some combination of FeatureLayer
s and/or Graphic
s.
The returned List
(if modifiable) should not be a live list.
Modifying the list should have no affect on this Layer
's child layers.
@XmlElement(value="queryable") boolean isQueryable()
GetFeatureInfo
operation is supported on this Layer
.
A server may support GetFeatureInfo
on some of its layers but not on all. A server
shall issue a service exception ("LayerNotQueryable") if GetFeatureInfo
is requested
on a layer that is not queryable.
true
if this Layer
supports GetFeatureInfo
.@XmlElement(value="cascaded") int getCascaded()
Layer
has 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.
Layer
has been cascaded.@XmlElement(value="opaque") boolean isOpaque()
Layer
's renderable data should be considered opaque, and
therefore requested at the bottom of a stack of maps. If false
, 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). A true
value 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 GetMap
TRANSPARENT
parameter: that is, the server shall send an image with a transparent
background if and only if the client requests TRANSPARENT=TRUE
and a picture
FORMAT
that supports transparency.
true
if this Layer
's data is mostly opaque.@XmlElement(value="noSubsets") boolean isNoSubsets()
Layer
is 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 to GetMap
requests
for complete maps in the original size.
true
if this Layer
is not able to display subsets.@XmlElement(value="fixedWidth") int getFixedWidth()
Layer
is not able to produce a map
with a width different from the fixed width indicated. A value
of 0 indicates this Layer
has no fixed width.
Layer
, or 0 if the width is not fixed.@XmlElement(value="fixedHeight") int getFixedHeight()
Layer
is not able to produce a map
with a height different from the fixed height indicated. A value
of 0 indicates this Layer
has no fixed height.
Layer
, or 0 if the height is not fixed.List<FeatureLayer> getFeatureLayers()
Layer
that are suitable for adding
to a FeatureCanvas
in order to visually represent this Layer
.
The returned List
(if modifiable) should not be a live list of this Layer
's
FeatureLayer
s, and modifying the list should not affect this Layer
's set of
FeatureLayer
s.
FeatureCanvas
.List<Graphic> getGraphics()
Layer
that are suitable for adding
to a Canvas
in order to visually represent this Layer
.
The returned List
(if modifiable) should not be a live list of this Layer
's
Graphic
s, and modifying the list should not affect this Layer
's set of
Graphic
s.
Graphic
s to add to a Canvas
.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |