liosha
А может сделать постпроцессор на подобии того, что для названия улиц? Чтобы названия poi приводить в общий вид. Например:
Lukoil, Лукоил => Лукойл
McDonalds, mcdonalds => Макдональдс
Пятерочка => Пятёрочка.
liosha
А может сделать постпроцессор на подобии того, что для названия улиц? Чтобы названия poi приводить в общий вид. Например:
Lukoil, Лукоил => Лукойл
McDonalds, mcdonalds => Макдональдс
Пятерочка => Пятёрочка.
Теоретически можно, но на практике за всем не уследишь, да и править такие вещи надо в самой базе
Да пусть за всем и не уследим, но, по-моему, идея правильная, надо только добровольцев, отлавливающих эти разнописания. Хоть немножко бардак в пои сократится
SenatoR, если доброволец нашёл ошибку, её проще исправить в базе, чем делать автоисправлялку на этапе конвертации.
Вот, например: [name=Лукоил]
Скачиваем, грузим в жосм, исправляем, загружаем обратно
А о разнописаниях будем рассказывать мы - пользователи. Так постепенно база и будет пополнятся.
я согласен с Лешей - бардак в пои нужно сокращать непосредственно в ОСМ
Тогда нужен бот, который будет гулять по ОСМ и править по словарю.
Такого бота через xapi сделать элементарно. Нужен только список стандартных ошибок.
Кстати, Лукойл на заправках - это operator или brand? В последних пресетах josm предпочтение вроде у brand.
Иногда ошибки в самом названии на вывесках, и бот тут не помощник. У меня в городе есть магазины “Аполон” и “Крестина”.
Операторы в разных регионах на Лукойлах вроде как разные, типа ООО “ЛУКОЙЛ-Центрнефтепродукт”, ООО “ЛУКОЙЛ-Югнефтепродукт”, если не иметь ввиду глобально ОАО “ЛУКОЙЛ”.
зачем бот, когда такие вещи можно поправить вручную?
и так в списке changeset-ов не протолкнуться от ботов…
zverik, делать вручную повторяющиеся вещи - некошерно
Полностью согласен, порядок давно пора наводить в базе ОСМ и не только касательно POI
опять про военные объекты?
Ну вот, сделал набросок. Пока только точки, и нет ограничения по территории.
Создаёт файл result.osm, который надо загрузить в жосм и аплоднуть.
use strict;
use utf8;
use Encode;
use LWP::Simple;
use Geo::Parse::OSM;
my @list = (
[ 'node', 'name', 'Лукоил', 'Лукойл' ],
);
open OUT, '>', 'result.osm';
print OUT "<?xml version='1.0' encoding='UTF-8'?>\n";
print OUT "<osm version='0.6' generator='spell-bot.pl'>\n";
for my $item ( @list ) {
my ( $otype, $key, $errval, $newval ) = @$item;
my $xurl = "http://www.informationfreeway.org/api/0.6/${otype}[$key=$errval]";
my $xml = get $xurl;
my $parser = sub {
my $data = shift;
return unless $data->{type} eq $otype;
return unless $data->{tag}->{$key} eq $errval;
$data->{action} = 'modify';
$data->{tag}->{$key} = $newval;
print OUT Geo::Parse::OSM->to_xml( $data );
};
Geo::Parse::OSM->parse_file( \$xml, $parser );
}
print OUT "</osm>\n";
close OUT;
Исправил лукойлы и пятёрочки: http://www.openstreetmap.org/browse/changeset/5918064
Макдональдсы, пока не будет ограничения по территории, нельзя.
Исправил лукойлы и пятёрочки: http://www.openstreetmap.org/browse/changeset/5918064
Макдональдсы, пока не будет ограничения по территории, нельзя.
Отлично сделано! Пятёрочки кстати же shop=supermarket? Было бы идеально, чтобы потом по фильтру “Пятёрочка” конвиенсы менять на супермаркет.
А вот этого уже не надо - пятёрочки разные бывают.
Тем более далеко не факт, что все name=Пятёрочка относятся к этой продуктовой сети.
опять про военные объекты?
Классификация дорог (особенно дворовых проездов), адресация, включая подписи у объектов адресации.
И да, военные объекты