Difference between revisions of "Template:Coord/dec2dms"

From blackwiki
Jump to navigation Jump to search
imported>Quarl
(«"mod 360" → "round 0", "mod 360" → "round 0", "wouldn't work" → "is different"»)
imported>Quarl
(f)
Line 1: Line 1:
 
<includeonly>{{#ifexpr:{{{1}}} >= 0
 
<includeonly>{{#ifexpr:{{{1}}} >= 0
 
   |{{#switch:{{{prec}}}
 
   |{{#switch:{{{prec}}}
     |d={{#expr:{{{1}}} round 0}}°
+
     |d={{#expr:{{{1}}} round 1}}°
     |dm={{#expr:{{{1}}} mod 360}}°{{#expr:{{{1}}} * 60 mod 60 round 0}}′
+
     |dm={{#expr:{{{1}}} mod 360}}°{{#expr:({{{1}}} * 600 round 0) mod 600 / 10}}′
     |dms={{#expr:{{{1}}} mod 1000000}}°{{#expr:{{{1}}} * 60 mod 60 round 0}}′{{#expr:{{{1}}} * 3600 mod 60 round 1}}″}} {{{2}}}
+
     |dms={{#expr:{{{1}}} mod 360}}°{{#expr:{{{1}}} * 60 mod 60}}′{{#expr:({{{1}}} * 36000 round 0) mod 600 / 10}}″}} {{{2}}}
 
   |{{#switch:{{{prec}}}
 
   |{{#switch:{{{prec}}}
     |d={{#expr:-{{{1}}} round 0}}°
+
     |d={{#expr:-{{{1}}} round 1}}°
     |dm={{#expr:-{{{1}}} mod 360}}°{{#expr:-{{{1}}} * 60 mod 60 round 0}}′
+
     |dm={{#expr:-{{{1}}} mod 360}}°{{#expr:(-{{{1}}} * 600 round 0) mod 600 / 10}}′
     |dms={{#expr:-{{{1}}} mod 360}}°{{#expr:-{{{1}}} * 60 mod 60 round 0}}′{{#expr:-{{{1}}} * 3600 mod 60 round 1}}″}} {{{3}}}}}</includeonly><noinclude><!--
+
     |dms={{#expr:-{{{1}}} mod 360}}°{{#expr:-{{{1}}} * 60 mod 60}}′{{#expr:(-{{{1}}} * 36000 round 0) mod 600 / 10}}″}} {{{3}}}}}</includeonly><noinclude><!--
  
 
The "mod 360" is necessary to truncate degrees.  "round 0" is different because it rounds rather than truncates.
 
The "mod 360" is necessary to truncate degrees.  "round 0" is different because it rounds rather than truncates.
  
 
-->{{template doc}}</noinclude>
 
-->{{template doc}}</noinclude>

Revision as of 05:48, 18 March 2007

Template documentation[view] [edit] [history] [purge]

Given a decimal coordinate, two cardinal directions, and precision, render a coordinate in degrees/minutes/seconds.

Usage

{{coord/dec2dms|coord|N|S|precision}}
{{coord/dec2dms|coord|E|W|precision}}

Precision codes:

dDegrees (rounded to integer)
d1Degrees (rounded to 0.1 degrees)
dmDegrees, minutes (rounded to integer)
dm1Degrees, minutes (rounded to 0.1 minutes)
dmsDegrees, minutes, seconds (rounded to integer)
dms1Degrees, minutes, seconds (rounded to 0.1 seconds)

Examples

{{Coord/dec2dms|10.391944|N|S|d}} N
{{Coord/dec2dms|10.391944|N|S|d1}} N
{{Coord/dec2dms|10.390000|N|S|d}} N
{{Coord/dec2dms|10.390000|N|S|d1}} N
{{Coord/dec2dms|10.39|N|S|d}} N
{{Coord/dec2dms|10.39|N|S|d1}} N
{{Coord/dec2dms|-10.391944|N|S|dm}} S
{{Coord/dec2dms|-10.391944|N|S|dm1}} S
{{Coord/dec2dms|10.391944|E|W|dms}} E
{{Coord/dec2dms|10.391944|E|W|dms1}} E
{{Coord/dec2dms|10|N|S|d}} N
{{Coord/dec2dms|10|E|W|dm}} E
{{Coord/dec2dms|-10|E|W|dms}} W
{{Coord/dec2dms|-10|E|W|dms1}} W

Subroutines

Subroutines of Template:Coord/dec2dms (edit | talk | history | links | watch | logs):