Concediu, dulce concediu

Mâine plecăm spre litoral. Nu, nu pe litoralul românesc ci spre cel bulgăresc. Vreau să dau încă o palmă managerilor de hoteluri de pe litoralul românesc. Acum 3 ani am luat decizia să nu mai calc prin niciun hotel dintre Mamaia și Mangalia. Și nu am călcat, chiar dacă numai anul astă am făcut 3 drumuri spre mare. Numai că este mai ieftin să plec sâmbătă dimineața cu mașina, să mă întorc sâmbătă seara, și să plec duminică din nou decât să plătesc o noapte de cazare la noi. Trist!

Oricum m-am întins cam mult, cert e de mâine am program de plajă, somn și mâncare. Nu s-ar zice că vreau să scap de vreo 5 kilograme. Ne citim lunea viitoare!

Tutorial IV – Restricții de circulație

Un element pe care nu l-am prezentat până acum, dar care este din ce în ce mai prezent în cadrul proiectului OSM este relația. Folossind o relație poți defini o serie de elemente interesante ca de exemplu:
– grupări de elemente (de exemplu avem o stradă care la un moment dat are un pod, deci a fost nevoie să formăm cel puțin 3 elemente cu același nume).
– definirea de clădiri ce au o curte interioară (relații de tip multipoligon)
– restricții de circulație (de exemplu semnul obligatoriu la dreapta înainte de o intersecție). Despre acestea vom vorbi în continuare.

În general relaţiile au mai mulţi membri (care pot fi noduri sau drumuri  în funcţie de nevoi), fiecare nod având un rol bine determinat. În cazul  restricţiilor de circulaţie avem următorii membri:

1. “from” - este strada de pe care se vine atunci când intri în  intersecţie, sau altfel spus strada pe care te afli când vezi semnul de  circulaţie
2. “to” - este strada pe care doreşti să intri şi care are respectiva  restricţie
3. “via” - pot exista exista mai mulţi membri cu acest rol, minim unul.  Pot fi noduri sau drumuri (ways). În cele mai multe cazuri va fi nodul  care este centrul intersecţiei şi care face legătura între cele 2 străzi.
4. “location_hint” - este opţional şi va fi un nod. Este folosit pentru  a oferi unui motor de rendering o locaţie unde poate fi afişat semnul de  circulaţie corespunzător. Se poate crea un nod nod, alăturat străzii care apare cu rolul “from” cu câţiva metri înainte de intersecţie.

Pe lângă membri relaţia mai are şi anumite atribute:

1. “type” - în cazul nostru tipul va fi “restriction”
2. “restriction” – tipul de restricţie, va fi ales din următoarele:  no_right_turn / no_left_turn / no_u_turn / no_straight_on /  only_right_turn / only_left_turn / only_straight_on. Sper că sunt  suficient de clare şi nu necesită traducere.
3. “except” – categoria de vehicule pentru care nu se aplică restricţia  (poate conţine mai multe categorii): psv / bicycle / hgv / motorcar
4. “day_on”, “day_off” – zilele între care este impusă restricţia:  day_on=Monday;day_off=Friday
5. “hour_on”, “hour_off” - orele între care este impusă restricţia:  hour_on=07:30;hour_off=09:30 şi posibil alte atribute în funcţie de necesităţi.

Un lucru interesant e faptul că o restricţie de tipul “obligatoriu înainte sau la dreapta” este dificil de reprezentat în momentul de faţă, ea trebuind să fie probabil înlocuită cu o restricţie de tipul “interzis
la stânga”, altfel utilizarea a 2 relaţii ( una de tipul  “only_right_turn” şi una de tipul “only_straight_on”) poate crea  confuzie prin utilizarea termenului “only”. Pentru mine cazul acesta rămâne deschis, e posibil să fie destul de rar întâlnit.

Şi am să încerc să dau şi un exemplu:

Exemplul 1

Exemplul 1

În figura de mai sus să presupunem că suntem pe way1 în partea de jos şi  avem interzis la dreapta pe way2. Membrii relaţii vor fi:
1. “from” = way1
2. “to” = way2
3. “via” = node1
4. “location_hint” = node2

Un exemplu în care avem un drum folosit ca membru cu rolul “via” este cazul străzilor în care sensurile sunt despărţite printr-un scuar. În acest caz dacă avem un drum de legătură între cele 2 sensuri pe care este de exemplu interzisă întoarcerea, această legătură va avea rolul de  “via”, iar membrii vor fi:
1. “from” - un sens al străzii
2. “to” - celalat sens
3. “via” - drumul de legătură
4. “location_hint” - un nod aflat probabil între cele 2 sensuri

OpenStreetMap România – recensământ de vară

Spuneam aici că îmi doresc ca la sfârșitul verii să avem aproximativ 100 de contributori la OSM în România și extrasul zilnic al bazei de date la nivelul țării noastre să depășească 10MBytes.

Se pare că nu am fost prea optimist pentru că pe data de 20 august 2008 am putut să număr 133 de utilizatori OSM a căror locație este în România (e posibil să fie mai mulți deci), iar extrasul din ziua de 26 august 2008 a depășit pentru prima dată 10MBytes.

De la primul post legat de OSM România lucrurile au mers chiar bine. Am reușit să importăm o suită de trasee oferite de o companie de fleet management, ceea ce a dus la o creștere considerabilă a acoperirii la nivelul drumurilor naționale. Un tabel cu informații complete este disponibil pe pagina proiectului OSM România.

Deasemenea am pus și bazele unei liste de discuții RO-OSM în cadrul căreia putem dezbate orice problemă întâlnită la nivelul OSM. Avem în vedere o serie de colaborări cu profesioniști în domeniul cartografiei cum sunt cei de la www.geo-spatial.org precum și alți entuziaști care pot contribui la OSM cum sunt cei din cadrul Alpinet.

Dacă e să ne uităm în urmă am evoluat mult, și sperăm să nu ne oprim aici. Să umplem golul lăsat de provideri de hărți precum Google și Yahoo la nivelul României.

Călătorie prin Moldova – ziua II

A doua zi aveam în plan să facem o plimbare pe Ceahlău, dar previziunile meteo nu erau tocmai încurajatoare. Optimismul din mine însă nu mă lăsa să cred că ploaia ne va încurca planurile, ba chiar era să le răstoarne de tot.

Dimineața, după ce am luat micul dejun am putut să vedem că ploaia încă nu își făcuse apariția, dar norii erau prezenți în cantități suficiente.
Continue reading

Pe jos la McDrive

Cine a spus că trebuie să ai mașină ca să comanzi de la McDrive?

Pe jos la McDrive

Pe jos la McDrive

(Scuzați calitatea, poza e făcută cu telefonul și înainte de cafea)

Călătorie prin Moldova – ziua I

După cum spuneam, în prima zi (26 iulie) ne propusesem să ajungem pe seară la destinație și să ne oprim pe drum pentru că sunt multe locuri frumoase de vizitat în țara asta. Așa că mi-am propus o plecare la ora 8 ca să nu avem motiv de fugă, ci să putem admira pe îndelete tot ceea ce ne propusesem. Dar cum socoteala din târg nu se potrivește niciodată cu cea de acasă, am reușit să plecăm abia în jurul orei 10, când soarele deja era de mult pe cer. Din fericire “Doamna în roșu” avea deja plinul făcut de cu seară așa că nu a rămas decât să punem bagajele în mașină și să plecăm.

Plecam cu ceva emoții pentru că acel cod roșu din nordul Moldovei tocmai ce fusese prelungit până în acea zi la ora prânzului (și din păcate urma să fie prelungit pentru încă câteva zile după cum știți de altfel) dar sunasem în seara de dinainte la vila la care urma să stăm și mi-au spus că drumurile sunt bune, ceea ce s-a și adeverit. În Galați era o căldură moleșitoare, ceea ce ne ducea și mai abitir cu gândul la aerul curat și răcoros de munte, pânp atunci speram ca aerul condiționat din mașină să îți facă treaba.
Continue reading

Tutorial III – Hărți corecte cu JOSM și Validator

Acest post are la bază o discuție de pe lista OSM în română: http://groups.google.com/group/ro-osm

După drumul prin Moldova am avut de adăugat destule informații în diferite zone. Astfel am descoperit destule probleme existente la nivelul informației din OSM care pot fi evitate cu putină grijă. Dar pentru asta trebuie să folosim JOSM și plugin-ul Validator.

Validator este foarte folositor în multe cazuri, însă raportează ca warning-uri și multe lucruri false, deci trebuie să intervenim și noi în acest proces. Am să vă povestesc pe scurt despre erorile/avertismentele date de acest plugin și modalitățile de corectare pentru fiecare caz.

Erori:

1. Duplicated nodes – Apare când există mai multe noduri în aceeași locație. Poate fi corectat automat, prin comasarea proprietăților diferitelor noduri în unul singur.

2. Duplicated way nodes – Un nod apare de mai multe ori consecutiv într-un “way”, deci nu este vorba de drumuri care se intersectează singure. Poate fi corectat automat prin păstrarea doar a primei apariții a nodului.

Avertismente (Warning)

1. Self-intersecting ways – Am întâlnit acest warning în cel puțin 2 cazuri: o alee dintr-un parc, care revine prin unele puncte (poate fi evitat prin împărțirea aleei în mai multe zone) și in cazul unei albii de râu (Siret). Și în acest ultim caz se poate evita prin împărțirea albiei în 2 zone distincte care să aibă una sau mai multe laturi comune (citiți mai jos despre ce avertisment va da Validator în acest caz).

2. Nodes with same name – Am întâlnit acest warning la benzinării ale aceluiași operator sau în cazul sucursalelor aceleiași bănci. În aceste cazuri am ignorat avertismentul.

3. Unnamed ways – E simplu de înțeles ce se întâmplă, dar câteodată e greu de aflat numele unei străzi, mai ales dacă ne folosim de Yahoo Imagery, fără a merge exact pe acolo.

4. Crossing ways – E unul din avertismentele care poate fi evitat ușor, dar care poate crea probleme aplicațiilor de routing. De obicei lipsește un pod sau conexiunea dintre 2 străzi nu este realizată corect.

5. Clockwise coastline – Regula de bază în crearea unei zone marcate ca ‘water’ este ca direcția să fie în sensul acelor de ceasornic, altfel pot apare probleme la etapa de randare. Atenție că avertismentul poate
apare și la insule, conturul acestora trebuind să fie invers acelor de ceasornic.
În JOSM nu trebuie decât să schimbați direcția, apăsând tasta ‘R’ după ce în prealabil ați selectat zona respectivă.

6. Similar named ways – De obicei avem 2 segmente de drum denumite diferit, dar diferențele sunt foarte mici (în general diferă utilizarea diacriticelor). Rămâne la latitudinea utilizatorului să păstreze doar unul dintre nume dacă este cazul.

7. Untagged ways – drumuri care nu au nici o proprietate. Eu am lăsat intenționat astfel de drumuri când am intrat doar 5 metri pe un drum, ca după aceea să întorc, deci nu știu nimic despre acel drum, clasificare sau nume. Nu recomand ștergerea acestor segmente, poate doar etichetarea lor cu k=”fixme”, v=”motivul pentru care considerați că sunt necesare modificări”. Exemple: http://wiki.openstreetmap.org/index.php/Key:fixme. Sau puteți utiliza k=”note” v=”FIXME motiv”

Altele (Other)

1. Overlapping ways – este un warning care de obicei este fals. L-am întâlnit în următoarele condiții: a) parcare aflată chiar lângă drum, fără a fi demarcată, și care reutilizează punctele care formează strada; b) zone alăturate din albia unui râu, care au cel puțin o latură comună – vezi avertismentul ‘Self-intersecting ways’. În ambele cazuri eu l-am ignorat dar e posibil ca uneori să fie valid.

2. Overlapping highways – vezi 1

3. Overlapping railways – vezi 1

4. Untagged and unconnected nodes – noduri care pot fi eliminate dacă cunoașteți zona și nu există nimic acolo. Altfel pot fi păstrate, poate cineva știe ce există de fapt acolo. Eventual poate fi contactat userul care a creat nodul și întrebat care e rostul lui acolo (poate a uitat să adauge proprietățile)

Daca ați mai găsit alte erori/warning-uri puteți să le descrieți în comentarii. La fel si cu întrebările, sunt binevenite.

Follow

Get every new post delivered to your Inbox.