Template:Coord/sandbox
This is the template sandbox page for Template:Coord (diff). See also the companion subpage for test cases. |
This is a candidate to have a transwiki guide. Due to the complexity of the project or template, this guide will help editors adapt it to a remote wiki when this cannot be done by simply copying the codes of one single template. If you know this template syntax very well, feel free to start the guide in Template:Coord/sandbox/Transwiki guide. Once the transwiki guide page is complete, replace this tag by {{Transwiki guide}}. |
This template uses Lua: |
navbox
or vertical-navbox
attributes are not displayed on the mobile site. This template does not display in the mobile view of Wikipedia; it is desktop only. Read the documentation for an explanation. |
Quick guide[edit]
Quick how to
|
---|
To add Coord}}, thus:
These coordinates are in degrees, minutes, and seconds of arc. "title" means that the coordinates will be displayed next to the title. | to the top of an article, use {{
To add
or
These coordinates are in decimal degrees. | to the top of an article, use either
|
Optional coordinate parameters follow the longitude and are separated by an underscore ("_"):
Other optional parameters are separated by a pipe ("|"):
Thus:
Use |
|
Purpose[edit]
{{Coord}} provides a standard notation for encoding locations by their latitude and longitude coordinates. It is primarily for specifying the WGS84 geographic coordinates of locations on Earth, at the same time emitting a machine-readable Geo microformat. However, it can also encode locations on natural satellites, dwarf planets, and planets other than Earth.
- To specify celestial coordinates, use {{Sky}} instead.
- Tag articles which lack coordinates (but need them) with {{Coord missing}}.
- If the subject's location is truly unknown or disputed, note this with {{Coord unknown}}.
- If the coordinates were transcluded from Wikidata, use {{WikidataCoord}}.
See also: Wikipedia:WikiProject Geographical coordinates.
Features[edit]
Latitude and longitude may be specified (with appropriate precision) either in decimal notation or as degrees/minutes/seconds. By default, coordinates appear in the format used to specify them. However, the format=
parameter can be used to force display in a particular format. The template also accepts and displays coordinates formatted as degrees and decimal minutes as found on charts and maritime references.
The template displays the formatted coordinates with a hyperlink to GeoHack. GeoHack displays information customized to the location, including links to external mapping services.
For terrestrial locations, a blue globe () appears to the left of the hyperlink. Clicking on the globe activates the WikiMiniAtlas (requires JavaScript).
By default, coordinates appear "in line" with the adjacent text. However, the display=
parameter can be used to move the coordinates up near the page title (in desktop view only; title coordinates do not display in mobile view)—or display them in both places at once.
The template outputs coordinates in three formats:
- Degree/minutes/seconds ("DMS", precision is degrees, or degrees/minutes, or degrees/minutes/seconds, based on input precision).
- Decimal degrees (varying the number of decimal places based on input precision)
- A machine readable Geo microformat.
Additional features
- Logged-in users can customize how coordinates appear in their browsers.
- You can get coordinates from Wikidata by transcluding this template without any numbered arguments.
- You can extract information from the Coord template for use in mathematical expressions. For details, see Module:Coordinates.
- All coordinates used in a page through this template are registered in the geosearch API. If a coordinate is using title display, then these coordinates will be marked as the primary coordinates with regards to the page and therefore the topic of that page.
Caveats[edit]
The template must not be modified without prior discussion. External tools can depend on the format of both the wikitext and/or the generated html.
Usage[edit]
{{coord|latitude|longitude|coordinate parameters|template parameters}} {{coord|dd|N/S|dd|E/W|coordinate parameters|template parameters}} {{coord|dd|mm|N/S|dd|mm|E/W|coordinate parameters|template parameters}} {{coord|dd|mm|ss|N/S|dd|mm|ss|E/W|coordinate parameters|template parameters}}
The hemisphere identifiers (N/S) and (E/W), if used, must be adjacent to the enclosing pipe "|
" characters, and cannot be preceded or succeeded by spaces.
There are two kinds of parameters, all optional:
- Coordinate parameters are parameters that {{Coord}} passes to the map server. These have the format parameter:value and are separated from each other by the underscore character ( _ ). The supported coordinate parameters are dim:, globe:, region:, scale:, source:, and type:. See coordinate parameters for details and examples.
- Template parameters are parameters used by the {{Coord}} template. These have format parameter=value and are separated from each other by the pipe character ( | ). The supported template parameters are display=, format=, name=, and notes=.
- display= can be one of the following:
display=inline
– Display the coordinate inline (default)display=title
– Display the coordinate at the top of the article, beside the article's title (replaces {{coor title dms}} family; coordinates are displayed in desktop view only; title coordinates do not display in mobile view)- shortcut:
display=t
- shortcut:
display=inline,title
– Display the coordinate both inline and beside the article's title (replaces {{coor at dms}} family)- shortcut:
display=it
- shortcut:
display=title,inline
has the same effect asdisplay=inline,title
- Note: the
title
attribute indicates that the coordinates apply to the entire article, and not just one of (perhaps many) places mentioned in it—so it should only be omitted in the latter case. Additionally the title option will mark the coordinates as the primary coordinates for the page (and topic of the page) in the geosearch API.
- format= can be used to force dec or dms coordinate display.
format=dec
reformats the coordinates to decimal degrees format.format=dms
reformats the coordinates to degrees | minutes | seconds format.
- name= can be used to annotate inline coordinates for display in map services such as the WikiMiniAtlas. If omitted, the article's title (PAGENAME) is assumed.
- Note: a name= parameter causes {{Coord}} to emit an hCard microformat using that name, even if used within an existing hCard. Do not use when the name is that of a person (e.g for a gravesite), as the generated hCard would be invalid. Also, do not use square brackets in names.
- notes= specifies text to be displayed immediately following the coordinates. This is primarily intended for adding footnotes to coordinates displayed beside the title.
- qid= specify Q item to display the coordinates of. Used primarily by Wikidata powered infoboxes.
Helper functions[edit]
Helper functions are available to manipulate the output from {{Coord}} when it appears in a container template such as an infobox.
To extract the latitude from a Coord template[edit]
Use:
{{#invoke:coordinates|coord2text|{{Coord|57|18|22|N|4|27|32|E}}|lat}}
→
and similarly to extract the longitude, use:
{{#invoke:coordinates|coord2text|{{Coord|57|18|22|N|4|27|32|E}}|long}}
→ Lua error: bad argument #1 to 'len' (string expected, got nil).
- Note: this method removes the microformat markup, and should not be used inside templates which emit parent microformats, such as infoboxes or table-row templates.
Displaying all coordinate links on one map[edit]
The template {{GeoGroup}} can be used in an article with coordinates. This template creates links to mapping services which display all the coordinates on a single map, and links to other services which allow the coordinates to be used or downloaded in a variety of formats.
Examples[edit]
{{coord|43.651234|-79.383333}}
|
Toronto – Fully decimal – western hemisphere implied by negation | |
{{coord|43.65|-79.38}}
|
Toronto – low precision decimal | |
{{coord|43.6500|-79.3800}}
|
Toronto – medium precision decimal with trailing zeroes | |
{{coord|43.653500|N|79.384000|W}}
|
Toronto – high precision decimal with explicit hemisphere notation | |
{{coord|43|29|N|79|23|W}}
|
Toronto – degrees & minutes | |
{{coord|43|29|13|N|79|23|02|W}}
|
Toronto – degrees, minutes & seconds | |
{{coord|43|29|12.6|N|79|23|02.4|W}}
|
Toronto – degrees, minutes, seconds & fractions of seconds | |
{{coord|55.752222|N|37.615556|E}}
|
Moscow – N & E | |
{{coord|55.752222|N|37.615556|E|format=dms}}
|
Convert to dms format | |
{{coord|39.098095|-94.587307|format=dms}}
|
Decimal conversion without N/S/E/W | |
{{coord|55.752222|N|37.615556|E|format=dec|name=Moscow}}
|
Convert to decimal and label on some maps | |
{{coord|33|55|S|18|25|E}}
|
Cape Town – S & E | |
{{coord|35|00|N|105|00|E}}
|
People's Republic of China | |
{{coord|22|54|30|S|43|14|37|W}}
|
Rio – S & W | |
{{coord|22|S|43|W}}
|
A degree confluence. | |
{{coord|52|28|N|1|55|W|region:GB_type:city|notes=<ref>{{cite web|url=http://www.fallingrain.com/world/UK/0/Birmingham.html|title=Birmingham}}</ref>|display=inline,title}}
|
Coordinates: [1] | Birmingham – with display, notes, and parameter settings; note that these coordinates are also displayed at the top of this page. |
{{coord|51|25.813|N|0|43.945|E}}
|
Navigation buoy in the River Medway, England. | |
{{coord|51|36.287|N|8|32.018|W}}
|
Lighthouse at the Old Head of Kinsale as defined by the Commissioners of Irish Lights. |
References[edit]
- ^ Lua error in Module:Citation/CS1 at line 2593: attempt to call field 'has_accept_as_written' (a nil value).
Coordinate parameters[edit]
The first unnamed parameter following the longitude is an optional string of coordinate parameters, separated by underscores. These parameters help GeoHack select suitable map resources, and they will become more important when Wikimaps becomes fully functional.
type:T[edit]
[Template fetch failed for https://en.wikipedia.org/wiki/Template:WikiProject_Geographical_coordinates/type:?action=render: HTTP 404]
scale:N[edit]
[Template fetch failed for https://en.wikipedia.org/wiki/Template:WikiProject_Geographical_coordinates/scale:?action=render: HTTP 404]
dim:D[edit]
The dim:
parameter defines the diameter of a viewing circle centered on the coordinate. While the default unit of measurement is metres, the km
suffix may be appended to indicate kilometres.
GeoHack uses dim:
to select a map scale such that the viewing circle appears roughly 10 centimetres (4 in) in diameter on a 72 dpi computer monitor. If no dim:
, type:
, or scale:
parameters are provided, GeoHack uses its default viewing circle of 30 kilometres (19 mi).
Subject | View diameter | Markup | Result |
---|---|---|---|
Western Hemisphere | 10,000 kilometres (6,200 mi) | {{coord|0|N|90|W|dim:10000km}} | |
Ohio | 400 kilometres (250 mi) | {{coord|40.5|-82.5|dim:400km}} | |
Dresden | 20,000 metres (12 mi) | {{coord|51.03|13.73|dim:20000}} | |
Statue of Liberty | 100 metres (330 ft) | {{coord|40.6892|-74.0445|dim:100}} |
region:R[edit]
[Template fetch failed for https://en.wikipedia.org/wiki/Template:WikiProject_Geographical_coordinates/region:?action=render: HTTP 404]
globe:G[edit]
[Template fetch failed for https://en.wikipedia.org/wiki/Template:WikiProject_Geographical_coordinates/globe:?action=render: HTTP 404]
source:S[edit]
[Template fetch failed for https://en.wikipedia.org/wiki/Template:WikiProject_Geographical_coordinates/source:?action=render: HTTP 404]
Per-user display customization[edit]
To always display coordinates as DMS values, add this to your common.css:
.geo-default { display: inline } .geo-nondefault { display: inline } .geo-dec { display: none } .geo-dms { display: inline }
To always display coordinates as decimal values, add this to your common.css:
.geo-default { display: inline } .geo-nondefault { display: inline } .geo-dec { display: inline } .geo-dms { display: none }
To display coordinates in both formats, add this to your common.css:
.geo-default { display: inline } .geo-nondefault { display: inline } .geo-dec { display: inline } .geo-dms { display: inline } .geo-multi-punct { display: inline }
If CSS is disabled, or you have an old copy of MediaWiki:Common.css cached, you will see both formats. (You can either clear your cache or manually refresh this URL: [1].)
To disable display of the blue globe adjacent to coordinates, add this to your common.js:
var wma_settings = {enabled:false}
Note that this will disable WikiMiniAtlas.
See also Wikipedia:Manual of Style (dates and numbers)#Geographical coordinates.
Incorrect uses and maintenance categories[edit]
The template has some input checks built in. Most errors display a bold, red message inline and categorize the article in the hidden maintenance category Pages with malformed coordinate tags. There are currently 0 pages in that category. See the category description for further instructions.
A more thorough daily report of coordinates needing repair is at tools:~dispenser/view/File viewer#log:coord-enwiki.log.
See also: WT:GEO#To do
Internals[edit]
This template is completely powered by the Lua Module:Coordinates
.
Class names[edit]
The class names geo, latitude and longitude are used to generate the microformat and MUST NOT be changed.
History[edit]
This template used to use a lot of sub templates but these have all been replaced by Template:Tlm.
Template Data[edit]
This template uses overloading[clarification needed] which does not work well with the VisualEditor/TemplateData. Consider using "Edit source" instead of the visual editor until this defect is corrected. To facilitate visual editing in the meantime, consider using {{coordDec}} for signed decimal degrees, {{coordDMS}} when degrees minutes and seconds are specified, and {{coordDM}} when just degrees and minutes are given.
TemplateData for Coord
<templatedata>{ "description": "Encodes the latitude and longitude coordinates of a location, provides a link to map of the location. This template does not work well with the Visual Editor, consider using Lua error: callParserFunction: function "#coordinates" was not found.{{#coordinates:||dim=|globe=|scale=|region=|type= | |name= }} for signed decimal degrees, Lua error: callParserFunction: function "#coordinates" was not found.{{#coordinates:||||||||dim=|globe=|scale=|region=|type= | |name= }} when degrees minutes and seconds are specified Lua error: callParserFunction: function "#coordinates" was not found.{{#coordinates:||||||dim=|globe=|scale=|region=|type={{{type}}} | |name= }} when only degrees and minutes are specified. To use this template you will need to use positional parameter following one of these schemes: Unknown format in {{Coord}}. Parameters:
- 1=D
- 2=M
- 3=S
- 4=NS
- 5=D
- 6=M
- 7=S
- 8=EW
- 9=geo, Unknown format in {{Coord}}. Parameters:
- 1=D
- 2=M
- 3=NS
- 4=D
- 5=M
- 6=EW
- 7=geo
- 8=opts
- 9=, Unknown format in {{Coord}}. Parameters:
- 1=D
- 2=NS
- 3=D
- 4=EW
- 5=geo
- 6=opts
- 7=
- 8=
- 9= Unknown format in {{Coord}}. Parameters:
- 1=sD
- 2=sD
- 3=geo
- 4=opts
- 5=
- 6=
- 7=
- 8=
- 9= where D is degrees, M is minutes, S seconds, sD signed decimal degrees, NS is N or S, EW is E or W, opts are named parameter and geo are the coordinate parameters described on the main doc page.",
"params": { "1": { "label": "1", "description": "Either degrees latitude or a signed decimal degrees latitude", "type": "number", "required": false, "suggested": true }, "2": { "label": "2", "description": "Either: minutes latitude, signed decimal degrees longitude or 'N' or 'S'.", "type": "string", "required": false, "suggested": true }, "3": { "label": "3", "description": "Either: second latitude, degrees longitude, 'N' or 'S' or GeoHack parameters", "type": "string", "required": false }, "4": { "label": "4", "description": "Either: degrees longitude, 'N', 'S', 'E' or 'W' or GeoHack parameters", "type": "string", "required": false }, "5": { "label": "5", "description": "Either: degrees longitude, minutes longitude or GeoHack parameters", "type": "string", "required": false }, "6": { "label": "6", "description": "Either: minutes longitude, 'E' or 'W' or GeoHack parameters", "type": "string", "required": false }, "7": { "label": "7", "description": "Either second longitude, or GeoHack parameters", "type": "string", "required": false }, "8": { "label": "8", "description": "'E' or 'W'.", "type": "string", "required": false }, "9": { "label": "9", "description": "GeoHack parameters. Example: dim:30_region:US-WI_type:event", "type": "string", "required": false }, "qid": { "label": "Wikidata item", "description": "Retrieve coordinates from a WikiData entry instead of from this template's parameters", "type": "line", "required": false, "example": "Q513" }, "display": { "label": "Display", "description": "Where it is displayed. Can be one of: 'inline' in the body of the article, 'title' at the top of the article or 'inline,title' both", "type": "line", "default": "inline", "suggested": true, "required": false, "suggestedvalues": [ "inline", "title", "inline,title" ] }, "name": { "label": "Name", "description": "a label to place on maps (default is PAGENAME)", "type": "string", "required": false }, "notes": { "label": "Notes", "description": "text displayed immediately following the coordinates", "type": "string", "required": false }, "format": { "label": "Format", "description": "How the coordinates are displayed, either 'dec' or 'dms'", "type": "line", "required": false, "suggestedvalues": [ "dec", "dms" ] }, "nosave": { "label": "Geosearch", "description": "Set to 'true' if you want to avoid this coordinate to be registered in the geosearch API.", "type": "string", "required": false } } }</templatedata>
See also[edit]
- Special:PrefixIndex/Template:GeoTemplate, for the geohack page templates used on Earth and other bodies