Lêer:Metrication by year map.svg

Oorspronklike lêer(SVG-lêer, normaalweg 2 754 × 1 398 piksels, lêergrootte: 1,07 MG)

Hierdie lêer kom vanaf Wikimedia Commons en kan ook in ander projekte gebruik word. Die beskrywing op die lêer se inligtingsblad word hieronder weergegee.

Opsomming

Beskrywing
English: World Map, colour-coded to show the years the countries started of the process of official conversion to the metric system. Using data from PhD thesis by Hector Vera[1] and NIST[2]. Magenta is preliminary 1795, and cyan is 1998; black is for countries having not adopted metric system yet, and grey is for countries with no data on their adoption year. The data used by this map can be viewed by pressing the "Edit" tab and viewing the underlying code.
  1. Vera, Hector (2011-09) The Social Life of Measures: Metrication in the United States and Mexico, 1789–2004 (PhD dissertation)[1], Sociology and Historical Studies, New School for Social Research, pages 51, 494–497
  2. (20 Mei 1975) The International Bureau of Weights and Measures 1875–1975: NBS Special Publication 420, Washington, D.C.: National Bureau of Standards, p. 244
Datum
Bron BlankMap-World.svg by various authors
Outeur Authors of BlankMap-World.svg
Ander weergawes
SVG genesis
InfoField
W3C grn 
The SVG code is valid.
Inkscape to text 
This world map was created with Inkscape, and then manually edited
.
OOjs UI icon language-constructive 
This world map uses embedded text.
This image is expected to always be the most recent one. Feel free to update it when needed.
This file may be updated to reflect new information.
If you wish to use a specific version of the file without new updates being mirrored, please upload the required version as a separate file.
Warning This map should always be accompanied by suitable text for the benefit of readers who suffer from red–green colour-blindness. Suitable text can be extracted from the perl code below
This file is saved in human-editable plain text format. Any editing of the image or creation of any derivative work should be performed using a text editor. Please do not upload edits saved or exported with Inkscape or similar vector graphics editors, as well as with automated tools such as SVG Translate.
Bronkode
InfoField

SVG code

SVG code
#!/usr/bin/perl -w


use v5.12;
use Data::Dumper;
use strict;
use warnings;

use Graphics::ColorObject;
use Math::Trig;
use SVG::Parser;
use CSS;

use constant DATE_MIN => 1795;
use constant DATE_MAX => 2000;
use constant HUE_START => -60;
use constant HUE_LENGTH => 240;
use constant SATURATION => 0.7;
use constant LIGHTNESS => 0.6;
use constant LEGEND_XLABEL_SIZE => 60;
use constant LEGEND_XPOS => 245;
use constant LEGEND_YPOS => 1250;
use constant LEGEND_XOFF => 100;
use constant LEGEND_YOFF => 50;
use constant LEGEND_WIDTH => 2752.766;
use constant LEGEND_HEIGHT => 250;

my $dates = {
        '1795' => [ 'fr' ],
        '1816' => [ 'nl', 'be', 'lu' ],
        '1840' => [ 'sn', 'dz' ],
        '1849' => [ 'es' ],
        '1852' => [ 'pt' ],
        '1853' => [ 'co', 'mc' ],
        '1857' => [ 'mx', 've' ],
        '1858' => [ 'cu' ],
        '1861' => [ 'it' ],
        '1862' => [ 'pe', 'uy', 'br' ],
        '1864' => [ 'ro' ],                 
        '1865' => [ 'ec', 'cl' ],
        '1867' => [ 'do' ],
        '1868' => [ 'de' , 'bo' ],
        '1869' => [ 'tr' ],
        '1871' => [ 'sr', 'at', 'cz', 'sk', 'hr', 'li', 'si', 'me' ],  
        '1873' => [ 'rs' ],    
        '1874' => [ 'hu', 'se' ],
        '1875' => [ 'ch' ],
        '1876' => [ 'mu' ],
        '1877' => [ 'ar' ],
        '1878' => [ 'ba', 'sc' ],
        '1881' => [ 'cr' ],
        '1882' => [ 'no' ],
        '1884' => [ 'cg', 'ci', 'bj', 'mr', 'ne', 'td' ],
        '1885' => [ 'sv' ],
        '1886' => [ 'fi' ],
        '1888' => [ 'bg', 'mk' ],
        '1891' => [ 'st' ],
        '1893' => [ 'tn', 'ni' ],
        '1895' => [ 'hn' ],
        '1898' => [ 'dj' ],
        '1899' => [ 'py', 'pr' ],
        '1900' => [ 'gq', 'is' ],
        '1901' => [ 'gn' ],   
        '1905' => [ 'mz', 'ao' , 'gw', 'cv' ],  
        '1906' => [ 'ph' ],
        '1907' => [ 'dk', 'sm', 'gl', 'fo' ],    # GL and FO as part of DK
        '1910' => [ 'gt', 'mt', 'bz', 'bi', 'rw', 'cd' ],  
        '1911' => [ 'vn' ],
        '1912' => [ 'th' ],
        '1913' => [ 'cnx' ],    
        '1914' => [ 'km' ],
        '1915' => [ 'pa' ], 
        '1916' => [ 'mn' ],    
        '1918' => [ 'ru' ],
        '1919' => [ 'pl' ],
        '1920' => [ 'ht' ],
        '1922' => [ 'kh', 'ma', 'eh', 'kz', 'kg', 'tj', 'tm', 'uz', 'am', 'az', 'by', 'ee', 'ge', 'lv', 'lt', 'md', 'ua' ],
        '1923' => [ 'ly', 'id', 'af' ],
        '1924' => [ 'tg' ],
        '1927' => [ 'ir' ],
        '1930' => [ 'iq' ],
        '1934' => [ 'sy', 'ad', 'lb' ],
        '1947' => [ 'il' ],
        '1948' => [ 'kp', 'al' ],
        '1949' => [ 'kr' ], 
        '1951' => [ 'eg', 'bt', 'jp' ],
        '1952' => [ 'jo', 'tw' ], 
        '1954' => [ 'sd', 'ss', 'in' ],         # SS was part of SD
        '1957' => [ 'gr', 'mo', 'tl', 'mg' ],
        '1959' => [ 'mv' ],        
        '1960' => [ 'so', 'ga', 'bf', 'ml', 'cf' ],        
        '1961' => [ 'kw', 'cm', 'ae' ],
        '1962' => [ 'et', 'er', 'ng' ],
        '1963' => [ 'np', 'la' ],  
        '1964' => [ 'sa' ],
        '1965' => [ 'gb' ],
        '1967' => [ 'na', 'ie', 'za', 'ke', 'ug', 'tz',  'pk' ],       # NA was part of ZA
        '1968' => [ 'sg'], 
        '1969' => [ 'au', 'nz', 'bs', 'zw', 'bw', 'sz', 'bh', 'gd', 'dm', 'vc', 'kn' ],
        '1970' => [ 'ca', 'lk', 'tt', 'zm', 'ls', 'pg', 'sb' ],
        '1971' => [ 'bm', 'gy', 'my'],        # BM is grouped with GY and MY on the NIST list on p.244
        '1972' => [ 'gh', 'cy', 'fj', 'qa' ],
        '1973' => [ 'bb', 'jm', 'nr' ],
        '1974' => [ 'om', 'ag' ], 
        '1975' => [ 'to' ],
        '1976' => [ 'sl', 'mw', 'gm'], 
        '1978' => [ 'tv' ],
        '1981' => [ 'ye' ],
        '1982' => [ 'bd' ],
        '1984' => [ 'ki' ],
        '1985' => [ 'bn' ],
        '1988' => [ 'vu' ],
        '2000' => [ 'lc' ]
};
my $css = new CSS( { 'parser' => 'CSS::Parse::Lite', 'adaptor' => 'CSS::Adaptor::Pretty' } ); 

my $svg=SVG::Parser->new()->parsefile($ARGV[0]);
my $css_container = $svg->getElementbyID('style_css_sheet');
my $css_data = $css_container->{-cdata};
$css_data =~ s!/\*.*?\*\/!!gs;
$css->read_string( $css_data );
my $hue_start = deg2rad(HUE_START);
my $hue_length = deg2rad(HUE_LENGTH, 1);
foreach my $date( sort keys %$dates ) {
	my $hue = $hue_start + (1-(DATE_MAX - $date)/(DATE_MAX - DATE_MIN)) * $hue_length;
	$css->read_string( sprintf 
		"%s {\n\tfill: #%s;\n}\n",
		join (', ', map { ".$_" } @{$dates->{$date{{),
		Graphics::ColorObject->new_HSL([rad2deg($hue), SATURATION, LIGHTNESS])->as_RGBhex()
	);
}
$css->read_string( ".us, .mm, .lr { fill: #333333 } " );

# say($css->output());
$css->get_style_by_selector( '.landxx' )->get_property_by_name( 'stroke' )->{values} = [new CSS::Value({value => 'black'})];
$css->get_style_by_selector( '.landxx' )->get_property_by_name( 'fill' )->{values} = [new CSS::Value({value => '#FFFFD0'})];
# $css->get_style_by_selector( '.lake' )->get_property_by_name( 'stroke' )->{values} = [new CSS::Value({value => '#1821DE'})];
$css->get_style_by_selector( '.oceanxx' )->get_property_by_name( 'fill' )->{values} = [new CSS::Value({value => '#9ec7f3'})];
my $coastxx = $css->get_style_by_selector( '.coastxx' );
$coastxx->add_property( new CSS::Property( { property => 'stroke', value => '#1821DE' } ) );
$coastxx->add_property( new CSS::Property( { property => 'stroke-opacity', value => '1.0' } ) );
$coastxx->add_property( new CSS::Property( { property => 'stroke-width', value => '0.5' } ) );
my $legend = $svg->group( 
	id => 'legend',
	transform => 'translate('.LEGEND_XPOS.','.LEGEND_YPOS.') scale(0.8)'
);
my $gradient = $legend->gradient(
	-type => "linear",
	id    => "legend_gradient"
);
my $legend_box = $legend->rectangle(
	x     => 0, y      => 0,
	width => LEGEND_WIDTH, height => LEGEND_HEIGHT,
	rx    => 10, ry     => 10,
	id    => 'legend_box'
);

my $gradbox = $legend->rectangle(
	x     => LEGEND_XOFF, y      => LEGEND_YOFF,
	width => LEGEND_WIDTH - LEGEND_XOFF * 2, height => 100,
	id    => 'legend_grad'
);

{
	my $span = scalar keys %$dates;
	my $counter = 0;
	foreach my $date( sort keys %$dates ) {
		my $hue = $hue_start + (1-(DATE_MAX - $date)/(DATE_MAX - DATE_MIN)) * $hue_length;
		$gradient->stop(
			offset => sprintf( "%d%%", $counter / $span * 100 ),
			'stop-color' => '#'.Graphics::ColorObject->new_HSL([rad2deg($hue), SATURATION, LIGHTNESS])->as_RGBhex(),
		);
		++$counter;
	}
	my $datespan = DATE_MAX - DATE_MIN;
	foreach my $id(0..10) {
		my $xpos = LEGEND_XOFF + $id / 10 * (LEGEND_WIDTH - LEGEND_XOFF * 2);
		$legend->line(
			x1 => $xpos - 2,
			x2 => $xpos - 2,
			y1 => LEGEND_YOFF,
			y2 => 170,
			'stroke-width' => '4',
		);
		$legend->text( 
			x =>  $xpos - LEGEND_XLABEL_SIZE,
			y => 220,
			fill => 'black',
			'font-family' => 'sans-serif',
			'fill-opacity' => 1,
			'font-size' => LEGEND_XLABEL_SIZE,
			'stroke' => 'none',
		)->cdata(DATE_MIN + int($id/10 * $datespan) );
	}
}


$css->read_string( "#legend { fill: #d0d0d0; fill-opacity: .3; stroke: black; stroke-width: 10; } " );
$css->read_string( "#legend_grad { fill: url(#legend_gradient); fill-opacity: 1; stroke: black; stroke-width: 1; } " );

$css_container->CDATA( "\n".$css->output() );

print $svg->xmlify();
Ek, die outeursreghouer van hierdie werk, publiseer dit onder die volgende lisensie:
Public domain Ek, die outeursreghouer van hierdie werk, stel dit hiermee in die publieke domein vry. Dit geld wêreldwyd.
In sommige lande is dit dalk nie wettiglik moontlik nie. Indien so:
Ek verleen aan enigiemand die reg om hierdie werk te gebruik vir enige doel, sonder voorwaardes, tensy sulke voorwaardes deur die wet vereis word.

Captions

Add a one-line explanation of what this file represents
World map showing countries' year of metrication

Items portrayed in this file

uitbeelding

Lêergeskiedenis

Klik op die datum/tyd om te sien hoe die lêer destyds gelyk het.

(nuutste | oudste) Wys (nuwer 10 | ) (10 | 20 | 50 | 100 | 250 | 500).
Datum/TydDuimnaelDimensiesGebruikerOpmerking
huidig14:36, 6 September 2019Duimnaelskets vir weergawe vanaf 14:36, 6 September 20192 754 × 1 398 (1,07 MG)Cherkashchanged legend background color
23:42, 5 September 2019Duimnaelskets vir weergawe vanaf 23:42, 5 September 20192 754 × 1 398 (1,07 MG)Cherkashadded Faroe Islands
23:00, 5 September 2019Duimnaelskets vir weergawe vanaf 23:00, 5 September 20192 754 × 1 398 (1,07 MG)Cherkashupdated to the newest baseline blank map, added circles; reused latest version's legend/data with updates: Turkey updated (per Vera ref); no mention in refs of Palestine's differing from Israel; Bermuda moved by one year (per NIST ref)
19:25, 19 Julie 2019Duimnaelskets vir weergawe vanaf 19:25, 19 Julie 20192 560 × 1 314 (1,13 MG)De728631added Turkey, Greenland, West Bank
14:45, 19 Junie 2018Duimnaelskets vir weergawe vanaf 14:45, 19 Junie 20182 560 × 1 314 (1,06 MG)AzaTothHue moved 60° down and increased length to 240° from 120°; other changes applied since before.
09:40, 31 Julie 2012Duimnaelskets vir weergawe vanaf 09:40, 31 Julie 2012940 × 477 (1,54 MG)HtonlAlter CSS to apply same colour to Namibia as South Africa - Namibia (SWA) was at the time part of South Africa and the South African metrication law applied.
02:21, 23 Maart 2009Duimnaelskets vir weergawe vanaf 02:21, 23 Maart 2009940 × 477 (1,54 MG)AzaTothcorrectify the gradient
02:13, 23 Maart 2009Duimnaelskets vir weergawe vanaf 02:13, 23 Maart 2009940 × 477 (1,54 MG)AzaTothdon't want to have ugly gray there :/
02:11, 23 Maart 2009Duimnaelskets vir weergawe vanaf 02:11, 23 Maart 2009940 × 477 (1,54 MG)AzaTothforgot to readd the ocean color
02:07, 23 Maart 2009Duimnaelskets vir weergawe vanaf 02:07, 23 Maart 2009940 × 477 (1,54 MG)AzaTothupdated with legend
(nuutste | oudste) Wys (nuwer 10 | ) (10 | 20 | 50 | 100 | 250 | 500).

Die volgende bladsy gebruik dié lêer:

Globale lêergebruik

Die volgende ander wiki's gebruik hierdie lêer:

Metadata