From MediaWiki.org
Jump to navigation Jump to search
MediaWiki extensions manualManual:Extensions
Crystal Clear action run.svg

Release status:Extension status stable

ImplementationTemplate:Extension#type Parser function, Tag
DescriptionTemplate:Extension#description Gives access to several data and mapping sources.
Author(s)Template:Extension#username Roland Unger
Latest versionTemplate:Extension#version 1.07
MediaWikiTemplate:Extension#mediawiki 1.23+
PHPTemplate:Extension#php 5.4+
Database changesTemplate:Extension#needs-updatephp No
LicenseTemplate:Extension#license GNU General Public License 2.0 or later

  • dd2dms
  • deg2dd
  • geoLink
  • slippymap
Hooks usedTemplate:Extension#hook

Translate the MapSources extension if it is available at translatewiki.net

Check usage and version matrix.


Open tasks · Report a bug

The MapSources extension gives access to several data and mapping sources.


Note Note: Use the version for MW 1.25 for MW 1.23+ since older releases will not work properly.

  • Download and place the file(s) in a directory called MapSources in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php:
    require_once "$IP/extensions/MapSources/MapSources.php";
  • YesY Done - Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Special page[edit]


The Map Sources special page uses project:map sources as a form of template for the Special:MapSources page output. This project page uses place holders as described below. The base name of this project page is taken from the mapsources message string (MediaWiki:Mapsources) of the content language.

The text language will not be changed by the user language, it depends only on the content language. Therefore, you must have only one project page per wiki. If the project page does not exist, the extension will fail with an error:

Error messages

  • No project page Источники карт available

URL and search parameters[edit]

Two different types of input parameter sets are accepted:

  • The Wikipedia Georeference code like
    • 51.5_N_0.125_W_scale:10000_region:UK
  • A comma- or semicolon-separated list of latitude, langitude, and parameters. Latitude and langitude can be written in decimal or sexagesimal forms, ie deg[°] [min['] [sec['']]] [N|S|E|W]. The parameters must be separated by spaces or underscores. The parameter name and its value are separated by a colon “:” or an equal sign “=”. Example:
    • 51.5,-0.125,scale:10000 region=UK



Sets the desired map scale as 1:N. This will override the default scale 1:100.000 or the type.


Sets the type of this location, which will be used for the reverse mapping of the points. Will also set the default map scale. Types are:

Type Description Scale
country (e.g. "type:country") 1:10,000,000
state Where applicable 1:3,000,000
adm1st Administrative unit of country, 1st level (province, county) 1:1,000,000
adm2nd Administrative unit of country, 2nd level 1:300,000
city City, town or village, unspecified population. Will be treated as a minor city. 1:100,000
mountain peaks, mountain passes 1:100,000
isle 1:100,000
waterbody Bays, fjords, lakes, glaciers, inland seas... 1:100,000
airport 1:30,000
landmark Cultural landmark, building of special interest, tourist attraction and other points of interest. 1:10,000


Specifies the size of a location by meters. Not yet supported.


Sets the preferred map region of coverage, used in selecting appropriate map resources for the area. The region should be supplied as either a two character ISO 3166-1 alpha-2 country code, or an ISO 3166-2 region code. Examples:

  • US
  • DE
  • DE-BB (Brandenburg state in Germany)


Specifies other worlds than earth. Such as Moon or other planets.


Specifies the number of valid decimal places of the coordinate. Default value is 6.


Type Description
{latdegdec} Decimal value of the latitude like -0.125 or 51.5.
{latdegabs} Unsigned value of the latitude like 0.125 or 51.5.
{latdegint} Integer value of the latitude like 0 or 51.
{latmindec} Decimal value of the latitude's minute like 30.0 or 7.5.
{latminint} Integer value of the latitude's minute like 30 or 7.
{latsecdec} Decimal value of the latitude's second like 30.0 or 7.5.
{latsecint} Integer value of the latitude's second like 30 or 7.
{latNS} Latitude direction N or S.
{londegdec} Decimal value of the longitude like -0.125 or 51.5.
{londegabs} Unsigned value of the longitude like 0.125 or 51.5.
{londegneg} Negative decimal value of the longitude like 0.125 or -51.5.
{londegint} Integer value of the longitude like 0 or 51.
{lonmindec} Decimal value of the longitude's minute like 30.0 or 7.5.
{lonminint} Integer value of the longitude's minute like 30 or 7.
{lonsecdec} Decimal value of the longitude's second like 30.0 or 7.5.
{lonsecint} Integer value of the longitude's second like 30 or 7.
{lonEW} Longitude direction E or W
{scale} Scale
{mmscale} Multimap fixed scales
{altitude} MSN altitude = scale * 143/1000000
{zoom} Mapquest zoom 0 ... 9, 9 is approximately 1:6,000, 5 (default) is approximately 1:333,000, 2 is approximately 1:8,570,000
{span} Google and Tiger span = scale/1000000
{osmzoom} OSM zoom 0 ... 18, osmzoom = round (ld (5E8 / scale))
{osmzoommap} osmzoom - 1
{type} Location type (see above)
{region} Region code (see above)
{globe} Globe type (see above)
{params} Wikipedia Georeference parameter, for instance used by Geohack
{utmzone} Universal Transverse Mercator coordinate system using the WGS84 ellipsoid
UTM zone
{utmnorthing} UTM northing
{utmeasting} UTM easting
{utmerror} UTM out-of-range error message
{utm33northing} UTM for zone 33
UTM northing
{utm33easting} UTM easting
{utm33error} UTM out-of-range error message
{osgb36ref} OSGB36, British national grid reference system using the Airy 1830 ellipsoid
UK Ordnance Survey reference
{osgb36northing} OSGB36 northing
{osgb36easting} OSGB36 easting
{osgb36error} OSGB36 out-of-range error message
{ch1903northing} CH1903, Swiss coordinate system (Swiss grid) using the 1841 Bessel ellipsoid
CH1903 northing
{ch1903easting} CH1903 easting
{ch1903error} CH1903 out-of-range error message
{nztmnorthing} New Zealand NZTM2000, New Zealand coordinate system using the WGS84 ellipsoid
NZTM2000 northing
{nztmeasting} NZTM2000 easting
{nztmerror} NZTM2000 out-of-range error message

Approximation of the Universal Transverse Mercator conversion[edit]

This program uses Redfearn’s formulae to convert a given latitude and longitude into the equivalent Transverse Mercator (TM) coordinates.

Meridian Distance[edit]

The Meridian Distance m from the equator is given approximately by:

where are

  • r the size of the major semi axis
  • e the eccentricity of the reference ellipsoid
  • φ the latitude in radian

Calculation of Northing and Easting[edit]

Parser functions[edit]



  • dd2dms converts degrees to degree-minute-second format. It uses the required coordinate and the optional plus, minus and precision values.
    • Application: {{#dd2dms: 14.5|plus=String for the positive cardinal direction|minus=String for the negative cardinal direction|precision=decimal places}}
    • Example: {{#dd2dms: 14.58|precision=4}} gives {{#dd2dms: 14.58|precision=4}}
    • Example: {{#dd2dms: 14.58|precision=2}} gives {{#dd2dms: 14.58|precision=2}}

Degree values can be both sexagesimal and decimal.

Strings for the cardial directions will be added to the dms value. They can be empty, single letters or strings and will be added at the end of the conversion result. If the original value is graeter or equal zero, the plus string is added, otherwise the minus string is used.


  • deg2dd converts degrees to decimal-degree format.
    • Application: {{#deg2dd: 14° 23' 45''|precision=decimal places}}
    • Example: {{#deg2dd: 14° 23' 45'' S|precision=3}} gives {{#deg2dd: 14° 23' 45 S|precision=3}}


The third function, geoLink, can be used to convert a complete geographic coordinate without reapplying the dd2dms function:

  • geoLink replaces a string pattern with coordinates.
    • Application: {{#geoLink: pattern|lat=10.5|long=20.5|plusLat=N|plusLong=E|minusLat=S|minusLong=W|precision=decimal places}}

The following example shows how to write a template showing a text link to a Map Sources special page:

{{#geoLink: [http://www.wikivoyage.org/w/tech/index.php?title=Special:Mapsources&params=$1_$2{{#if:
 {{{scale|}}}|_scale:{{{scale}}}|_scale:100000}}{{#if: {{{type|}}}|_type:{{{type}}}}}{{#if:
 {{{globe|}}}|_globe:{{{globe}}}}}{{#if: {{{region|}}}|_region:{{{region}}}}} $3 $4]

The pattern string can obtain up to four different place holders $1 ... $6.

  • $1 means the latitude in Wikipedia syntax including the direction letter like 51.2323_N.
  • $2 means the longitude in Wikipedia syntax including the direction letter like 51.2323_E.
  • $3 means the latitude in degree, minute and second format considering the strings for the cardinal directions and the precision, see also dd2dms.
  • $4 means the longitude in degree, minute and second format considering the strings for the cardinal directions and the precision, see also dd2dms.
  • $5 means the latitude.
  • $6 means the longitude.

Sexagesimal coordinate format[edit]

You can enter coordinates in the sexagesimal system in the following way:

deg[°] [min['] [sec['']]] [N|S|E|W]

deg, min, sec mean the degree, minute and second values, respectively. The designations can be omitted, but the succession must be kept.

There are alternative characters for the designations in the following way:

Meaning Characters
Degree °
Minute ' ‘ ’ ′
Second " '' “ ”
Minus - −

Parser tag[edit]

Beginning of June 2016 the usage of the "slippymap" parser tag was depreciated. It will be removed end of October 2016. See Deprecate <slippymap> provided by MapSources in favor of Kartographer's <mapframe> for further information. See also the Kartographer extension for a replacement.


This is a tag that specifies several parameters (lat, lon, z, h, w, layer, marker).

used as tag
<slippymap h=300 w=450 z=12 lat=40.69052122695 lon=-74.039214998645 layer=mapnik marker=1></slippymap>
used as parser function



  • Redfearn’s formulae
    Redfearn, J.C.B. : Transverse Mercator Formulae. In: Empire Survey Review <London> 9,69 (July 1948), pp. 318 ‒ 322.
  • Approximation using power series
    Hofmann-Wellenhof, Bernhard ; Lichtenegger, Herbert ; Collins, James : Global positioning system : theory and practice. – Wien [u.a.] : Springer, 2001.