File:Abweichung der Tageslänge vom SI-Tag.svg
From Wikimedia Commons, the free media repository
Jump to navigation
Jump to search
Size of this PNG preview of this SVG file: 512 × 253 pixels. Other resolutions: 320 × 158 pixels | 640 × 316 pixels | 1,024 × 506 pixels | 1,280 × 633 pixels | 2,560 × 1,265 pixels.
Original file (SVG file, nominally 512 × 253 pixels, file size: 314 KB)
File information
Structured data
Captions
Summary
[edit]DescriptionAbweichung der Tageslänge vom SI-Tag.svg |
Deutsch: Abweichung der Tageslänge vom SI-basierten Tag (86'400 s) 1962–2021: täglich, gleitendes 365-Tages-Mittel und kumulativ. Zum Vergleich sind auch die UTC-Schaltsekunden verzeichnet. |
Date | |
Source | Own work, Daten: IERS [1] |
Author | Ⅱ Ⅶ Ⅻ |
Other versions | File: deviation of day length from SI day .svg |
SVG development InfoField | This vector image was created with perl. This file uses embedded text that can be easily translated using a text editor. |
Source code InfoField | PERL code#! /usr/bin/perl -w
use strict;
use utf8;
use POSIX;
my $y0= 1962;
my $y= $y0;
my $m= 1;
my $d= 1;
my $dut1= 0;
my $scale= 1.5e6;
my $cscale= 300;
my $min= -2400;
my $max= 8400;
my $vr= $max - $min;
my $dv= 300;
my $ddv= 5;
my $fs= 224;
my @ml= (0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
my (@data, %data, @py, @pv, @y, @ls);
while ( <> )
{
/^ (\d+)\s+(\d+)\s+(\d+) \s+ \d+(?:\s+-?\d+\.\d+){2} (\s+-?\d+\.\d+)
(\s+-?\d+\.\d+) (?:\s+-?\d+\.\d+){2}(?:\s+\d+\.\d+){6}\s*$
/x or next;
$1 == $y && $2 == $m && $3 == $d or die;
$4 - $dut1 > 0.5 and push @ls, $y + ($m - 1)/12;
$dut1= $4;
push @data, $5 + 0;
$data{$y} += $5;
++$d <= ($m != 2 | $y % 4 ? $ml[$m] : 29)
or $d= 1, ++$m <= 12
or $m= 1, ++$y;
}
{ my $s= 0;
for my $y ( $y0 .. $y + 1 ) {
push @y, $s;
$s += $y % 4 ? 365 : 366;
}
}
my $hr= $y[$y+1-$y0];
binmode STDOUT, ":utf8";
print qq|<?xml version="1.0" encoding="UTF-8"?>\n|;
print qq|<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"|;
print qq| "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n|;
print qq|<svg version="1.1" xml:lang="de" xmlns="http://www.w3.org/2000/svg"|;
printf qq| viewBox="-%.1f -%.1f %.1f %.1f"|,
$fs * 4 + .5, $fs * 1.5 + .5, $fs * 8 + $hr + 1, $fs * 4 + $vr + 1;
print qq| fill="none" stroke-width="16" stroke-linecap="round"|;
print qq| stroke-linejoin="round" font-family="Arial,sans-serif">\n|;
print qq|<title>Abweichung der Tageslänge vom SI-Tag</title>\n|;
printf qq|<rect x="-%.1f" y="-%.1f" width="100%%" height="100%%"|,
$fs * 4 + .5, $fs * 1.5 + .5;
print qq| fill="#fff" stroke="none"/>\n|;
print qq|<g transform="translate(0,$max) scale(1,-1)">\n|;
{ my $d1= 0;
my $d2= 0;
my $d3= 0;
my (@v1, @v2, @h1, @h2, @h3);
for my $y ( $y0 .. $y + 1 ) {
my $d= $y % 4 ? 365 : 366;
$y % 10 ? ((push @v1, $d1), $d1= 0) : ((push @v2, $d2), $d2= 0);
$y % 5 or push @py, [ $d3 + $d / 2, $y ];
$d1 += $d, $d2 += $d, $d3 += $d;
}
$d1= $d2= $d3= $min;
for ( my $y= ceil $min / $dv; $y <= $max / $dv; ++$y ) {
$y % $ddv ? ((push @h1, $d1), $d1= 0) :
(($y ? ((push @h2, $d2), $d2= 0) : ((push @h3, $d3), $d3= 0)),
push @pv, [ -$y * $dv + (floor .3 * $fs + .5), $y * $dv ]);
$d1 += $dv, $d2 += $dv, $d3 += $dv;
}
printf qq|<path stroke="#e0e0e0" d="M0,%dh$hr|, shift @h1;
printf "m-$hr,%dh$hr", $_ for @h1;
print qq|"/>\n|;
printf qq|<path stroke="#e0e0e0" d="M%d,${min}v$vr|, shift @v1;
printf "m%d,-${vr}v$vr", $_ for @v1;
print qq|"/>\n|;
printf qq|<path stroke="#c0c0c0" d="M0,%dh$hr|, shift @h2;
printf "m-$hr,%dh$hr", $_ for @h2;
print qq|"/>\n|;
printf qq|<path stroke="#c0c0c0" d="M%d,${min}v$vr|, shift @v2;
printf "m%d,-${vr}v$vr", $_ for @v2;
print qq|"/>\n|;
printf qq|<path stroke="#808080" d="M0,%dh$hr|, shift @h3;
printf "m-$hr,%dh$hr", $_ for @h3;
print qq|"/>\n|;
}
{ my @data= map { floor $_ * $scale + .5 } @data;
printf qq|<path stroke="#a0a0a0" stroke-width="8" d="M.5,%d|, $data[0];
printf "l1,%d", $data[$_] - $data[$_-1] for 1 .. $#data;
print qq|"/>\n|;
}
{ my (@rm);
for my $i ( 182 .. $#data - 182 ) {
my $rm= 0; $rm += $data[$_] for $i - 182 .. $i + 182;
push @rm, floor $rm / 365 * $scale + .5;
}
printf qq|<path stroke="#008000" d="M182.5,%d|, $rm[0];
printf "l1,%d", $rm[$_] - $rm[$_-1] for 1 .. $#rm;
print qq|"/>\n|;
}
{ my $i0= $y[1972-$y0];
my $s= 0;
my (@cum);
for my $i ( reverse 1 .. $i0 - 1 ) {
$s -= $data[$i];
push @cum, floor $s * $cscale + .5;
}
@cum= reverse @cum;
push @cum, $s= 0;
for my $i ( $i0 .. $#data ) {
$s += $data[$i];
push @cum, floor $s * $cscale + .5;
}
print qq|<g fill="#e06060">|;
for my $i ( 0 .. $#ls ) {
my $t= $ls[$i];
my $y= int $t;
my $p= $y[$y-$y0]; $y == $t or $p += $y % 4 ? 181 : 182;
my $v= ($i + .5) * $cscale;
print qq|<circle cx="$p" cy="$v" r="32"/>|;
}
print qq|</g>\n|;
printf qq|<path stroke="#a00000" d="M0,%d|, $cum[0];
printf "l1,%d", $cum[$_] - $cum[$_-1] for 1 .. $#cum;
print qq|"/>\n|;
}
print qq|</g>\n|;
print qq|<g transform="translate(0,$max)" font-size="$fs">\n|;
printf qq|<g transform="translate(0,%.0f)" text-anchor="middle" fill="#000">|,
-$min + $fs * 1.5;
printf qq|<text x="%d">%d</text>|, @$_ for @py;
print qq|</g>\n|;
printf qq|<g transform="translate(%.0f)" text-anchor="end" fill="#008000">|,
-$fs * .8;
printf qq|<text y="%d">%s\x{2009}ms</text>|, $_->[0],
$_->[1] > 0 ? sprintf "+%.0f", $_->[1] / $scale * 1000 :
$_->[1] < 0 ? sprintf "\x{2212}%.0f", -$_->[1] / $scale * 1000 :
"±0" for @pv;
print qq|</g>\n|;
printf qq|<g transform="translate(%.0f)" text-anchor="start" fill="#a00000">|,
$hr + $fs * .8;
printf qq|<text y="%d">%s\x{2009}s</text>|, $_->[0],
$_->[1] > 0 ? sprintf "+%.0f", $_->[1] / $cscale :
$_->[1] < 0 ? sprintf "\x{2212}%.0f", -$_->[1] / $cscale :
"±0" for @pv;
print qq|</g>\n|;
print qq|<g transform="translate(4648,500)">\n|;
print qq|<rect width="7870" height="1400" stroke="#808080" fill="#fff"|;
print qq| fill-opacity=".5"/>\n|;
print qq|<path stroke="#a0a0a0" d="M282.5,250h731"/><text fill="#808080"|;
print qq| x="1193" y="317">Tägliche Abweichung der|;
print qq| Tageslänge vom SI-Tag (86'400\x{2009}s)</text>\n|;
print qq|<path stroke="#008000" d="M282.5,550h731"/><text fill="#008000"|;
print qq| x="1193" y="617">Gleitendes 365-Tage-Mittel der Abweichung</text>\n|;
print qq|<path stroke="#a00000" d="M282.5,850h731"/><text fill="#a00000"|;
print qq| x="1193" y="917">|;
print qq|Kumulative Abweichung seit Einführung der Schaltsekunden</text>\n|;
print qq|<circle fill="#e06060" cx="648" cy="1150" r="32"/>|;
print qq|<text fill="#e06060" x="1193" y="1217">UTC-Schaltsekunde</text>\n|;
print qq|</g>\n|;
print qq|</g>\n|;
print qq|</svg>\n|;
|
Licensing
[edit]Public domainPublic domainfalsefalse |
I, the copyright holder of this work, release this work into the public domain. This applies worldwide. In some countries this may not be legally possible; if so: I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law. |
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 21:17, 8 August 2021 | 512 × 253 (314 KB) | C8JQ7B4pWKeX69vuXQEMBiEH (talk | contribs) | update | |
18:52, 3 January 2019 | 512 × 258 (300 KB) | Ⅱ Ⅶ Ⅻ (talk | contribs) | update | ||
13:29, 31 December 2016 | 512 × 267 (289 KB) | Ⅱ Ⅶ Ⅻ (talk | contribs) | update | ||
09:46, 6 July 2016 | 512 × 267 (287 KB) | Ⅱ Ⅶ Ⅻ (talk | contribs) | update | ||
11:54, 11 January 2016 | 512 × 264 (284 KB) | Ⅱ Ⅶ Ⅻ (talk | contribs) | update | ||
16:28, 5 January 2015 | 512 × 269 (279 KB) | Ⅱ Ⅶ Ⅻ (talk | contribs) | update | ||
15:49, 5 January 2012 | 512 × 276 (263 KB) | Ⅱ Ⅶ Ⅻ (talk | contribs) | update | ||
06:10, 12 October 2011 | 512 × 276 (263 KB) | Ⅱ Ⅶ Ⅻ (talk | contribs) | SVG renderer gets even worse | ||
05:11, 12 October 2011 | 512 × 276 (263 KB) | Ⅱ Ⅶ Ⅻ (talk | contribs) | update | ||
19:35, 8 May 2011 | 512 × 276 (260 KB) | Ⅱ Ⅶ Ⅻ (talk | contribs) | update |
You cannot overwrite this file.
File usage on Commons
The following 2 pages use this file:
- User talk:Ⅱ Ⅶ Ⅻ
- File:Abweichung der Tageslänge vom SI-Tag .svg (file redirect)
File usage on other wikis
The following other wikis use this file:
- Usage on de.wikipedia.org
Metadata
This file contains additional information such as Exif metadata which may have been added by the digital camera, scanner, or software program used to create or digitize it. If the file has been modified from its original state, some details such as the timestamp may not fully reflect those of the original file. The timestamp is only as accurate as the clock in the camera, and it may be completely wrong.
Short title | Abweichung der Tageslänge vom SI-Tag |
---|---|
Width | 100% |
Height | 100% |