Skip to end of metadata
Go to start of metadata

In this document Configuring or changing a map provider in SAP Visual Business a general overview is given.


Map Provider Source Urls in the Visual Business Map Configuration are url templates for actual image-based map tile requests. As you move around the GeoMap, Visual Business calculates various parameters used by different Map Providers and replaces these (if present) in your template URL. Visual Business then requests the URL resource and places the resulting map tile on a canvas. The url template should contain tokens for the various parameters expected by your map provider. Tokens should be in the format {TOKEN}. Depending on the tokens present, Visual Business will calculate various values for replacement. The table below summarises this flow logic. 

Always CalculatedCalculated if any of LU_LONG, LU_LAT, RL_LONG, RL_LAT presentCalculated if Present

The important thing here, is that X,Y,-Y, LOD are always calculated, but if your URL looks like http://server/{X}/{Y}/{WIDTH}/{LOD}.png then {WIDTH} will not be replaced, because it is only processed if any of the bounding box parameters (LU_* etc.) are present. 

SAP Visual Business does not support vector tile formats for base maps

Using quadkey

A quadkey is a standard way to code the position of a tile on a squared picture (of the earth in our case). The algorithm splits the picture into 4 squares, where '0' represents the left upper square, '1' the right upper, '2' the left lower and '3' the right lower square. So a quadkey '0' represents the tile with the North West part of the world picture (an empty quadkey '' represents the complete picture, btw). Further continuing this process and further adding the square digits to the quadkey leads to quadkeys for even smaller tiles. In the end the length of the quadkey is equivalent to the level of detail, a tile on LOD 3 is consequently always 3 digits long (of course it is not possible to cut off leading 'zeros').

Some information on the topic can be found in the Internet, for example on the msdn page explaining the Bing Tile System:

The tag {QUAD} is used in the URL to represent the actual quadkey of the respective tile as shown in many examples before:


Numerical quadkeys

As shown above a quadkey is a string with length LOD containing a sequence of the digits "0","1","2" and "3". As only 4 different digits are used this representation is hardly optimal in sense of size. To improve that it is also possible to use a variant of the quadkey which converts the string to a integer number. This is shorter but rarely used. The tag in the url has to be {NUMT} to hand over the numerical quadkey.

Using x, y and LOD

Some map providers require the position plus the level of detail to be transfered. The usage is straight forward and self-explaining.


Using Left Upper corner and Right Lower corner points

Another possibility is the specification of the left uper corner point together with the opposite point. These services allow to request any picture, it does not have to fit in the LOD/x/y pattern. Speaking in other words the LOD need not to be a whole number here. Nevertheless we requests only bitmaps which fit tour our tile pattern which follows the LOD / quadkey pattern.
To specify the two points the x and the y coordinate of longitude and latitude has to be transfered as in the following example (%2C is a slash, & must be read as &):


Specifying height and width

When the single picture mode is used, it is no more sufficient to specify the coordinates as the map provider has to be aware of the extensions of the picture. A standard tile is assumed to be 256x256, when we request a picture containing a 8x8 square of tiles we consequently request a picture with height and width of 2048. As we have a special case (on the 180° Meridian) where we request no more a square but a band of let's say 2x8 tiles (and a second one with 6x8 tiles) we have to specify both width and height.
This is done according to the following scheme:


Rebasing the corner points

The above example for specifying the left upper and right lower corner points expect an x value between -180.0 and +180.0 and and y value between -90.0 and 90.0 (please note that this is also valid for mercator projected projects as the projection occurs afterwards). Some providers use a different coordinate system, For example we found one map provider, which is using a -20015087 to 20015087 range. The y range is in fact -10007543 to 20015087 as the southern regions are not supported by the map, but theoretically the south pole is still on -20015087.

But getting back to the projection. To trigger a transformation from [-180..180] to [x1..x2] and [-90..90] to [y1..y2] the respective values have to be provided as MapBase as in below example. The base is valid for all sources. Additionally to the base itself a rounding parameter has to be provided to specify the number of digits which have to be parsed to the URL. Some map provider accepts only integer values, so we have to round to zero digits.

MapBase left="-20015087" 


  • No labels