Preslovljavanje (Transliteration)

Занимљиво. Ајд ми пошаљи osm фајл са проблематичним id-ом па ћу, чим будем имао времена да видим шта је у питању.

Evo probaj npr. na ovoj tački: http://www.openstreetmap.org/browse/node/2172295055

Trebalo bi po meni osvežiti dodatak da koristi svuda Long klasu za ID-e.

Милоше,
Пробај са најновијом верзијом (http://svn.mpele.iz.rs/SerbianTransliterator/). Чини ми се да сада коректно ради.

Radi, hvala Peđa!

Pozdrav

Imam JOSM instaliran, Win7 64bit, Java 7, i plug-in sam ubacio u: C:\Users\MOJEIME\AppData\Roaming\JOSM\plugins.

Međutim, nisam siguran ni da li se plugin učita, a isto tako nisam siguran ni kako se pokreće. Može li objašnjenje, par koraka, prvo da vidim da li je učitan, a posle i kako se pokreće. Nisam uspeo da nađem u ovim postovima nešto slično, tako da, izvinjavam se ako već negde ima objašnjeno.

Hvala
Branek

Добро дошао branek.

Генерално упутство за инсталирање додатака је дато на http://josm.openstreetmap.de/wiki/Help/Preferences/Plugins#Manuallyinstallingplugins , али чини ми се да си то већ пронашао. Дакле, пошто ископираш фајл потребно је да активираш плагин F12 → Plugins , рестартујеш ЈОСМ и под менијем EDIT ће се појавити ставка Еdit Nazivi.
Још бих додао да би радио са додатком потребно је да прво селектујеш објекте које желиш да пресловљаваш и да даље не би требало да је проблем…

Hvala Peđa,

uspeo sam. Sada je sve ok. Izostavljao sam korak aktiviranja dodatka.

branek

Имам техничких проблема са сервером који је до сада коришћен за освежавање фајлова на http://openstreetmap.iz.rs/ и http://openstreetmap.iz.rs/pumpe/ , па сада тражим алтернативу.

Досадашња пракса је била да се два-три пута недељно стартује скрипт који би скинуо 30-так MB са интернета, пар минута процесирао, и сличну количину послао на сервер. Идеално је да рачунар буде под linux-ом јер су за њега готове скрипте, мада су и други оперативни ситеми прихватљиви. Мени је проблем да то обављам на мом рачунару јер сам лимитиран приступом на интернет.

Пошто су масовна пресловљавања већ урађена и сада је остало само да се стање одржава можда више и нема потребе за већ полусажваканим издељеним фајловима. Можда је практичније да свако припреми фајлове сам за себе?

@mpele
Jel neko sem tebe i mene uopšte koristio te izlaze?

Slažem se da ne bi bio problem da svako radi za sebe po potrebi, ali bi nam onda dobro došlo neko javno mesto za skripte. Baš niko nema github repo ili nešto slično?

Немам тачну евиденцију ко је све користио фајлове, али рекао бих да број корисника није велики. У сваком случају велики посао је одрађен и сада је много лакше када пресловљава само нове ствари.

Ја могу да направим/поставим svn repo (рецимо svn.openstreetmap.iz.rs) за скрипте, мада је можда лепше да се негде отвори бесплатан налог. На openstreetmap.iz.rs можемо поставити блог као потпору за wiki, скрипте и тренутне активности са разним специјализованим прегледима. Под прегледима сам мислио на прегледе и за оне који желе да допринесу ОСМ-у и за оне који желе да користе већ унете податке. Ако има још неког ко је заинтересован да уложи мало времена у овако нешто нек се јави да видимо врели ли труда.

Док се не организујемо боље боље ево да наведем како се припремају фајлови за пресловљавање. Ја ћу се и даље трудити да ажурирам openstreetmap.iz.rs…

Дакле генерисање фајла за пресловљавање се врши помоћу командне:

java -cp serbiantransliterator.jar OSMParser -ulaz=serbia.osm -lektura -azuriratiName -azuriratiNameSr -azuriratiNameSrLatn

Потребно је напоменути да је улазни фајл osm који се може преузети sa http://download.geofabrik.de/europe/serbia.html.
Да би се поделио на регионе ово је bash скрипт:


POLIGONI=`ls ../Regioni_poly/RS*.poly`

counter=0
# Glavna petlja, pretpostavlje da je 'osmosis' u PATH
for i in ${POLIGONI}; do
    o=Regioni/`basename $i .poly`.osm
    komanda=$komanda" --bounding-polygon file=$i --write-xml file=$o"
    counter=`expr $counter + 1`
done

../osmosis-0.41/bin/osmosis --read-pbf file=../serbia.osm.pbf --tf reject-relations --tee $counter $komanda

Наравно у директоријуму Regioni_poly су одговарајуће границе региона.
За генерисање прегледа назива:


for file in $( ls -1 Regioni/*.osm )
do
    echo "java -cp serbiantransliterator.jar PregledNaziva -ulaz=$file "
    java -cp serbiantransliterator.jar PregledNaziva -ulaz=$file 
done 

Уколико желите да направите osm фајл са латиничним називима као подразумеваним:


#preslovljavanje
java -cp serbiantransliterator.jar OSMParser -ulaz=serbia.osm -name=latinica -azuriratiName -izlaz=zaOsmand/osmand.osm

#odstranjuje gde pravi problem
cat zaOsmand/osmand.osm | grep -v qуо > zaOsmand/osmand2.osm

Ово је корисно ако желите да сами генеришете мапе, а мало је незгодно ако немате ћириличну тастатуру на уређају (телефону). Конкретно ово корисним за генерисања мапа за osmand. Остало је да се уради и транслитерација и адреса у делу где је нумерација зграда, али отом потом…

Да ли постоји могућност прављења/припремања датотека за пресловљавање за државе у окружењу?
У том случају не би мењали ознаку name већ само додавали name:sr и name:sr-Latn.

Да ли транслитератор може да се допуни алгоритмом за препознавање назива са римским бројевима тако да кад се припремају датотеке за пресловљавање игнорише називе типа “Краља Петра I” или да они буду посебно разврстани?

Нисам баш разумео питање па ћу одговори на обе варијанте.

Требало би да је могуће и сада припремити фајл за пресловљавање при чему би се игнорисао статус тага name. То би требало да се добије са избацивањем -azuriratiName из команде, односно са:

java -cp serbiantransliterator.jar OSMParser -ulaz=serbia.osm -lektura -azuriratiNameSr -azuriratiNameSrLatn

А ако је питање било да ли је могуће да на openstreetmap.iz.rs буду припремљени фајлови одговор би био да је могуће али да је питање да ли постоји реална потреба за тиме. Иначе, већ ми је најављено да од краја маја више нећу моћи да користим сервер тако да је питање да ли ће се уопште и генерисати и фајлови за пресловљавање за Србију (као и остали прегледи).

Наравно да је могуће, али, на жалост, ја нема времена за то. Целокупни код је јавнодоступан па свако ко има знања/воље/времена је добродошао.

@Peđa
can your script run over buildings with addresses (i.e. addr:street & addr:city)?
http://tools.geofabrik.de/osmi/?view=addresses&lon=22.11353&lat=44.07360&zoom=13&opacity=1.00&overlays=buildings,buildings_with_addresses,postal_code,no_addr_street,street_not_found,nodes_with_addresses_defined,nodes_with_addresses_interpolated,interpolation,interpolation_errors,connection_lines,nearest_points,nearest_roads
The street name in the building addresses are in latin and the road names in cyrillic. Now the the routing engines don’t find the roads that belong to an address.

I am planning to make a transliteration tool for creating appropriate maps for routing software. I have everything prepared and it could be done very quickly, but, unfortunately, I do not have time for it.
That tool with osmosis could be used to solve mentioned tags, but it will work only in command line :wink:

Најновија верзија транслитератора се може преузети на https://dl.dropboxusercontent.com/u/77542347/serbiantransliterator.jar .

Нова је могућност пресловљавања фајла снимљеног из JOSM или екстракта из pbf-a.

Синтакса би требало да је интуитивна стим што на крају се наводе тагови који требају бити пресловљени у одговарајуће писмо. На пример, ако желимо у неком фајлу пресловимо све такове name и addr:street (прилагођавање за навигацију) команда би била:

java -cp serbiantransliterator.jar ProstoPreslovljavanjeFajla -ulaz=proba.osm -latinica addr:street name

или, за масовно пресловљавање само адреса у ћирилицу:

java -cp serbiantransliterator.jar ProstoPreslovljavanjeFajla -ulaz=proba.osm -cirilica addr:street 

Овим командама ће се генерисати фајлови у којима су пресловљени наведени тагови.

У случају да је фајл proba.osm снимљен из JOSM, потребно је да додати и “-josm” (xml користи апостроф уместо наводника у својој структури).

На пример, да би се масовно пресловиле адресе са неког подручја потребно је са JOSM-ом преузети све податке за цељану област и снимити у фајл proba.osm .
Следећи корак је стартовање пресловљавања:

java -cp serbiantransliterator.jar ProstoPreslovljavanjeFajla -ulaz=proba.osm -cirilica -josm addr:street 

Следећи корак је генерисање разлике између оригиналног и пресловљеног фајла. То може урадити са командом:

osmosis-latest\bin\osmosis --read-xml file="_proba.osm" --read-xml file="proba.osm" --derive-change --write-xml-change file="diff-1-2.osc"

Додатно у едитору проверити фајл diff-1-2.osc и, уколико има потребе, кориговати. Овде се операција find/replase показује врло корисном.
Слање на сервер је тривијално уз помоћ JOSM, односно учитати фајл diff-1-2.osc и урадити Upload changes. И то је то :slight_smile:

Похвала… и пар питања.

Да ли би ово требало да ради независно од оперативног система, тј. и на Виндовсима и на Линуксу?
Шта значи ProstoPreslovljavanjeFajla?

Што се тиче адреса, мислим да би требало да се подудара са name:sr.
То је једина ознака која је “обавезна” и увек може програмски да се преслови за потребе навигација које не подржавају ћирилицу.
Као што су почели да користе и рендерују називе на ћирилици и латиници за потребе странаца, када се среде адресе, почеће и масовније коришћење у ауто-навигацијама :smiley:

Програм је рађен у Јави, тако да ради и на линуксу и виндовсу.

Него, да ли ико ико користи ове алате? Мени завршавају посао, па ме интересује да ли их ико користи?
Већ неко време се више не припремају фајлови за пресловљавање, па плагин за ЈОСМ има тачкасту употребу…

Ево, проћоше скоро две године од последњих постова и видим да је од тада доста тога ураћено на OSM - pbf фајл је сада дупло већи.

Покушао сам да пронађем онај додатак за пресловљавање на интернету, али нисам успео. Па, за све који га желе могу га преузети са линка https://github.com/mpele/JOSM_transliterator/releases/download/v1.0/serbiantransliterator.jar , односно цео код са https://github.com/mpele/JOSM_transliterator .
Припремљени фајлови за пресловљавање су за сада постављени на http://54.149.254.108/osm/ .

Pozz,
Uspeo sam da instaliram plugin ali kad izabrem celu mapu [(ctrl+a)(mapa je skinuta kao .osm sa openstreetmap)] izaberem edit>edit nazivi>latinica(posto je mapa u cirilici) izbaci mi error(bug). Moze neka pomoc? Hvala. :slight_smile: