glebius
(Gleb Smirnoff)
1023
Скрипт. Как видите, многие люди имеют различные логины в wiki и в базе. Это создаёт дополнительный геморрой, однако на статистике, я предполагаю, это качественно не отразится.
#!/usr/bin/perl
my %votes, %nodes, %ways, %relations, %votecount;
my $fh;
my %usermap = (
'one half 3544' => 'one_half_3544',
'garry builder' => 'garry_builder',
'Дед Никифор' => 'dedNikifor',
'dmitry "mad" artamonow' => 'Dmitry \'MAD\' Artamonow',
'djterentjev' => 'Dmitry Terentiev', # ?
'usm78' => 'usm78-gis',
'waw' => 'bWaw', # ?
# socketpair
# dsidorin
# bakulev
# stasik
# simko
# kos32
);
open($fh, '<', "votes") or die $!;
while (<$fh>) {
my $user;
s/&/\"/g;
s/"/\"/g;
s/'/\'/g;
next unless ($_ =~ /\[\[User:([^|]+)\|.*\'\'\'([0-9]\.[0-9])\'\'\'/);
$user = lc($1);
if (defined($usermap{$user})) {
$user = lc($usermap{$user});
}
$votes{$user} = $2;
}
close $fh;
open($fh, '<', "rus.osm") or die $!;
while (<$fh>) {
my $user;
s/&/\"/g;
s/"/\"/g;
s/'/\'/g;
next unless ($_ = / <(node|way|relation) .* user="([^"]+)"/);
$user = lc($2);
$votecount{$votes{$user}} ++
if defined($votes{$user});
if ($1 eq "node") {
$nodes{$user} ++;
next;
}
if ($1 eq "way") {
$ways{$user} ++;
next;
}
if ($1 eq "relation") {
$relations{$user} ++;
next;
}
die EDOOFUS;
}
close $fh;
printf("%30s|%4s|%8s|%6s|%4s\n", "User", "V", "Nodes", "Ways", "Rels");
foreach my $user (keys %votes) {
printf("%30s|%4s|%8u|%6u|%4u\n", $user, $votes{$user}, $nodes{$user},
$ways{$user}, $relations{$user});
}
printf("Summary:\n");
foreach my $count (keys %votecount) {
printf("%10s %10u\n", $count, $votecount{$count});
}
Данные: голосования по пункту 1 от часа ночи 6 апреля. Последний голос от Loir. Дамп России с гис-лабы от 5 апреля.
Результаты:
Summary:
1.3 19946
1.1 5225
1.2 761750
1.4 1933773
User| V| Nodes| Ways|Rels
ivan komarov| 1.4| 535243| 6411| 83
kekcuha| 1.2| 297713| 49541| 296
upliner| 1.4| 215131| 7803| 55
glebius| 1.4| 162116| 8302| 168
ilis| 1.4| 152164| 8957| 78
amdmi3| 1.4| 93951| 7147| 157
vespex| 1.4| 87991| 4880| 208
lzhl| 1.4| 60824| 4709| 307
hind| 1.4| 60605| 6370| 316
kaylee| 1.4| 57552| 5170| 24
wowik| 1.2| 49296| 5215| 90
siberiano| 1.4| 48439| 6009| 53
ikz| 1.4| 46752| 6641| 57
usm78-gis| 1.4| 42854| 10752| 23
coolkaas| 1.4| 41486| 5321| 107
dednikifor| 1.4| 37703| 4709| 9
alastor| 1.2| 35560| 3139| 166
dmitry terentiev| 1.4| 31597| 2519| 26
deep125| 1.2| 30165| 2893| 127
physiocrat| 1.2| 27881| 99722|1402
paravoz| 1.2| 26669| 1506| 2
yohanson| 1.4| 23675| 2071| 54
eugene120| 1.2| 22869| 2342| 342
loir| 1.3| 16133| 3768| 45
grisxa| 1.4| 15825| 1895| 19
vovanium| 1.4| 15695| 1758| 142
akashihi| 1.4| 14692| 1680| 63
ezhick| 1.2| 14513| 20424| 165
immortalex| 1.4| 13010| 1848| 73
saintman| 1.2| 11901| 882| 52
darkave| 1.2| 11548| 1276| 47
headache| 1.2| 11314| 1542| 23
one_half_3544| 1.4| 10806| 1270| 11
dmitry 'mad' artamonow| 1.4| 10758| 711| 8
citrin| 1.4| 10501| 229| 6
asaw| 1.4| 9798| 848| 8
surly| 1.4| 9666| 738| 15
shadowjack| 1.4| 8545| 641| 8
antares19| 1.2| 8367| 1417| 6
slpak| 1.2| 6812| 1326| 30
calibrator| 1.1| 4562| 647| 16
fiks| 1.2| 4059| 1687| 0
garry_builder| 1.2| 2309| 721| 46
mbiker| 1.4| 1556| 101| 0
jst0| 1.2| 1153| 111| 0
bwaw| 1.4| 910| 50| 0
egens| 1.2| 826| 115| 0
lupin-de-mid| 1.4| 583| 599| 3
chip chef| 1.4| 564| 159| 16
porzione| 1.2| 546| 19| 0
wwilloww| 1.2| 399| 96| 0
dimson| 1.2| 296| 69| 0
b-suns| 1.2| 265| 71| 0
astroill| 1.4| 250| 127| 9
felix5551| 1.2| 128| 18| 0
vctos| 1.2| 120| 2| 0
shse| 1.2| 63| 9| 0
xdriver| 1.2| 36| 5| 0
socketpair| 1.4| 0| 0| 0
russnelson| 1.4| 0| 0| 0
dsidorin| 1.2| 0| 0| 0
bakulev| 1.2| 0| 0| 0
stasik| 1.2| 0| 0| 0
simko| 1.2| 0| 0| 0
kos32| 1.2| 0| 0| 0