On Sun, Nov 02, 2008 at 12:21:58PM +0100, Sascha Silbe wrote: > >Und da sind mal kloepse drin ;) In Sachsen sind alleine 2000 orte mit > >"Sachsen,Germany,Europe" waere also in Neusprech eine > >"Low Hanging Fruit" fuer einen bot ... > Je nach Def. von "Bot" ist nicht mal einer nötig. Datei ziehen, > Search&Replace per Text-Editor, Datei hochladen.
Das sind 30 zeilen perl denke ich - ich habe mir das gestern mal
angesehen und habe mal die ersten zeilen zum reparieren von is_ins
gebaut. Ist aber alles heikel und man muss aufpassen nicht mehr kaputt
zu machen etc ...
Das habe ich gestern mal so getestet:
my %replace=(
"europa" => "Europe",
"eu" => "Europe",
"bavaria" => "Bayern",
"saxony" => "Sachsen",
"thuringia" => "Thüringen",
"munich" => "München",
"germany" => "Bundesrepublik Deutschland",
"deutschland" => "Bundesrepublik Deutschland",
"de" => "Bundesrepublik Deutschland",
"nrw" => "Nordrhein-Westfalen",
"nrw germany" => "Nordrhein-Westfalen",
"baden-wuerttemberg" => "Baden-Württemberg",
"baden-württember" => "Baden-Württemberg",
"freistaat sachsen" => "Sachsen",
"nortrhein-westfahlen" => "Nordrhein-Westfalen"
);
sub fixupisin {
my ($isin) = @_;
my @parts=split(/\s*[;,]\s*/, $isin);
# Translate all parts
for(my $i=0;$i<scalar @parts;$i++) {
my $p=$parts[$i];
if (defined($replace{lc($p)})) {
$parts[$i]=$replace{lc($p)};
}
}
# Dedupe
my %elem;
my @newparts;
foreach my $p ( @parts ) {
next if (defined($elem{$p}));
push @newparts, $p;
$elem{$p}=$p;
}
@[EMAIL PROTECTED];
# Find Europe and move it to the last element or add it
for(my $i=0;$i<scalar @parts;$i++) {
if ($parts[$i] =~ /Europe/i) {
splice(@parts, $i, 1);
last;
}
}
push @parts, "Europe";
return join(",", @parts);
}
Das mit dem Statisch uebersetzen habe ich gemacht um nicht 27 millionen
regexen zu haben die irgendwann amok laufen.
Vielleicht macht es aber sinn das doch mit regexen zu machen.
Dazu kommen muss noch das moven von BRD an pos 2 von hinten und
moven des Bundeslandes an pos 3 von hinten.
Flo
--
Florian Lohoff [EMAIL PROTECTED] +49-171-2280134
Those who would give up a little freedom to get a little
security shall soon have neither - Benjamin Franklin
signature.asc
Description: Digital signature
_______________________________________________ Talk-de mailing list [email protected] http://lists.openstreetmap.org/listinfo/talk-de

