Tiedosto:SwedishGeneralElection2010-map.svg
Wikipediasta
Siirry navigaatioon
Siirry hakuun
Tämän PNG-esikatselun koko koskien SVG-tiedostoa: 266 × 600 kuvapistettä. Muut resoluutiot: 106 × 240 kuvapistettä | 213 × 480 kuvapistettä | 340 × 768 kuvapistettä | 454 × 1 024 kuvapistettä | 908 × 2 048 kuvapistettä | 290 × 654 kuvapistettä.
Alkuperäinen tiedosto (SVG-tiedosto; oletustarkkuus 290 × 654 kuvapistettä; tiedostokoko 262 KiB)
Tämä tiedosto on tiedostotietokanta Wikimedia Commonsista. Tiedot kuvaussivulta näkyvät alla. | Tiedoston kuvaussivu Commonsissa |
KuvausSwedishGeneralElection2010-map.svg |
English: Swedish general election 2010 relative coalition support breakdown by municipality. Although the Red-Greens are dominant on a wider area, the urban population of South decided the election for the Alliance. The data has been fed through a Laplace distribution function to make the regional differences seem more pronounced. Support is relative to all votes cast to one of the seven coalition parties. Open the image in browser for overall statistics. Key: 00 The Alliance dominance 00 Red-Green dominance 00 Equal dominance
|
Päiväys | |
Lähde | Own work based on: SWE-Map Kommuner2007.svg by Lokal_Profil |
Tekijä | Hydrox |
Käyttöoikeus (Tämän tiedoston uudelleenkäyttö) |
Tämä tiedosto on lisensoitu Creative Commons Nimeä-JaaSamoin 2.5 Yleinen -lisenssillä.
|
Muut versiot | File:SwedishGeneralElection2010-map-SwedenDemocrats.svg – Breakdown of relative support to Sweden Democrats, the only elected non-coalition party. |
SVG kehittely InfoField | Tämä vektorigrafiikkatiedosto luotiin käyttäen apuna ohjelmaa Inkscape. |
Source code
SweMap.rb
require "SweMapDB.rb"
# How to use this script in Ubuntu:
# 1) sudo aptitude install ruby1.8 libnokogiri-ruby
# 2) Place SweMapDB.rb and the source map in the same directory as this script.
# 3) Download regional ballots from the Election Authority:
# for i in `seq 1 9`; do
# wget -O $i.html "http://www.val.se/val/val2010/slutresultat/R/rvalkrets/0$i/index.html"
# done
# for i in `seq 10 29`; do
# wget -O $i.html "http://www.val.se/val/val2010/slutresultat/R/rvalkrets/$i/index.html"
# done
# 4) ruby1.8 SweMap.rb
# Set source map
MAP = SweMap.load "SWE-Map_Kommuner2007.svg"
# Laplace function parameters
MU = 0.5
B = 0.15
def lcdf(x)
return 0.5 * Math.exp((x-MU) / B) if x < MU
return 1 - 0.5 * Math.exp((-x+MU)/B)
end
def color(kommun, right, left, total)
r = 0xff * lcdf((left.to_f / total))
b = 0xff * lcdf((right.to_f / total))
MAP.style kommun, "fill", "rgb(#{r.round}, 0, #{b.round})"
end
kommunf = Hash.new { |hash, key| key }
kommunf['Malung-Sälen'] = 'Malung'
kommunf['I vallokal ej räknade röster'] = false
parties = %w(M, C, FP, KD, S, V, MP, SD, ÖVR, BLANK, OG)
(1..29).each do |v|
fn = "#{v}.html"
doc = Nokogiri::HTML(open(fn))
doc.errors.each { |e| raise "Parse error in #{fn}" if e.fatal? }
if [1,9,11,16].include? v
table = doc.css('table [class="sorteringsbar_tabell"]')[1].css "tbody:last-child"
summa = true
else
table = doc.css('table >tbody[class="sorteringsbara_rader"]')[1]
summa = false
end
raise "No table!" if not table
table.children.each do |row|
if row.elem?
if summa
kommun = kommunf[row.at_css('td:first-child').inner_text]
if v >= 10
link = "http://www.val.se/val/val2010/slutresultat/R/rvalkrets/#{v}/index.html"
else
link = "http://www.val.se/val/val2010/slutresultat/R/rvalkrets/0#{v}/index.html"
end
else
a = row.at_css('td:first-child a')
kommun = kommunf[]["title"]
link = "http://www.val.se/val/val2010/slutresultat/R/rvalkrets/#{v}/" + a["href"]
end
if kommun
right = left = sd = ovr = blank = og = total = 0
row.css("td.relativ_nej").each_with_index do |e,i|
n = e.inner_text.to_i
if i <= 3
right += n
elsif i <= 6
left += n
elsif i == 7
sd = n
elsif i == 8
ovr = n
elsif i == 9
blank = n
elsif i == 10
og = n
elsif i == 11
total = n
end
end
color kommun, right, left, total-blank-og-sd-ovr
MAP.link kommun, link, "#{kommun} / "+
"AL: #{(1000.0 * right/(total-blank-og)).round / 10.0}% " +
"RG: #{(1000.0 * left/(total-blank-og)).round / 10.0}%"
end
end
end
end
MAP.write("SwedishGeneralElection2010-map.svg")
SweMapDB.rb
begin
require "rubygems"
rescue LoadError
end
require "nokogiri"
SCB = {
"AB" => {
"0114" => "Upplands Väsby",
"0115" => "Vallentuna",
"0117" => "Österåker",
"0120" => "Värmdö",
"0123" => "Järfälla",
"0125" => "Ekerö",
"0126" => "Huddinge",
"0127" => "Botkyrka",
"0128" => "Salem",
"0136" => "Haninge",
"0138" => "Tyresö",
"0139" => "Upplands-Bro",
"0140" => "Nykvarn",
"0160" => "Täby",
"0162" => "Danderyd",
"0163" => "Sollentuna",
"0180" => "Stockholm",
"0181" => "Södertälje",
"0182" => "Nacka",
"0183" => "Sundbyberg",
"0184" => "Solna",
"0186" => "Lidingö",
"0187" => "Vaxholm",
"0188" => "Norrtälje",
"0191" => "Sigtuna",
"0192" => "Nynäshamn"
},
"C" => {
"0305" => "Håbo",
"0319" => "Älvkarleby",
"0330" => "Knivsta",
"0331" => "Heby",
"0360" => "Tierp",
"0380" => "Uppsala",
"0381" => "Enköping",
"0382" => "Östhammar"
},
"D" => {
"0428" => "Vingåker",
"0461" => "Gnesta",
"0480" => "Nyköping",
"0481" => "Oxelösund",
"0482" => "Flen",
"0483" => "Katrineholm",
"0484" => "Eskilstuna",
"0486" => "Strängnäs",
"0488" => "Trosa"
},
"E" => {
"0509" => "Ödeshög",
"0512" => "Ydre",
"0513" => "Kinda",
"0560" => "Boxholm",
"0561" => "Åtvidaberg",
"0562" => "Finspång",
"0563" => "Valdemarsvik",
"0580" => "Linköping",
"0581" => "Norrköping",
"0582" => "Söderköping",
"0583" => "Motala",
"0584" => "Vadstena",
"0586" => "Mjölby"
},
"F" => {
"0604" => "Aneby",
"0617" => "Gnosjö",
"0642" => "Mullsjö",
"0643" => "Habo",
"0662" => "Gislaved",
"0665" => "Vaggeryd",
"0680" => "Jönköping",
"0682" => "Nässjö",
"0683" => "Värnamo",
"0684" => "Sävsjö",
"0685" => "Vetlanda",
"0686" => "Eksjö",
"0687" => "Tranås"
},
"G" => {
"0760" => "Uppvidinge",
"0761" => "Lessebo",
"0763" => "Tingsryd",
"0764" => "Alvesta",
"0765" => "Älmhult",
"0767" => "Markaryd",
"0780" => "Växjö",
"0781" => "Ljungby"
},
"H" => {
"0821" => "Högsby",
"0834" => "Torsås",
"0840" => "Mörbylånga",
"0860" => "Hultsfred",
"0861" => "Mönsterås",
"0862" => "Emmaboda",
"0880" => "Kalmar",
"0881" => "Nybro",
"0882" => "Oskarshamn",
"0883" => "Västervik",
"0884" => "Vimmerby",
"0885" => "Borgholm"
},
"I" => {
"0980" => "Gotland"
},
"K" => {
"1060" => "Olofström",
"1080" => "Karlskrona",
"1081" => "Ronneby",
"1082" => "Karlshamn",
"1083" => "Sölvesborg"
},
"M" => {
"1214" => "Svalöv",
"1230" => "Staffanstorp",
"1231" => "Burlöv",
"1233" => "Vellinge",
"1256" => "Östra Göinge",
"1257" => "Örkelljunga",
"1260" => "Bjuv",
"1261" => "Kävlinge",
"1262" => "Lomma",
"1263" => "Svedala",
"1264" => "Skurup",
"1265" => "Sjöbo",
"1266" => "Hörby",
"1267" => "Höör",
"1270" => "Tomelilla",
"1272" => "Bromölla",
"1273" => "Osby",
"1275" => "Perstorp",
"1276" => "Klippan",
"1277" => "Åstorp",
"1278" => "Båstad",
"1280" => "Malmö",
"1281" => "Lund",
"1282" => "Landskrona",
"1283" => "Helsingborg",
"1284" => "Höganäs",
"1285" => "Eslöv",
"1286" => "Ystad",
"1287" => "Trelleborg",
"1290" => "Kristianstad",
"1291" => "Simrishamn",
"1292" => "Ängelholm",
"1293" => "Hässleholm"
},
"N" => {
"1315" => "Hylte",
"1380" => "Halmstad",
"1381" => "Laholm",
"1382" => "Falkenberg",
"1383" => "Varberg",
"1384" => "Kungsbacka"
},
"O" => {
"1401" => "Härryda",
"1402" => "Partille",
"1407" => "Öckerö",
"1415" => "Stenungsund",
"1419" => "Tjörn",
"1421" => "Orust",
"1427" => "Sotenäs",
"1430" => "Munkedal",
"1435" => "Tanum",
"1438" => "Dals-Ed",
"1439" => "Färgelanda",
"1440" => "Ale",
"1441" => "Lerum",
"1442" => "Vårgårda",
"1443" => "Bollebygd",
"1444" => "Grästorp",
"1445" => "Essunga",
"1446" => "Karlsborg",
"1447" => "Gullspång",
"1452" => "Tranemo",
"1460" => "Bengtsfors",
"1461" => "Mellerud",
"1462" => "Lilla Edet",
"1463" => "Mark",
"1465" => "Svenljunga",
"1466" => "Herrljunga",
"1470" => "Vara",
"1471" => "Götene",
"1472" => "Tibro",
"1473" => "Töreboda",
"1480" => "Göteborg",
"1481" => "Mölndal",
"1482" => "Kungälv",
"1484" => "Lysekil",
"1485" => "Uddevalla",
"1486" => "Strömstad",
"1487" => "Vänersborg",
"1488" => "Trollhättan",
"1489" => "Alingsås",
"1490" => "Borås",
"1491" => "Ulricehamn",
"1492" => "Åmål",
"1493" => "Mariestad",
"1494" => "Lidköping",
"1495" => "Skara",
"1496" => "Skövde",
"1497" => "Hjo",
"1498" => "Tidaholm",
"1499" => "Falköping"
},
"S" => {
"1715" => "Kil",
"1730" => "Eda",
"1737" => "Torsby",
"1760" => "Storfors",
"1761" => "Hammarö",
"1762" => "Munkfors",
"1763" => "Forshaga",
"1764" => "Grums",
"1765" => "Årjäng",
"1766" => "Sunne",
"1780" => "Karlstad",
"1781" => "Kristinehamn",
"1782" => "Filipstad",
"1783" => "Hagfors",
"1784" => "Arvika",
"1785" => "Säffle"
},
"T" => {
"1814" => "Lekeberg",
"1860" => "Laxå",
"1861" => "Hallsberg",
"1862" => "Degerfors",
"1863" => "Hällefors",
"1864" => "Ljusnarsberg",
"1880" => "Örebro",
"1881" => "Kumla",
"1882" => "Askersund",
"1883" => "Karlskoga",
"1884" => "Nora",
"1885" => "Lindesberg"
},
"U" => {
"1904" => "Skinnskatteberg",
"1907" => "Surahammar",
"1960" => "Kungsör",
"1961" => "Hallstahammar",
"1962" => "Norberg",
"1980" => "Västerås",
"1981" => "Sala",
"1982" => "Fagersta",
"1983" => "Köping",
"1984" => "Arboga"
},
"W" => {
"2021" => "Vansbro",
"2023" => "Malung",
"2026" => "Gagnef",
"2029" => "Leksand",
"2031" => "Rättvik",
"2034" => "Orsa",
"2039" => "Älvdalen",
"2061" => "Smedjebacken",
"2062" => "Mora",
"2080" => "Falun",
"2081" => "Borlänge",
"2082" => "Säter",
"2083" => "Hedemora",
"2084" => "Avesta",
"2085" => "Ludvika"
},
"X" => {
"2101" => "Ockelbo",
"2104" => "Hofors",
"2121" => "Ovanåker",
"2132" => "Nordanstig",
"2161" => "Ljusdal",
"2180" => "Gävle",
"2181" => "Sandviken",
"2182" => "Söderhamn",
"2183" => "Bollnäs",
"2184" => "Hudiksvall"
},
"Y" => {
"2260" => "Ånge",
"2262" => "Timrå",
"2280" => "Härnösand",
"2281" => "Sundsvall",
"2282" => "Kramfors",
"2283" => "Sollefteå",
"2284" => "Örnsköldsvik"
},
"Z" => {
"2303" => "Ragunda",
"2305" => "Bräcke",
"2309" => "Krokom",
"2313" => "Strömsund",
"2321" => "Åre",
"2326" => "Berg",
"2361" => "Härjedalen",
"2380" => "Östersund"
},
"AC" => {
"2401" => "Nordmaling",
"2403" => "Bjurholm",
"2404" => "Vindeln",
"2409" => "Robertsfors",
"2417" => "Norsjö",
"2418" => "Malå",
"2421" => "Storuman",
"2422" => "Sorsele",
"2425" => "Dorotea",
"2460" => "Vännäs",
"2462" => "Vilhelmina",
"2463" => "Åsele",
"2480" => "Umeå",
"2481" => "Lycksele",
"2482" => "Skellefteå"
},
"BD" => {
"2505" => "Arvidsjaur",
"2506" => "Arjeplog",
"2510" => "Jokkmokk",
"2513" => "Överkalix",
"2514" => "Kalix",
"2518" => "Övertorneå",
"2521" => "Pajala",
"2523" => "Gällivare",
"2560" => "Älvsbyn",
"2580" => "Luleå",
"2581" => "Piteå",
"2582" => "Boden",
"2583" => "Haparanda",
"2584" => "Kiruna"
}
}
LAN = {
"stockholm" => "A",
"uppsala" => "C",
"södermanland" => "D",
"östergötland" => "E",
"jönköping" => "F",
"kronoberg" => "G",
"kalmar" => "H",
"gotland" => "I",
"blekinge" => "K",
"skåne" => "M",
"halland" => "N",
"västra götaland" => "O",
"värmland" => "S",
"örebro" => "T",
"västmanland" => "U",
"dalarna" => "W",
"gävleborg" => "X",
"västernorrland" => "Y",
"jämtland" => "Z",
"västerbotten" => "AC",
"norrbotten" => "BD"
}
class SweMap
public
def self.load(filename, mode=:kommuns)
begin
return self.new(filename, mode)
rescue
error
end
end
def style(name, attribute, value)
begin
set_style(get_element(name), attribute, value)
rescue
error
end
end
def link(name, url, title=nil)
begin
link_to(get_element(name), url, title)
rescue
error
end
end
def write(filename)
begin
open(filename, "w") { |f| @doc.write_to(f, :encoding => 'UTF-8') }
rescue
error
end
end
private
def initialize(filename, mode)
@mode = mode
open(filename) { |f| @doc = Nokogiri::XML(f) }
raise "Could not find #{filename}" if @doc === nil
@doc.errors.each { |e| raise "Parse error in #{filename}" if e.fatal? }
@doc.root['xmlns:xlink'] = "http://www.w3.org/1999/xlink"
if @mode == :kommuns
@BCS = {}
SCB.each_value {|h| h.each_pair { |c,k| @BCS[k.downcase] = c } }
end
end
def get_element(name)
if @mode == :kommuns
id = get_kommun_id(name)
else
id = get_county_id(name)
end
el = @doc.at_css "*[id=\"#{id}\"]"
if not (el and el.elem?)
raise "Could not find id=\"#{id}\" in the SVG!"
end
return el
end
def get_kommun_id(kommun)
if kommun.is_a? Fixnum
id = "0" * (4-Math.log10(kommun+1).ceil) + kommun.to_s
else
id = @BCS[kommun.to_s.strip.downcase]
end
if not id
raise "Where is '#{kommun}'? Check that you have the right name."
end
return id
end
def get_county_id(county)
county = county.to_s
if county.length > 2
s = county.downcase
id = LAN[s]
id = LAN["#{s}s"] if not id
if not id
raise "Where is '#{county}'? Check that you have the right name."
end
return id
else
return county
end
end
def set_style(group, attribute, value)
re = Regexp.new "#{Regexp.quote(attribute)}\s*:[^;]*;"
group.traverse do |el|
if el.elem?
if el.has_attribute? "style" and el["style"].strip.length > 0
style = el["style"]
if style.match re
style = style.sub(re, "#{attribute}: #{value};")
else
style += " #{attribute}: #{value};"
end
el["style"] = style
else
el["style"] = "#{attribute}: #{value};"
end
end
end
end
def link_to(el, url, title)
par = @doc.create_element 'a'
par["xlink:href"] = url
par["xlink:title"] = title if title
par.parent = el.parent
el.parent = par
end
def error
STDERR.puts "Error: #{$!}"
end
end
Kohteet, joita tässä tiedostossa esitetään
esittää
26. syyskuu 2010
Tiedoston historia
Päiväystä napsauttamalla näet, millainen tiedosto oli kyseisellä hetkellä.
Päiväys | Pienoiskuva | Koko | Käyttäjä | Kommentti | |
---|---|---|---|---|---|
nykyinen | 26. syyskuuta 2010 kello 09.25 | 290 × 654 (262 KiB) | Hydrox | {{Information |Description={{en|1=Swedish general election 2010 relative coalition support breakdown by municipality. Although the Red-Greens are dominant on a wider area, the urban population in South decided the election for the Alliance. The data has b |
Tiedoston käyttö
Tätä tiedostoa ei käytetä millään sivulla.
Tiedoston järjestelmänlaajuinen käyttö
Seuraavat muut wikit käyttävät tätä tiedostoa:
- Käyttö kohteessa ast.wikipedia.org
- Käyttö kohteessa ca.wikipedia.org
- Käyttö kohteessa en.wikipedia.org
- Käyttö kohteessa www.wikidata.org
Noudettu kohteesta ”https://fi.wikipedia.org/wiki/Tiedosto:SwedishGeneralElection2010-map.svg”