Skip to Content

Map Server URL Configuration

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

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: http://msdn.microsoft.com/en-us/library/bb259689.aspx

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"

          right="20015087"

          top="20015087"

          bottom="-20015087"

          round="0"

  url="http://www.myMap.com/P1={LU_LONG}%2C{LU_LAT}&P2={RL_LONG}%2C{RL_LAT}"

Former Member

No comments