Template:Location map/Creating a new map definition
Template:Wikipedia how-to This guides explains how to create map definitions for the {{Location map}} family of templates.
Map definition data
This section needs expansion. You can help by adding to it. (August 2011) |
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
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
It is easiest to use the de facto template at Template:Location map data documentation 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. -->
{{Location map data documentation|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>