62
Copyright © 2010 Open Geospatial Consortium Inc.
10.2 Tile resource mandatory in resource oriented architectural style
10.2.1 GetResourceRepresentation request
The ServiceMetadata document in the resource oriented architectural style MAY contain a list of Layer elements and each layer that is available to be retrieved in this architectural
style SHALL have one or more ResourceURL elements with the resourceType attribute set to tile and a template attribute. In this RESTful approach the template
attribute contains a URL template that can be converted to a URL by using a template processor and then get the expected tile in the format specified by the attribute format
by requesting the resource with a standard HTTP GET.
Figure 13 — URLTemplate for tile UML class diagram
Table 31 — Parts of the URLTemplate data structure for tiles
Names Definition
Data type and values Multiplicity and use
format
format
Format of the resource representation that can be retrieved one resolved
the URL template ows:MimeType
One mandatory resource
Type
resource Type
Resource type to be retrieved Character String type,
not empty SHALL contain tile
One mandatory
template
template
URL template
a
. Character String type
but with the same limitations than a URI
RFC2396 adding support to { and }
characters. One mandatory
a A template processor will apply the rules in Table 32 to get a URL to a resource.
A template processor is a program or library that runs on the client side and converts a URL template into a URL. It will have to process the URL template that contains variable
names marked off in matching braces {, } and substitute them with the corresponding
DataType URLTemplateDescription
+ format : MimeType + resourceType: CharacterString = tile {frozen}
+ template: CharacterString
template is a CharacterString but with
the same limitations than a URI RFC2396 adding
support to { and } characters.
Copyright © 2010 Open Geospatial Consortium Inc.
63 valid value. The template processor SHALL support the following variable names:
Style, TileMatrixSet, TileMatrix, TileRow, TileCol and any dimension identifier that has been defined for this layer in the element .Dimensionows:Identifier.
The template processor SHALL substitute the variable names by the values of the elements as shown in Table 32.
Possible values and ranges of the variables in the URL template can be extracted from the SeviceMetadata document parameters. The following table lists all the possible variable
names, their description, possible values and multiplicity. Assuming a ServiceMetadata in XML format the possible values are also given using XPath expressions that point to
the ServiceMetadata document. When a relative XPath is used, it is relative to its layer element of the ServiceMetadata document.
When a variable has only one possible value for this layer, the use of the direct value instead of the variable is recommended on the URL template.
Table 32 — URL template variables and possible values for tile
URL template variable
Meaning Possible values
Multiplicity
style
Style identifier
identifier in Table 7
.styleows:Identifier
One mandatory
a
.Dimension ows:Identifie
r
Dimension value
identifier in Table 9
.Dimension[ows:Identifier={.Dimension ows:Identifier}]Value
One for each dimension
available mandatory if
there are dimensions
defined
TileMatrix Set
tile matrix set
identifier identifier in Table 6
. TileMatrixSetLinkTileMatrixSet
One mandatory
a
TileMatrix
tile matrix identifier
identifier in Table 14
CapabilitiesContentsTileMatrixSet[ ows:Identifier={TileMatrixSet}]TileMatrix
ows:Identifier
One mandatory
a
TileRow
row index of tile
matrix If TileMatrixSetLimits is present, see Table 10,
.TileMatrixSetLimits
, SHALL be any integer value between MinTileRow and MaxTileRow in
Table 12 both included
.tileMatrixSetLimitstileMatrixLimits[. TileMatrix={TileMatrix}]MinTileRow
and
.tileMatrixSetLimitstileMatrixLimits[.T ileMatrix={TileMatrix}]MaxTileRow
. else SHALL be any integer value between 0 and
MatrixHeight – 1, see Table 14, both included 0
and
CapabilitiesContentsTileMatrixSet[ows:I dentifier={TileMatrixSet}]TileMatrix[ows:
Identifier={TileMatrix}]MatrixHeight – 1
One mandatory
a