{"id":83,"date":"2008-08-29T18:26:39","date_gmt":"2008-08-29T18:26:39","guid":{"rendered":"http:\/\/mapguy.wordpress.com\/?p=83"},"modified":"2008-08-29T18:26:39","modified_gmt":"2008-08-29T18:26:39","slug":"tutorial-iv-restric%c8%9bii-de-circula%c8%9bie","status":"publish","type":"post","link":"https:\/\/ciprian.talaba.eu\/blog\/tutorial-iv-restric%c8%9bii-de-circula%c8%9bie\/","title":{"rendered":"Tutorial IV &#8211; Restric\u021bii de circula\u021bie"},"content":{"rendered":"<p>Un element pe care nu l-am prezentat p\u00e2n\u0103 acum, dar care este din ce \u00een ce mai prezent \u00een cadrul proiectului OSM este rela\u021bia. Folossind o rela\u021bie po\u021bi defini o serie de elemente interesante ca de exemplu:<br \/>\n&#8211; grup\u0103ri de elemente (de exemplu avem o strad\u0103 care la un moment dat are un pod, deci a fost nevoie s\u0103 form\u0103m cel pu\u021bin 3 elemente cu acela\u0219i nume).<br \/>\n&#8211; definirea de cl\u0103diri ce au o curte interioar\u0103 (rela\u021bii de tip multipoligon)<br \/>\n&#8211; restric\u021bii de circula\u021bie (de exemplu semnul obligatoriu la dreapta \u00eenainte de o intersec\u021bie). Despre acestea vom vorbi \u00een continuare.<\/p>\n<p>\u00cen general rela\u0163iile au mai mul\u0163i membri (care pot fi noduri sau drumuri\u00a0 \u00een func\u0163ie de nevoi), fiecare nod av\u00e2nd un rol bine determinat. \u00cen cazul\u00a0 restric\u0163iilor de circula\u0163ie avem urm\u0103torii membri:<\/p>\n<p><strong>1. &#8222;from&#8221; <\/strong>&#8211; este strada de pe care se vine atunci c\u00e2nd intri \u00een\u00a0 intersec\u0163ie, sau altfel spus strada pe care te afli c\u00e2nd vezi semnul de\u00a0 circula\u0163ie<br \/>\n<strong>2. &#8222;to&#8221; <\/strong>&#8211; este strada pe care dore\u015fti s\u0103 intri \u015fi care are respectiva\u00a0 restric\u0163ie<br \/>\n<strong>3. &#8222;via&#8221; <\/strong>&#8211; pot exista exista mai mul\u0163i membri cu acest rol, minim unul.\u00a0 Pot fi noduri sau drumuri (ways). \u00cen cele mai multe cazuri va fi nodul\u00a0 care este centrul intersec\u0163iei \u015fi care face leg\u0103tura \u00eentre cele 2 str\u0103zi.<br \/>\n<strong>4. &#8222;location_hint&#8221; <\/strong>&#8211; este op\u0163ional \u015fi va fi un nod. Este folosit pentru\u00a0 a oferi unui motor de rendering o loca\u0163ie unde poate fi afi\u015fat semnul de\u00a0 circula\u0163ie corespunz\u0103tor. Se poate crea un nod nod, al\u0103turat str\u0103zii care apare cu rolul &#8222;from&#8221; cu c\u00e2\u0163iva metri \u00eenainte de intersec\u0163ie.<\/p>\n<p>Pe l\u00e2ng\u0103 membri rela\u0163ia mai are \u015fi anumite atribute:<\/p>\n<p><strong>1. &#8222;type&#8221; <\/strong>&#8211; \u00een cazul nostru tipul va fi &#8222;restriction&#8221;<br \/>\n<strong>2. &#8222;restriction&#8221;<\/strong> &#8211; tipul de restric\u0163ie, va fi ales din urm\u0103toarele:\u00a0 no_right_turn \/ no_left_turn \/ no_u_turn \/ no_straight_on \/\u00a0 only_right_turn \/ only_left_turn \/ only_straight_on. Sper c\u0103 sunt\u00a0 suficient de clare \u015fi nu necesit\u0103 traducere.<br \/>\n<strong>3. &#8222;except&#8221;<\/strong> &#8211; categoria de vehicule pentru care nu se aplic\u0103 restric\u0163ia\u00a0 (poate con\u0163ine mai multe categorii): psv \/ bicycle \/ hgv \/ motorcar<br \/>\n<strong>4. &#8222;day_on&#8221;, &#8222;day_off&#8221;<\/strong> &#8211; zilele \u00eentre care este impus\u0103 restric\u0163ia:\u00a0 day_on=Monday;day_off=Friday<br \/>\n<strong>5. &#8222;hour_on&#8221;, &#8222;hour_off&#8221;<\/strong><em> <\/em>&#8211; orele \u00eentre care este impus\u0103 restric\u0163ia:\u00a0 hour_on=07:30;hour_off=09:30 \u015fi posibil alte atribute \u00een func\u0163ie de necesit\u0103\u0163i.<\/p>\n<p>Un lucru interesant e faptul c\u0103 o restric\u0163ie de tipul &#8222;obligatoriu \u00eenainte sau la dreapta&#8221; este dificil de reprezentat \u00een momentul de fa\u0163\u0103, ea trebuind s\u0103 fie probabil \u00eenlocuit\u0103 cu o restric\u0163ie de tipul &#8222;interzis<br \/>\nla st\u00e2nga&#8221;, altfel utilizarea a 2 rela\u0163ii ( una de tipul\u00a0 &#8222;only_right_turn&#8221; \u015fi una de tipul &#8222;only_straight_on&#8221;) poate crea\u00a0 confuzie prin utilizarea termenului &#8222;only&#8221;. Pentru mine cazul acesta r\u0103m\u00e2ne deschis, e posibil s\u0103 fie destul de rar \u00eent\u00e2lnit.<\/p>\n<p>\u015ei am s\u0103 \u00eencerc s\u0103 dau \u015fi un exemplu:<\/p>\n<figure id=\"attachment_84\" aria-describedby=\"caption-attachment-84\" style=\"width: 268px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mapguy.files.wordpress.com\/2008\/08\/exemplu_relatii_pentru_restrictii.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-84\" src=\"http:\/\/mapguy.files.wordpress.com\/2008\/08\/exemplu_relatii_pentru_restrictii.jpg\" alt=\"Exemplul 1\" width=\"268\" height=\"202\" \/><\/a><figcaption id=\"caption-attachment-84\" class=\"wp-caption-text\">Exemplul 1<\/figcaption><\/figure>\n<p>\u00cen figura de mai sus s\u0103 presupunem c\u0103 suntem pe way1 \u00een partea de jos \u015fi\u00a0 avem interzis la dreapta pe way2. Membrii rela\u0163ii vor fi:<br \/>\n<strong>1. &#8222;from&#8221; <\/strong>= way1<br \/>\n<strong>2. &#8222;to&#8221; <\/strong>= way2<br \/>\n<strong>3. &#8222;via&#8221;<em> <\/em><\/strong>= node1<br \/>\n<strong>4. &#8222;location_hint&#8221; <\/strong>= node2<\/p>\n<p>Un exemplu \u00een care avem un drum folosit ca membru cu rolul &#8222;via&#8221; este cazul str\u0103zilor \u00een care sensurile sunt desp\u0103r\u0163ite printr-un scuar. \u00cen acest caz dac\u0103 avem un drum de leg\u0103tur\u0103 \u00eentre cele 2 sensuri pe care este de exemplu interzis\u0103 \u00eentoarcerea, aceast\u0103 leg\u0103tur\u0103 va avea rolul de\u00a0 &#8222;via&#8221;, iar membrii vor fi:<br \/>\n<strong>1. &#8222;from&#8221; <\/strong>&#8211; un sens al str\u0103zii<br \/>\n<strong>2. &#8222;to&#8221; <\/strong>&#8211; celalat sens<br \/>\n<strong>3. &#8222;via&#8221; <\/strong>&#8211; drumul de leg\u0103tur\u0103<br \/>\n<strong>4. &#8222;location_hint&#8221; <\/strong>&#8211; un nod aflat probabil \u00eentre cele 2 sensuri<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un element pe care nu l-am prezentat p\u00e2n\u0103 acum, dar care este din ce \u00een ce mai prezent \u00een cadrul proiectului OSM este rela\u021bia. Folossind o rela\u021bie po\u021bi defini o serie de elemente interesante ca de exemplu: &#8211; grup\u0103ri de elemente (de exemplu avem o strad\u0103 care la un moment dat are un pod, deci a fost nevoie s\u0103 form\u0103m cel pu\u021bin 3 elemente cu acela\u0219i nume). &#8211; definirea de cl\u0103diri ce au o curte interioar\u0103 (rela\u021bii de tip multipoligon) &#8211; restric\u021bii de circula\u021bie (de exemplu semnul obligatoriu la dreapta \u00eenainte de o intersec\u021bie). Despre acestea vom vorbi \u00een continuare.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[209],"tags":[289,338,339,355],"class_list":["post-83","post","type-post","status-publish","format-standard","hentry","category-openstreetmap","tag-harta","tag-osm","tag-osm-relations","tag-restricii-circulaie"],"_links":{"self":[{"href":"https:\/\/ciprian.talaba.eu\/blog\/wp-json\/wp\/v2\/posts\/83","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ciprian.talaba.eu\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ciprian.talaba.eu\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ciprian.talaba.eu\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ciprian.talaba.eu\/blog\/wp-json\/wp\/v2\/comments?post=83"}],"version-history":[{"count":0,"href":"https:\/\/ciprian.talaba.eu\/blog\/wp-json\/wp\/v2\/posts\/83\/revisions"}],"wp:attachment":[{"href":"https:\/\/ciprian.talaba.eu\/blog\/wp-json\/wp\/v2\/media?parent=83"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ciprian.talaba.eu\/blog\/wp-json\/wp\/v2\/categories?post=83"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ciprian.talaba.eu\/blog\/wp-json\/wp\/v2\/tags?post=83"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}