Datei:Weltkartenvorlage fuer Modifikation.svg

Aus Shadowhelix
Version vom 18. August 2016, 17:46 Uhr von LokiBot (Diskussion | Beiträge) (entfernung kategorien)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Originaldatei(SVG-Datei, Basisgröße: 2.500 × 1.268 Pixel, Dateigröße: 2,01 MB)

Übersicht
Lizenz Creative Commons Attribution-Noncommercial Unported 3.0
Kartenauschnitt 180° westl. Laenge, 180° oestl. Laenge, 90° suedl. Breite, 90° noerdl. Breite
Projektion Robinson-Projektion
Datenquelle Global Administrative Areas [1]
CIA World DataBank II [2]
Shadowrun-Karten (in Form übertragener Geodaten)
Beschreibung Weltkartenvorlage zur Modifikation

Skript zur Einfärbung

Folgendes Perlskript sollte in eine Datei mit der Endung .pl kopiert werden. Zur Ausführung benötigt man Perl (auf den meisten Linuxdistributionen vorinstalliert). Gegebenenfalls muss auch das "Encode"-Paket z.B. über CPAN nachinstalliert werden.

use strict;
use utf8;
use Encode;

my $filename;
unless ($filename = $ARGV[0]) {
	$filename = 0;
}

my $restyle_file = "restyle.dat";
my $output_file = $filename.".changed";

my %restyle;
open(IN,$restyle_file);
	while(defined(my $i = decode("utf8", <IN>))) {
		my @entry = split /\t/, $i;
		$restyle{$entry[0]} = $entry[1];
	}
close(IN);

my $text;
open(IN,$filename);
	while(defined(my $i = decode("utf8", <IN>))) {
		if ($i =~ /<path id="([^\/]+)\/[0-9][0-9][0-9][0-9][0-9]" style="stroke:none; fill:/) {
			if ($restyle{$1}) {
				my $newfill = $restyle{$1};
				$i =~ s/(<path id="[^\/]+\/[0-9][0-9][0-9][0-9][0-9]" style="stroke:none; fill:)[^;]+;/$1$newfill/;
			}
		}
		$text = $text.$i;
	}
close(IN);

open(OUT,"> $output_file");
	print OUT encode("utf8",$text);
close(OUT);

Das Skript benötigt eine weitere Datei, "restyle.dat", die eine Liste von Ländern enthält, die neueingefärbt werden sollen, sowie die zugehörige Farbe, beides getrennt mit einem Tabulator. Farben können mit Namen angeben werden (siehe diese Liste) oder in der gängigen Hexadezimaldarstellung mit vorangestelltem Doppelkreuz (#). Jedes Land/Farbe-Paar muss in einer eigenen Zeile stehen. Die Ländernamen können im SVG gefunden werden, sie stehen jeweils im ersten Teil des id-Attributs eines Pathelements ggf. einfach die Suchfunktion einsetzen.

Beispiel (\t steht für einen Tabulatorabstand):

California_Free_State\t#0000FF
Neuseeland-Aotearoa\tred

Der Skriptaufruf erfolgt mit:

perl skriptname.pl Weltkarte.svg

Anschließend sollte die Datei Weltkarte.svg.changed erzeugt worden sein, die eine entsprechend restyle.dat neueingefärbte Weltkarte darstellt.

Dateiversionen

Klicke auf einen Zeitpunkt, um diese Version zu laden.

Version vomVorschaubildMaßeBenutzerKommentar
aktuell00:12, 18. Apr. 2012Vorschaubild der Version vom 00:12, 18. Apr. 20122.500 × 1.268 (2,01 MB)Loki (Diskussion | Beiträge){{Karteninfo |LIZENZ=[http://creativecommons.org/licenses/by-nc/3.0/ Creative Commons Attribution-Noncommercial Unported 3.0] |AUSSCHNITT=180° westl. Laenge, 180° oestl. Laenge, 90° suedl. Breite, 90° noerdl. Breite |PROJEKTION=Robinson-Projektion |QU

Keine Seiten verwenden diese Datei.

Metadaten