The template is an XML file with a number of <layer>
elements, which reference various types of map data. The template can have <type="basemap">
or <type="overlay">
, which decides what type of layer can be used.
This article details the elements and attributes of the template. For detailed examples of some of the possible layer types see:
Example
<compositemaptemplate id="1ff8e35e-5690-449e-b0e4" name="Test-Norge" version="0.0.127">
<layer type="MapLayer" name="OpenstreetMap">
<opacity>1</opacity>
<brightness>0</brightness>
<gamma>1</gamma>
<contrast>0</contrast>
<grayscale>false</grayscale>
<minscalevisible>244</minscalevisible>
<maxscalevisible>128000000</maxscalevisible>
<datasource>
<mapsignature />
<maptype>WmsMap</maptype>
<showlabels>false</showlabels>
<usecache>true</usecache>
</datasource>
<visible>true</visible>
<property key="serviceType" value="OpenstreetMap" />
<property key="labels:fetchdata" value="false" />
</layer>
<layer type="MapLayer" name="norge">
<opacity>1</opacity>
<brightness>0</brightness>
<gamma>1</gamma>
<contrast>0</contrast>
<grayscale>false</grayscale>
<minscalevisible>244</minscalevisible>
<maxscalevisible>32000000</maxscalevisible>
<datasource>
<mapsignature>norgen50-n5000</mapsignature>
<version min="1.0.0" max="1.99.99" releasetype="Release" versiontype="Newest"/>
<maptype>VectorMap</maptype>
<showlabels>true</showlabels>
<usecache>true</usecache>
</datasource>
<visible>true</visible>
<property key="labels:fetchdata" value="true" />
</layer>
<layer type="ModLayer" name="Normalmapelevations" category="ElevEffects">
<opacity>1</opacity>
<brightness>0</brightness>
<gamma>1</gamma>
<contrast>0</contrast>
<grayscale>false</grayscale>
<compression>Any</compression>
<minscalevisible>244</minscalevisible>
<maxscalevisible>128000000</maxscalevisible>
<description>Elevation shading layer based on prerendered normal maps</description>
<datasource>
<mapsignature>norway_normals20m</mapsignature>
<maptype>RasterMap</maptype>
<showlabels>true</showlabels>
<usecache>true</usecache>
</datasource>
<visible>true</visible>
</layer>
<bookmark name="Oslo" lat="59.87" lon="10.64" scale="15000" mapsignature="norgen50-n5000" default="true" />
</compositemaptemplate>
Compositemaptemplate
<compositemaptemplate>
is the root node of the template-xml.
Compositetemplates consist of one or multiple map layer-elements that together describe how to assemble a map from one or multiple datasources (services).
Attribute
|
Description
|
name
|
|
id
|
|
version
|
|
type
|
|
"Compositemaptemplate" child elements
|
Description
|
Properties
|
description
|
Text describing template.
|
O
|
layer
|
Map layer block. Collection of data parameters needed to build a map layer in Maria GDK.
|
R C A
|
bookmark
|
Add bookmarks that are part of the template. Can be zero or more instances.
|
|
templatefilter
|
(Maria GDK 3.1+) Used for building dynamic templates
|
O A
|
Bookmark
<bookmark>
is the root node.
Attribute
|
Description
|
name
|
A descriptive name of the bookmark
|
lat
|
The latitude of the bookmark.
|
lon
|
The longitude of the bookmark.
|
scale
|
The scale of the bookmark.
|
mapsignature
|
The mapsignature this bookmark is valid for.
|
default
|
true/false. Indicates that the bookmark will be used as the default position and scale when opening the template.
|
Element
|
Description
|
description
|
A description of the bookmark.
|
Example:
<bookmark lat="60" lon="10" scale="1000000" mapsignature="bluemarble2012" name="Østlandet">
<description>Posisjon over Østlandet.</description>
</bookmark>
Layer
Attribute
|
Description
|
Properties
|
mapsignature
|
Unique key that identifies a raster or vector map package.
|
|
type
|
Layer type (MapLayer, ModLayer, Placeholder, PropagationLayer, WmsLayer). See below for valid layer type values.
|
O
|
category
|
Layer category. Only valid when type attribute is ModLayer . See Table 2: layer category attribute values.
|
O
|
Valid layer type attribute values:
Value
|
Description
|
MapLayer
|
Default value. Layer contains vector or raster data.
|
ModLayer
|
Modification layer. Used for f.ex. elevation effects. Indicates that this layer will modify data from another layer.
|
Placeholder
|
Placeholder layer. Used to signal where data from other sources should be inserted in the template.
|
PropagationLayer
|
Special layer used to display propagation data.
|
WmsLayer
|
Special layer used to display WMS data.
|
ElevationLayer
|
Elevation data layer
|
Valid layer category attribute values:
Value
|
Description
|
ElevEffects
|
Elevation shading effects.
|
"Layer" child elements
|
Description
|
Properties
|
Opacity
|
Starting opacity of the map template layer
|
|
Brightness
|
Starting brightness of the map template layer
|
|
Gamma
|
Starting gamma of the map template layer
|
|
Contrast
|
Starting contrast of the map template layer
|
|
Grayscale
|
Indicates if this map layer should be displayed in gray scale.
|
|
Description
|
Text describing layer.
|
O
|
Minscalevisible
|
Template layer minimum scale value
|
|
Maxscalevisible
|
Template layer maximum scale value
|
|
Datasource
|
Settings related to the source of map data for the current layer
|
|
Visible
|
Indicates if the layer should be visible or not
|
|
Property
|
Generic key/value properties used for controlling various aspects of the map layers.
|
|
Opacity
Valid values
|
Description
|
0.0 - 1.0
|
Sets the starting opacity of this map template layer
|
Brightness
Valid values
|
Description
|
-1.0 - 1.0
|
Sets the starting brightness of this map template layer
|
Gamma
Valid values
|
Description
|
0.5 - 2.2
|
Sets the starting gamma of this map template layer. Value should preferably be between 0.5 and 2.2
|
Contrast
Valid values
|
Description
|
-1.0 - 1.0
|
Sets the starting contrast of this map template layer
|
Grayscale
Valid values
|
Description
|
true/false
|
Indicates if this map layer should be displayed in gray scale
|
Description
Valid values
|
Description
|
textstring
|
Text describing the layer
|
Minscalevisible
Valid values
|
Description
|
0 - ∞
|
Template layer minimum scale value. The layer will not be visible at scales lower than this. Use of scale factors (k/K/m/M) are allowed.
|
Maxscalevisible
Valid values
|
Description
|
0 - ∞
|
Template layer maximum scale value. The layer will not be visible at scales higher than this. Use of scale factors (k/K/m/M) are allowed.
|
Visible
Valid values
|
Description
|
true/false
|
Indicates if the layer should be visible or not
|
Property
The following property key/values are recognized:
Key
|
Value
|
Description
|
coverage:show
|
true/false
|
Indicates if rectangles showing the coverage of the map data is to be drawn
|
resampling
|
nearest or linear
|
Resampling method for the map layer. Nearest resampling will give sharp and distinct pixels when zoomed in, whereas linear (which is the default) will give smoother edges.
|
Example:
<property key="coverage:show" value="false" />
<property key="resampling" value="nearest" />
Datasource
"Datasource" child elements
|
Description
|
Properties
|
mapsignature
|
Unique key that identifies a map package or m6m multidataset.
|
O A
|
maptype
|
Map content type.
|
O A
|
mapprovider
|
Map data provider referencing a <dataprovider> data set. (GDK 4.2+)
|
O A
|
version
|
Version specification
|
O A
|
hostcategory
|
Map service host category.
|
O A
|
showlabels
|
Indicates if labels should be drawn (obsolete since GDK 4.3+)
|
|
layergroupfilter
|
Group filter. Used to exclude or include parts of layerdata.
|
O C
|
usecache
|
Decides if the system should prefer the cache.
|
O C
|
templatefilter
|
(Maria GDK 3.1+) Used for building dynamic templates
|
O A
|
Note: showlabels-parameter is obsolete since Maria GDK 4.3. Use property "labels:fetchdata" to control label visibility.
Mapsignature
Valid values
|
Description
|
textstring
|
For vector maps, this is the filename of the map package (excluding ".m6mmappackage.xml"). For raster maps, the signature is an attribute of the <mappackage> element in the .rastermappackages.xml file.
|
Maptype
Valid values
|
Note
|
Undefined
|
This is the default maptype
|
VectorMap
|
|
RasterMap
|
|
CompositeMap
|
|
Propagation
|
|
ElevationData
|
|
ElevationNormals
|
Generate normal maps from an elevation data set. If you have pregenerated normal maps, use regular RasterMap instead.
|
ElevationColorMap
|
Map layers colored according to a function of the terrain surface. The default elevation data provider is assumed, and no data provider block is needed.
|
ColorMap
|
Map layers colored according to a function of input data. A data provider is needed, and the correct data provider must be referenced with the <mapprovider> tag.
|
Bathymetry
|
|
WmsMap
|
|
Mapprovider
The mapprovider is currently only used for ColorMapLayer layer types, with maptype ColorMap or ElevationColorMap. The mapprovider references a data to color map provider based on the <dataprovider> block with the same ID. See example in Color map layers in templates.
Version
Version specification is used to specify specific versions or ranges of versions for map sources (map packages).
Attribute
|
Valid values
|
Comment
|
min
|
Three part numeric, semantic version, "1.0.3"
|
Lowest version accepted
|
max
|
Three part numeric, semantic version, "1.0.7"
|
Highest version accepted
|
releasetype
|
Release, Draft, AnyReleaseState (default)
|
If set to "Release" or "Draft", only versions of that type will be accepted
|
versiontype
|
AnyVersion (default), Exact, Newest
|
"AnyVersion" matches any in range. Exact only matches "min", "Newest" matches only newest version if mixed versions are present
|
Showlabels
Valid values
|
Description
|
true/false
|
Indicates if labels should be drawn.
|
Usecache
Valid values
|
Description
|
true/false
|
Indicates if cached map data should be used
|
Layergroupfilter
Use group filters to control which vector map themes should be displayed in map layer. "-" in front of feature group name excludes group from map. Subgroups must include the parent group(s), separated with backslash ""
Example (show only motorways and railways):
<layergroupfilter>Roads\Motorways</layergroupfilter>
<layergroupfilter>Railways</layergroupfilter>
Templatefilter (only Maria GDK 3.1+)
<templatefilter>
is the root node.
Attribute
|
Description
|
refs
|
List of overlay-tags to include in template. Only used in basemap templates (not overlays)
|
tags
|
List over tags valid for this overlay. Only used in overlays.
|
pri
|
Priority number. Lower number equals higher priority. Default value is 100. Only used in overlays.
|
template.xml:
<compositemaptemplate name="BasemapXYZ" id="5497D2A9-25C6-429B-AA9A-0ADAB98721C0">
<templatefilter refs="groundraster, norwayoverlay, seaoverlay"/>
</compositemaptemplate>
or:
<compositemaptemplate name="TestRef" id="5497D2A9-25C6-429B-AA9A-0ADAB98721C0">
<layer type="MapLayer" name="Groundrasters">
<.../>
<datasource>
<templatefilter refs="groundraster"/>
</datasource>
</layer>
</compositemaptemplate>
overlay.xml:
<compositemaptemplate name="test" id="0CB9BB2B-3C4E-4922-889B-7442E683C2AB">
<templatefilter tags="groundraster" pri="500"/>
<layer type="OverlayLayer" name="OpenstreetMap">
<.../>
</layer>
</compositemaptemplate>
Dataprovider (only Maria GDK 4.2+)
The dataprovider block can be used to define datasets which are used in dynamically generated map layers, typically color map layers. The data provider block can contain a set of mapdatafilters which specify which raster data input sets to include in this provider. The filters operate on map signatures and tags, so that any dataset with the correct map signature or tag will be included.
The ID of a dataprovider must be unique across the whole system in the same manner as map signatures, so using GUIDs is strongly recommended.
The Type parameter of the dataprovider determines which map content type to include in the data set.
The following example shows one dataprovider with two map signatures, and one with a tag.
<compositemaptemplate name="test" id="5497D2A9-25C6-429B-AA9A-0ADAB98721C0">
...
<dataprovider id="clutterdata-9b95373c-0c47-46ca-bf69-5f716b9f88cf" type="GenericData" >
<mapdatafilter signature="norkring_clutter25_asc_068714fe2b6f"/>
<mapdatafilter signature="extra_clutter25"/>
</dataprovider>
<dataprovider id="clutterdata-9008D162-EB84-4853-BBDB-82CFE1D42B77" type="GenericData" >
<mapdatafilter tags="clutter"/>
</dataprovider>
</compositemaptemplate>