Гм. Щось я нахомутав у скрипті…
Рядок street_name = name_from_list( ‘street’, $reltag->{$relation_id} ) if !$street_name; схоже, не працює, бо кількість будинків така сама, що й без нього.
if ( $flags->{street_relations} ) {
for my $type ( qw{ street associatedStreet } ) {
my $list = $relations->{$type};
next if !$list;
while ( my ($relation_id, $members) = each %$list ) {
my $street_name;
for my $member ( @$members ) {
next if !( $member->{role} eq 'street' );
next if !( $member->{type} eq 'way' );
$street_name = name_from_list( 'street', $waytag->{$member->{ref}} );
$street_name = name_from_list( 'street', $reltag->{$relation_id} ) if !$street_name;
next if !$street_name;
last;
}
next if !$street_name;
for my $member ( @$members ) {
next if !( $member->{role} ~~ [ 'house', 'address' ] );
$street{"$member->{type}:$member->{ref}"} = $street_name;
}
}
}
printf STDERR " %d houses with associated street\n", scalar keys %street;
}