Template:Coord: Difference between revisions
m (1 revision imported) |
m (1 revision imported) |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
<includeonly>{{#invoke:Coordinates|coord}}</includeonly><noinclude> | |||
{{Documentation}} | {{Documentation}} | ||
<!-- Add categories to the /doc subpage, interwikis to Wikidata, not here --> | <!-- Add categories to the /doc subpage, interwikis to Wikidata, not here --> | ||
</noinclude> | </noinclude> |
Latest revision as of 21:54, 30 December 2020
This template is used on 1,240,000+ pages. To avoid major disruption and server load, any changes should be tested in the template's /sandbox or /testcases subpages, or in your own user subpage. The tested changes can be added to this page in a single edit. Consider discussing changes on the talk page before implementing them. Transclusion count updated automatically (see documentation). |
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/Transwiki guide. Once the transwiki guide page is complete, replace this tag by {{Transwiki guide}}. |
This template uses Lua: |
Quick guide
Quick how to
|
---|
To add Lua error: callParserFunction: function "#coordinates" was not found. to the top of an article, use {{Coord}}, thus:
These coordinates are in degrees, minutes, and seconds of arc. "title" means that the coordinates will be displayed next to the article's title at the top of the page and before any other text or images. |
To add Lua error: callParserFunction: function "#coordinates" was not found. to the top of an article, use either
(which does not require minutes or seconds but does require the user to specify north/ south and east/west) or
(in which the north and east are presumed by positive values while the south and west are negative ones) These coordinates are in decimal degrees. |
|
Optional coordinate parameters follow the longitude and are separated by an underscore ("_"):
Other optional parameters are separated by a pipe ("|"):
Thus:
Use |
|
Purpose
{{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
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—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.
Logged-in users can customize how coordinates appear in their browsers.
You can extract information from the Coord template for use in mathematical expressions. For details, see Module:Coordinates.
Caveats
The template must not be modified without prior discussion.
Tools which read Wikipedia database dumps (such as Google Earth) often ignore inline coordinates. To ensure that coordinates are seen by these tools, one set should be displayed beside the title. See How do I get my Wikipedia article to show up in the Google Earth Geographic Web layer?[dead link]. However, if multiple title coordinates appear on a single page, they will overlap, making them illegible.
Superseded templates
This single template supersedes {{coor d}}, (and others in that family which have since been redirected to it), plus the Geolinks and Mapit templates. Most parameters can be used as before – see Usage.
Examples:
{{coord|10.2|N|-20.3|E|type:city}} | Replaces {{coor d|10.2|N|-20.3|E|city}} |
{{coord|44.4|-111.1|type:city_region:US|display=inline,title}} | Replaces {{Geolinks-US-cityscale|44.4|-111.1}} |
{{coord|51.01234|-1.56789|type:landmark_region:GB|display=inline,title}} | Replaces {{Geolinks-UK-buildingscale|51.01234|-1.56789}} |
{{coord|-35.5|150.1|type:landmark_region:AU|display=inline,title}} | Replaces {{Mapit-AUS-suburbscale|lat=-35.5|long=150.1}} |
{{coord|12|34|12|N|45|33|45|W|display=title}} | Replaces {{CoorHeader|12|34|12|N|45|33|45|W}} |
Usage
{{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)- 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.
- 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.
Helper functions
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
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
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
{{coord|43.651234|-79.383333}}
|
Lua error: callParserFunction: function "#coordinates" was not found. | Toronto – Fully decimal – western hemisphere implied by negation |
{{coord|43.65|-79.38}}
|
Lua error: callParserFunction: function "#coordinates" was not found. | Toronto – low precision decimal |
{{coord|43.6500|-79.3800}}
|
Lua error: callParserFunction: function "#coordinates" was not found. | Toronto – medium precision decimal with trailing zeroes |
{{coord|43.653500|N|79.384000|W}}
|
Lua error: callParserFunction: function "#coordinates" was not found. | Toronto – high precision decimal with explicit hemisphere notation |
{{coord|43|29|N|79|23|W}}
|
Lua error: callParserFunction: function "#coordinates" was not found. | Toronto – degrees & minutes |
{{coord|43|29|13|N|79|23|02|W}}
|
Lua error: callParserFunction: function "#coordinates" was not found. | Toronto – degrees, minutes & seconds |
{{coord|43|29|12.6|N|79|23|02.4|W}}
|
Lua error: callParserFunction: function "#coordinates" was not found. | Toronto – degrees, minutes, seconds & fractions of seconds |
{{coord|55.752222|N|37.615556|E}}
|
Lua error: callParserFunction: function "#coordinates" was not found. | Moscow – N & E |
{{coord|55.752222|N|37.615556|E|format=dms}}
|
Lua error: callParserFunction: function "#coordinates" was not found. | Convert to dms format |
{{coord|39.098095|-94.587307|format=dms}}
|
Lua error: callParserFunction: function "#coordinates" was not found. | Decimal conversion without N/S/E/W |
{{coord|55.752222|N|37.615556|E|format=dec|name=Moscow}}
|
Lua error: callParserFunction: function "#coordinates" was not found. | Convert to decimal and label on some maps |
{{coord|33|55|S|18|25|E}}
|
Lua error: callParserFunction: function "#coordinates" was not found. | Cape Town – S & E |
{{coord|35|00|N|105|00|E}}
|
Lua error: callParserFunction: function "#coordinates" was not found. | People's Republic of China |
{{coord|22|54|30|S|43|14|37|W}}
|
Lua error: callParserFunction: function "#coordinates" was not found. | Rio – S & W |
{{coord|22|S|43|W}}
|
Lua error: callParserFunction: function "#coordinates" was not found. | 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}}
|
Lua error in Module:Coordinates at line 492: attempt to index field 'wikibase' (a nil value). | 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}}
|
Lua error: callParserFunction: function "#coordinates" was not found. | Navigation buoy in the River Medway, England. |
{{coord|51|36.287|N|8|32.018|W}}
|
Lua error: callParserFunction: function "#coordinates" was not found. | Lighthouse at the Old Head of Kinsale as defined by the Commissioners of Irish Lights. |
References
Coordinate parameters
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
{{Wikipedia:WikiProject Geographical coordinates/type:}}
scale:N
{{Wikipedia:WikiProject Geographical coordinates/scale:}}
dim:D
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}} | Lua error: callParserFunction: function "#coordinates" was not found. |
Ohio | 400 kilometres (250 mi) | {{coord|40.5|-82.5|dim:400km}} | Lua error: callParserFunction: function "#coordinates" was not found. |
Dresden | 20,000 metres (12 mi) | {{coord|51.03|13.73|dim:20000}} | Lua error: callParserFunction: function "#coordinates" was not found. |
Statue of Liberty | 100 metres (330 ft) | {{coord|40.6892|-74.0445|dim:100}} | Lua error: callParserFunction: function "#coordinates" was not found. |
region:R
{{Wikipedia:WikiProject Geographical coordinates/region:}}
globe:G
{{Wikipedia:WikiProject Geographical coordinates/globe:}}
source:S
{{Wikipedia:WikiProject Geographical coordinates/source:}}
Per-user display customization
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
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
See Template:Coord/doc/internals and Category:Coord template.
Subtemplates
The following templates are "subroutines" of {{Coord}}. Separating them out drastically reduces the pre-expand size of {{Coord}}. They shouldn't be invoked directly.
name | function |
---|---|
{{Coord/display/inline}} | displays coordinates inline |
{{Coord/display/inline,title}} | displays coordinates inline and above the article |
{{Coord/display/title}} | displays coordinates above the article (generally to the right of the article's title) |
{{Coord/link}} | generates microformats and link to GeoHack |
{{Coord/input/dec}} | reads coordinates in decimal degrees {{Coord|12|-12}} |
{{Coord/input/d}} | reads coordinates in decimal degrees with directional letters {{Coord|12|N|12|W}} |
{{Coord/input/dm}} | reads coordinates in degrees/minutes format {{Coord|12|12|N|12|12|W}} |
{{Coord/input/dms}} | reads coordinates in degrees/minutes/seconds format {{Coord|12|12|12|N|12|12|12|W}} |
{{Coord/input/ERROR}} | generates error message if the inputs do not match any of the above formats |
{{Coord/input/error2}} | generates error message for range checks and such |
{{Coord/input/nolat}} | generates error message for missing latitude |
{{Coord/negzeropad}} | pads a positive number with trailing zeroes until it matches the precision of a negative number |
{{Coord/prec dec}} | selects a format for converting decimal degrees, based on the precision of the inputs |
Coordinates in PDF
For generating PDF, printed books, and Open Office export format, two templates are substituted for the regular templates:
- Template:Coord/display/title/Print for {{Coord/display/title}}
- Template:Coord/link/Print for {{Coord/link}}
- Template:Coord/display/inline,title/Print for {{Coord/display/inline,title}}
Samples are available at:
Class names
The class names geo, latitude and longitude are used to generate the microformat and MUST NOT be changed.
Template Data
This template uses overloading 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 mean time, 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
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 {{coordDec}} for signed decimal degrees, {{coordDMS}} when degrees minutes and seconds are specified {{coordDM}} when only degrees and minutes are specified. To use this template you will need to use positional parameter following one of these schemes: {{coord | D | M | S | NS | D | M | S | EW | geo | opts}}, {{coord | D | M | NS | D | M | EW | geo | opts}}, {{coord | D| NS | D| EW | geo | opts}} {{coord | sD | sD | geo | opts}} 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.
Parameter | Description | Type | Status | |
---|---|---|---|---|
1 | 1 | Either degrees latitude or a signed decimal degrees latitude | Number | required |
2 | 2 | Either: minutes latitude, signed decimal degrees longitude or 'N' or 'S'. | String | required |
3 | 3 | Either: second latitude, degrees longitude, 'N' or 'S' or GeoHack parameters | String | optional |
4 | 4 | Either: degrees longitude, 'N', 'S', 'E' or 'W' or GeoHack parameters | String | optional |
5 | 5 | Either: degrees longitude, minutes longitude or GeoHack parameters | String | optional |
6 | 6 | Either: minutes longitude, 'E' or 'W' or GeoHack parameters | String | optional |
7 | 7 | Either second longitude, or GeoHack parameters | String | optional |
8 | 8 | 'E' or 'W'. | String | optional |
9 | 9 | GeoHack parameters. Example: dim:30_region:US-WI_type:event | String | optional |
Display | display | 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
| String | optional |
Name | name | a label to place on maps (default is PAGENAME) | String | optional |
Notes | notes | text displayed immediately following the coordinates | String | optional |
Format | format | How the coordinates are displayed, either 'dec' or 'dms' | String | optional |
- Transwiki guide candidate
- Lua-based templates
- Templates using data from Wikidata
- Templates tracking Wikidata
- Templates needing substitution checking
- Coord template
- Templates using TemplateData
- Coordinates conversion templates
- Coordinates templates
- TemplateData documentation with overload problems
- Templates generating Geo
- Title templates