Объективные, объективные
Кодировки - это примерно такая же вещь, как указатели в C/C++. Некоторые люди понимают концепцию сразу и без проблем, а до других доходит с большим трудом. Уж насколько в Java простая схема, и то постоянно вызывает проблемы у начинающих…
Я посмотрел changeset и хочу заметить (совершенно в отрыве от темы), что набор значений тэга принято разделять точками с запятой, а не запятыми
Не будь эти проблемы объективными, мы бы вообще не знали никаких проблем с кодировками
Кстати, никто не сравнивал вариант работы с xml через модули Perl с вариантом вызова из perl xmlstarlet ? Что быстрее?
Если ты про source, то к этот конкретный ченжсет его не трогал.
Скажите тогда как мне после чтения из файла через фильтр потом печатать можно было по-русски?
open MYINPUTFILE, ‘<:utf8’, “ru_cs_towns.txt”;
while() {
chomp;
($ru, $cs) = split /:/;
$hash{$cs} = $ru;
print “$cs → $hash{$cs}\n”;
}
Ну в четвёртом же посте написано
Так ведь блин одновременно не работает всё равно!
Šumperk → Шумперк
Jaroměř → Яромерж
Чтобы одновременно работало - 23-й пост
http://forum.openstreetmap.org/viewtopic.php?pid=112812#p112812
Можно просто отключить фильтр перед выводом xml-а:
binmode STDOUT;
О, ну вот, это самые крепкие костыли оказались! Заработало
Предлагаю тебе скопипейстить работающий скрипт на какую-нибудь свою подстраничку на Вики.
Кстати, существует библиотека для правильного расчета расстояний по координатам: GIS::Distance.
Привет, я тут завёл небольшой проектик по приведению территории Украины в порядок. Все исходники лежат здесь: http://github.com/sev-/osm
Там обработка дампов Википедии и работа с OSM XML. Пока оно в зачаточном состоянии, но всё же может кому пригодится.
Eugene
Хелп ми!
Хочу проставить kladr:user по cladr:note для улиц
Отобрал нужные веи и пропустил через фильтр. Остались только хмл-теги веев, без точек.
<osm version='0.6'>
<way action="modify" id="17191681" version="19" timestamp="2010-07-07T07:53:41Z" uid="127170" user="Ilis" changeset="5156548" visible="true">
<nd ref="175271064"/>
<nd ref="175276957"/>
<nd ref="175270053"/>
<nd ref="175276958"/>
<nd ref="579335061"/>
<nd ref="175276961"/>
<nd ref="175276963"/>
<tag k="addr:postcode" v="620000"/>
<tag k="cladr:code" v="66000001000148000"/>
<tag k="cladr:name" v="Сибирский (дублер)"/>
<tag k="cladr:note" v="66000001000148000"/>
<tag k="cladr:suffix" v="Тракт"/>
<tag k="highway" v="primary"/>
<tag k="kladr:user" v="66000001000148000"/>
<tag k="lit" v="yes"/>
<tag k="maxspeed" v="60"/>
<tag k="name" v="дублёр Сибирского тракта"/>
<tag k="oneway" v="yes"/>
</way>
<way action="modify" id="20548341" version="41" timestamp="2010-10-23T16:08:21Z" uid="155079" user="dimuzz" changeset="6147745" visible="true">
<nd ref="220469204"/>
<nd ref="220403457"/>
<nd ref="521687934"/>
<nd ref="462373971"/>
<nd ref="521687942"/>
<nd ref="727665447"/>
<nd ref="220403462"/>
<nd ref="961750677"/>
<nd ref="220403466"/>
<nd ref="727665628"/>
...
Что случится если я залью этот файл? Точки не пропадут? Или точки тоже надо включить в файл?
Ничего не случилось Теги добавились, точки не пропали

Ничего не случилось
Теги добавились, точки не пропали
Только зачем? Как я понимаю, валидатор сам должен определять улицы.
Только зачем? Как я понимаю, валидатор сам должен определять улицы.
Должен, но не все может определить. Например, улица Энгельса в КЛАДРе записана как Фридриха Энгельса, он её не понимает.
Подсказки по области были проставлены у 70 примерно улиц, их и перенёс в новый тег.