Preslovljavanje (Transliteration)

Само прати ову тему. Она је и због тога отворена.

Класичан diff је проблематичан јер би се упоређивали велики фајлови и било би много шума због осталих тагова.

Ако је лакше може се направити html преглед где би све било сложено по жељи са евентуалним линковима. Друга варијанта је да се креира csv, односно xls табела. Питање је само како организовати праћење ових измена на дневном нивоу.

Pa i sada već upoređuješ iste te velike datoteke, ili ne?

Što se šuma tiče, mislim da nije problem: spustiš kontekst, i kao što rekoh obojena sintaksa lepo naznači samo ono interesantno.

Mada slažem se da nije idealno, verovatno je bolji neki objektno orijentisani alat koji je svestan XML strukture, a koji se onda može ikoristiti i za GUI tvog dodatka kao što Peđa predlaže. Čudi me da (J)OSM biblioteke i alati ne sadrže već nešto tako, ovaj .osc izlaz ne služi ničemu (sem slanju na server naravno) jer ne sadrži prethodno stanje, slično i sa .osm izlazom.

E da, i što se engleskih naziva tiče, mislim da bi ih trebalo skroz izbaciti iz dodatka - em zauzimaju mesto u GUI-ju, em još uvek nismo našli način da ih koristimo valjano. Ko hoće, nek ih dodaje ručno po potrebi kao i do sada.

I ja sam primetio slične greškekoje prolaze, zato sam i predložio da plagin ne prikazuje samo ono što misli da treba da se menja nego sve što je selektovano a da označi ono što misli da treba da se menja. Tako ostavlja korsiniku mogućnost da vidi sve i da ispravi i greške koje plagin ne može da primeti.

Konkretno, grešku kao što je ova koju si ti našao plagin može delimično da detektuje jer kombinacija дж je u srpakomjeziku veoma retka pa bi moglo da prođe da se svako njeno pojavljivanje označi kao da ga treba proveriti. Doduše ostaje problem kako naznačiti kaa ej ta kombinacija isprvna da je plagin ignoriše (da se ne bi korsitio dodatni tag, može se plagin naučiti koje reči sadrže kombinaciju дж pa da njih ignoriše.

To sam i ja predvideo, ali svejedno bitno ej da postoji ta kolona st jer je ona očigledna. Boje treba da posluže samo da korsiniku olakšaju da brže prolđe tabelu i sređuje ono što očigledno treba srediti.

Mislim da to nije neophodno. Dovoljno je ako korisnik može klikom na dugme da vidi prethodno stanje i to je sasvim dovoljno. Dovoljno je da mu je ceo slog naznačen da je menjan tako da zna da treba da ga proveri. U samom radu, relativno retko će trebati da se pogleda prethodno stanje ali u nekim slučajevima može da bude korisno.

Ovo nije loša ideja, ali bi bolje bilo da se vidi zašto JOSM ne prikazuje objekte kada ih učita.

Na to sam zaboravio. Trebalo bi da se obrati pažnja na taj tag a možda i da se uvede poseban status na osnovu tog taga, pošto je to opet poseban slučaj koji treba da se obradi.

Juče sam morao da na brzinu završim pisanje poruke u vezi predloga korisničkog interfejsa tako da nisam napisao sve.

Jedna od ideja je da plagin ima konfiguraciju a da se u konfiguraciji može izmešu ostalog podešavati koje sve tagove treba prikazivati u tabeli. to bi omogućilo da svako prilagoti prikaz onome što radi a dalo bi plaginu mnogo veću upotrebnu vrednost.

Generalno ima tu još mogućnosti generalizacije. Jedan od njih je da korsinik može da podesi način automatske obrade i način provere ispravnosti polja, što bi ostavilo slobodu da se podesi po potrebi. Tako bi i ovo sa praznim tagovima u stvari bilo stvar podešavanja. Ko hoće engleski tag podesi da se prikazuje. Ko hoce da namesti da se neki tag ne mora popunajvati (ili da se mora popunjavati, može to tako da podesi)… Još jedna dobit bi bila što tada plagin ne bi bio vezan smao za name tagove nego i za bilo koje druge koje korisnik izabere.

To u stvari vise ne bi bio plagin samo za preslovljavanje nego bi mogao da služi kao opšti tabelarni editor tagova, a to bi bio veoma moćan alat. Neko je pomenuo da je negde video da za mesto stoji tag population koji ima vrednost 0.

Zamislite sad da ovaj odeitor moye da sepodesi da prikazuej tag population, tako da neko moze prosto da selektuje sva mesta na svojoj mapi prikaze ovaj tag i onda kroz tabelu lako proveri i spavi vrednost ovog taga za mesta (koristeći neki statistički izvor koji daje takve informacije). To bi bilo vrlo efikasno.

Ili, zamislite da neko crta mapu na prostoru koji nije mapiran pa ucita trekove u GPS formatu. To ce na mapi da izgleda grozno, jer import iz GPS uglavnom i n emoze da bude dobar. Selektuje sve puteve, prikaze u tabeli i onda lepo i brzo izedituje bitne propertije koje unapred izabere… To bi bilo mnogo brze neko klikanje po objektima i podesavanje tagova za svaki zasebno, kako mora sada da se radi.

Znam da sam otuišao od teme Transliteracije, samo pokušavam da objasnim kako ovaj plagin može mnogo da se unapredi sa relativno malo posla tako da postane mnogo upotrebljiviji alat.

U stvari što se tiče izmena problem je samo ako se objekat prikazuje a neko ga je u međuvremenu već popravio tako da nije više predmet pregleda.

Kolko traje generisanje ovih datoteka na postojećoj bazi, odnosno koliko resursa troši. Koliko često bi mogao da se pokreće plagin da sve nanovo generiše?

Koliko bi funkcionisalo da se za svaku datoteku prikaže kada je generisana, pa da korisnik pre nego što je preuzme, ako je prilično stara može da pokrene njeno nanovo generisanje? To ne bi moralo da ceslja celu bazui nego samo da azurira objekte koji se vec nalaze u toj izabranoj datoteci.

Ako bi se moglo podešavati koje se kolone prikazuju to bi rešilo stvar )omogućilo bii da neko izabere da prikazuje nema:hu ili name:sq zavisno koju tertitoriju tretira pa da mu se prikazuje ono što je relevantno.

Tag name:en sam predvideo zato što tako možemo da omogućimo da se istovremeno sa našim jezikom, nazivi upisuju u engleskom (a i to uglavnom može da se uradi automatski pa bi kolona više služila za proveru).

Pitanje: koliko je izvodljivo u javi napraviti da korisnik moze da unese neki izraz koji ce java aplikacija da izvrsi kao java kod?

Морам да изнесем нека запажања. Тренутно постоји пар хиљада објеката које треба пресловити. Јесте велика цифра али мислим да када се договоримо како да се ради, да ћемо то за пар дана да завршимо. После тога не очекујем велики број измена на дневном/месечном нивоу.

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

wget serbia.osm.bz - то је 30так Mb
unzip serbia.osm.bz
cat serbia.osm | grep name > tagovi 

Прегледом фајла tagovi нађу се грешке. У обичном едитору се нађе id објеката који је проблематичан и онда га је лако исправити. Гледајући ову просту процедуру да ли има потребе да превише компликујемо ствари.

То и није нека мистерија. Пут (way) се састоји из тачака, а тачке нису у фајлу који се учитава у ЈОСМ. У самој дефиницији објекта се налазе само референце на тачке.

osmosis може да филтрира фајл serbia.osm и да извуче само објекте са тагом population и да то сними као осм фајл, који се онда учитава у ЈОСМ и даље је прича јасна. Дакле још једна команда.

Већ постоји плагин за то: tageditor . Фактички гледано наш плагин је почео као његов форк. Додуше, сада баш и немају заједничких тачака.

Бот ради пар минута за целу Србију. При томе направи све оне фајлове које сте видели и целокупну базу са свим изменама (за генерисање osmand мапе). Нисам се бавио оптимизацијом рада а простора за то има више него много.

Ако бот стартујемо једном дневно (постоје дневне копије ОСМ базе за Србију) добићемо фајлове са “спорним” објектима. Моја идеја је да се направи php скрипта која би контролисала преузимање фајлова на начин да када неко затражи фајл она му да само један линк. За следеће преузимање нуди следећи линк (итеративно повећа број за један) и тако даље. После бота би се ресетовао бројач фајла са изменама и све из почетка. Скрипта би била проста а постигли би да се не дуплира рад над истим подацима. Не верујем да ће бити толика навалица за алтернативним обрадама које би заобишле овај систем и правиле озбиљније проблеме.

Стоји. Ја сам одрадио двеста измена прилично брзо и са оваким плагином какав је сад.

Мислим да неће изгубити сврху. Много је згодан за брзо сређивање података, чак и у редовном уносу.

Аха. Провалио сам. Ако урадим Update Selection тада JOSM повуче поптуно податке па се објекти могу видети.

То је непрактично. Ово би радило на лицу места, брзо и једноставно.

Пробао сам га али овај твој плагин ми је много згоднији.

Па добро , онда није проблем да се ради чешћи апдејт, па да се тако имају свежи подаци.

Постоји ли могућност да се објекти групишу по територијалном принципу? То би омогућило да свако може да прати одређену територију и сређује је. Ипак је најлакше то радити за простор који познајемо.

O ovome sam i ja baš razmišljao kad mpele juče spomenu velike datoteke. Koliko vidim, osmosis može da izvuče podatke unutar nekog proizvoljnog, zatvorenog poligona. Kako bi bilo da razbijemo i obrađujemo na npr. nivou okruga?

Postoje recimo dva načina:

  1. Koristeći postojeće pribilžne POLY poligone za svaki okrug sa [1] (rizik je što prelaze granicu pa možemo nenamerno obraditi objekte u susednim državama)

  2. Da ubacimo malo tačnije granice okruga kao relacije [2] (nemamo boljih slobodnih izvora za katastarski tačne granice), pa da onda napravimo nove POLY poligone koristeći getbound.pl [3]

[1] http://downloads.cloudmade.com/europe/southern_europe/serbia/
[2] http://lists.openstreetmap.org/pipermail/talk-rs/2011-July/000158.html
[3] http://wiki.openstreetmap.org/wiki/Polygon#Converting_to.2Ffrom_POLY_format

Када бисмо имали наш сервер, макар и онај најефтинији/најскромнији, могли бисмо да се играмо како год пожелимо. Да правимо извештаје, прегледе, да нудимо разне припремљене мапе и сл. Наравно, и да аутоматизујемо ову причу о којој сада причамо. Оно што ја имам има ограничење од 30 секунди извршавања тако да нам ништа не значи.

Наравно, само је питање шта желимо и како то желимо.

Ја сам од Дулића “позајмио” трачне димензије округа. То не бих смео да јавно користим, али нисам сигуран да ли би смело да се се користе за наше интерно дељење на округе.
Иначе, Томас ми је скренуо пажњу да тренутне границе Србије на основу којих је дефинисан осм фајл нису баш најтачније, тако да податке које нуди плагин за обраду су можда и из суседних држава.

Wikimedia Germany offers accounts for OSM “developers” (with “developer” not taken too serious). Since they run a minutely updated OSM database anyway, you would not need to care about this part.
https://wiki.toolserver.org/view/Main_Page

How you can get an account:
https://wiki.toolserver.org/view/Account_approval_process

You could also get in touch with Wikimedia Serbia…maybe they can help also. Wikipedia is a richer organisation than OSM
https://rs.wikimedia.org/

Ако нешто значи ја имам изнајмлјени интернет линк са фиксном ИП адресом па би могло и то да се искористи. Морао бих само да скрпим неку машину за сервер.

Sećam se diskusije sa liste, ali ne bih se ja igrao uopšte sa tim podacima za koje ne postoji dozvola za korišćenje. Ubaciću približne sa slike, uvek se mogu iterativno poboljšavati…

Znam i za to, ali bolje nemamo, a mislim da će bilo kakva šteta zbog toga biti minimalna.

Демонстрације ради направио сам нов списак несређених објеката са базом од јуче и на адреси http://mpele.co.cc/osm/list.php сам поставио систем за преузимање фајлова. Фајл се после преузимања брише тако да можемо да радимо а да се не поклапамо. Тренутно је број фајлова велики, али надам се да ће се убрзо смањити.

Glup sam veceras. Kako se namesta ovaj plugin?

@Drazha:
Pogledaj ‘Manual Installation’ pri dnu: http://josm.openstreetmap.de/wiki/Plugins

Usput, probao sam po prvi put Osmosis i uspeo da napravim poveću promenu pre nego što su skinuli server offline: promenio sam sve instance ‘sr[_@][Ll]ati+n’ u ‘sr-Latn’ (bilo je i par mesta sa ‘sr_rm’ u Vojvodini koje sam ispravio ručno).

http://www.openstreetmap.org/browse/changeset/11172277

Видео сам да има доста свакавих назива за латиницу али баш оволико нисам очекивао.Но, добро је да се полако уводи ред. Да ли си приметио да постоји доста места где нема тага name већ само name:sr или нешто слично?

За нестрпљиве/тестере - објавио сам нову верзију плагина. Кренуо сам у правцу коју је предложио Пеђа, али многе ствари још нису имплементиране.
Да не мозгате много тренутно важи следеће:

  • подразумевано писмо се подешава пре учитавања редова и оно је основа за аутоматско пресловљавање,
  • могуће је означити више редова и над њима извршавати команде,
  • рад са више селектованих редова даје непредвидљиве резултате ако је укључено сортирање по некој колони
  • прва два реда учитана по стартовању плагина су ту ради тестирања и “нит смрде нит миришу”

Личи да ће бити добар алат. Ево пар примедби:

У предлогу сам намерно поделио команде у три групе:

  1. команде које се односе на цео дијалог или све слогове (у горнјем делу дијалога)
  2. команде које се односе на појединачне слогове (или изабане слогове) у доњем лево делу дијалога
  3. команде за излаз: OK и Cancel (у доњем десном углу)

Када се учитају слогови, и ако ј еподешено да се не врше измене сви слогои добију статус а. То збуњује. Требало би увести статус о (оригинал) тако да буде јасно да се у слогу налазе подаци какви су оригинално на мапи. Чак и ако се на слогу изврши нека измена али на крају резултат буде опетисти као уоригиналу, слог треба да добиеј статус о.

Садржај тагова name:sr i name:sr-Latn не треба да буде условљен подешавањем подразумеваног писма. За ова два поља се унапред зна које писмо треба да буде употребљено.

Дугме Preslovi auto увек попуњава таг name latinicom ако су name:sr i name:sr-Latn попуњени.

Дугме оригинал не треба да врати оригиналан садржај у слог него само да прикае шта је био оригиналан садржај. Кориснику че често бити потребно само да види шта је било оригинално, а овако програм пребије све што је уписао. Ако постоји потреба да се врати цео оригинални садржај слога онда треба да посоји посебно дугме Vrati original.

Колоне ID, Status i Izmena треба да имају фиксну ширину.

Коментаре визуелног типа или оно што још није имплементирано нећу ни да коментаришем, па можеш ли да ми појсниш на шта си мислио у претходном цитату?

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

Нешто сам се ја изгледа забунио. Учинило ми се да ми је плагин урадио аутоматско пресловљавање када сам изабрао да подразумевано писмо буде ћирилица.

Поново сам пробао и аутоматско пресловљавање се не ради уопште док се не кликне на дугме Преслови ауто.

У ствари, дугме Учитај све тагове је непотребно. Плагин треба одмах да их учита када се отвори дијалог.

Треба обрнуто. Колона сатус је битна, а бојење није, већ само служи да олакша уочавање слогова које треба средити.

Ако избациш колону стаус а уведеш само боје онда негде мораш да даш легенду која објашњава шта која боја значи, па је то опет компликација.

Ја сам програмер а специјалност су ми кориснички интерфејси. Сви предлози које сам дао су засновани на искуству и знању које имам у тој области.

Ја нисам програмер, осећај за лепо ми је, у најмању руку, сумњив. Дакле, моје референце се не могу поредити са човеком који је пионир у IT-у ове земље. Једино се надам да споменуто неће бити главни аргументи у овој дискусији јер се плашим да ће се све завршити као и договор око тагова - сви се чуде што други не схватају како је њихов предлог необорив.

Погледај садашњу верзију плагина. Боја чекбокса се мења ако плагин мисли да треба измена, плава слова ако је онако како плагин мисли да је добро и црвена ако није оригинал нити по предлогу плагина. Оригинални називи се добијају ако ставиш курзор изнад поља. Чини ми се да је све јасно и прегледно и без статус колоне и без легенде.