Andoza:Location map/Creating a new map definition
Andoza:Wikipedia how-to This guides explains how to create map definitions for the {{Location map}} family of templates.
Map definition data
[manbasini tahrirlash]The templates utilize any one of a set of map definitions. These are not forks but rather auxiliary pages and must have names following the pattern "Module:Location map/data/location" or "Template:Location map location", where location is the name of the area covered by the map. The template space is supported only for backward compatibility; all new map definitions should be created as modules. Important: If a new map has the same projection and boundaries as the old map (such as File:Iraq location map.svg and File:Iraq location map2.svg), a new definition should not be created; instead, the old definition should be used with the AlternativeMap parameter. To create a simple map definition module using an image of a map with an equirectangular projection having the equator as its standard parallel (aka plate carrée, “unprojected”, lat/lon projection):
- Create a new map image and upload it to Wikimedia commons or find an existing map on the same site.
- Create a module named Module:Location map/data/location, copy the content below into it and substitute the appropriate values.
- Create a page named Module:Location map/data/location/doc and follow the instructions under #Documentation.
As an example of a map that uses an equirectangular projection, we use Module:Location map/data/Belgium. Please do not experiment using active templates.
return {
name = 'Belgium',
top = 51.8,
bottom = 49.2,
left = 2.2,
right = 6.9,
image = 'Belgium location map.svg',
image1 = 'Belgium relief location map.jpg'
}
Parameter | Description |
---|---|
name
|
The name of the area covered |
top
|
The latitude of the top edge of the image using decimal degrees |
bottom
|
The latitude of the bottom edge of the image |
left
|
longitude of the left edges of the image |
right
|
longitude of the right edges of the image |
image
|
The name of the image file on Commons |
image1
|
The name of an alternate image, usually a relief map, which can be accessed using the relief parameter.
|
Maps of this type will work for small to mid sized areas. Module:Location map/data/USA Alabama is another example of a map description that uses an equirectangular projection. Notice that the image of the country is not what most would expect.
Advanced projections
[manbasini tahrirlash]Maps that use other projections, such as Module:Location map/data/USA, which uses an equidistant conic projection. require formulas which are used to calculate the x
and y
coordinates for the location mark. Understanding these formulas requires a familiarity with the subject, so you are more than welcome to skip this section.
The input $1 is the latitude and $2 is the longitude, both in decimal form. The expression follows the syntax of ParserFunction "#expr". The two output coordinates are defined such that the formula for x
evaluates to 0 for the left edge of the image and 100 for the right edge; the formula for y
evaluates to 0 for the top edge and 100 for the bottom edge.
Documentation
[manbasini tahrirlash]It is easiest to use the de facto template at Module:Location map/data/doc to generate the documentation page. Here is another example of what the documentation might look like:
<!-- Categories and interwikis go at the bottom of this page. --> {{Module:Location map/data/doc|image=[[File:Belgium-CIA WFB Map.png|thumb|250px|Map of Belgium]] |examples= === Location map, using default map (image) === {{Location map | Belgium | width = 200 | lat_deg = 50.85 | lon_deg = 4.35 | label = Brussels }} <pre style="width:30em"> {{Location map | Belgium | width = 200 | lat_deg = 50.85 | lon_deg = 4.35 | label = Brussels }} </pre> {{clear}} === Location map many, using relief map (image1) === {{Location map many | Belgium | relief = yes | width = 200 | caption = Two locations in Belgium | lat1_deg = 50.85 | lon1_deg = 4.35 | label1 = Brussels | lat2_deg = 51.22 | lon2_deg = 4.40 | label2 = Antwerp }} <pre style="width:30em"> {{Location map many | Belgium | relief = yes | width = 200 | caption = Two locations in Belgium | lat1_deg = 50.85 | lon1_deg = 4.35 | label1 = Brussels | lat2_deg = 51.22 | lon2_deg = 4.40 | label2 = Antwerp }} </pre> {{clear}} === Location map+, using AlternativeMap === {{Location map+ | Belgium | AlternativeMap = Belgium relief location map.jpg | width = 200 | caption = Two locations in Belgium | places = {{Location map~ | Belgium | lat_deg = 50.85 | lon_deg = 4.35 | label = Brussels }} {{Location map~ | Belgium | lat_deg = 51.22 | lon_deg = 4.40 | label = Antwerp }} }} <pre style="width:35em"> {{Location map+ | Belgium | AlternativeMap = Belgium relief location map.jpg | width = 200 | caption = Two locations in Belgium | places = {{Location map~ | Belgium | lat_deg = 50.85 | lon_deg = 4.35 | label = Brussels }} {{Location map~ | Belgium | lat_deg = 51.22 | lon_deg = 4.40 | label = Antwerp }} }} </pre> }} <includeonly> <!-- Categories go here, and interwikis go on Wikidata: --> [[Category:Belgium location map templates|Belgium location map templates]] </includeonly>
The following parameters are taken by Module:Location map/data/doc:
Parameter | Description |
---|---|
image
|
An additional image to display (other than the one the location map uses) on the right side of the documentation page. If not specified, no additional image is displayed. |
projection
|
The type of projection the location map uses. If not specified, "an [[equirectangular projection]]" is used. |
name
|
The name to display in the map's documentation. If not specified, the actual name of the location map is used. |
examples
|
A section containing examples of the location map's usage. A {{clear}} template is automatically placed at the end of the examples. If not specified, no examples are output. |
see also
|
Additional links to place in the "See also" section. |
All information about the map will be automatically taken from the map's definition itself.