{"id":550,"date":"2014-09-08T13:56:42","date_gmt":"2014-09-08T16:56:42","guid":{"rendered":"http:\/\/www.galirows.com.br\/meublog\/?p=550"},"modified":"2015-05-29T12:52:51","modified_gmt":"2015-05-29T15:52:51","slug":"conexoes-sumo","status":"publish","type":"post","link":"http:\/\/www.galirows.com.br\/meublog\/blog\/conexoes-sumo\/","title":{"rendered":"Especifica\u00e7\u00f5es de conex\u00f5es no SUMO"},"content":{"rendered":"<p>O SUMO possui um algoritmo pr\u00f3prio para determinar quais as conex\u00f5es entre as diversas vias em uma jun\u00e7\u00e3o\/cruzamento. Em princ\u00edpio, ser\u00e3o permitidas todas as convers\u00f5es poss\u00edveis. A Figura abaixo ilustra um cruzamento onde \u00e9 poss\u00edvel observar que todas as convers\u00f5es que n\u00e3o colocam o ve\u00edculo na contram\u00e3o est\u00e3o dispon\u00edveis.<\/p>\n<p><a href=\"http:\/\/www.galirows.com.br\/meublog\/wp-content\/uploads\/2014\/09\/cruzamento.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-552 aligncenter\" src=\"http:\/\/www.galirows.com.br\/meublog\/wp-content\/uploads\/2014\/09\/cruzamento.png\" alt=\"cruzamento\" width=\"597\" height=\"419\" srcset=\"http:\/\/www.galirows.com.br\/meublog\/wp-content\/uploads\/2014\/09\/cruzamento.png 597w, http:\/\/www.galirows.com.br\/meublog\/wp-content\/uploads\/2014\/09\/cruzamento-150x105.png 150w, http:\/\/www.galirows.com.br\/meublog\/wp-content\/uploads\/2014\/09\/cruzamento-300x210.png 300w\" sizes=\"auto, (max-width: 597px) 100vw, 597px\" \/><\/a><\/p>\n<p>Embora pr\u00e1tico ter as conex\u00f5es geradas automaticamente, existem situa\u00e7\u00f5es onde n\u00e3o se deseja permitir certas convers\u00f5es, mesmo que em teoria ela fosse permitida. Nessas situa\u00e7\u00f5es \u00e9 preciso editar um arquivo de conex\u00f5es, sobrepondo as conex\u00f5es automaticamente determinadas pelo SUMO, para uma configura\u00e7\u00e3o necess\u00e1ria. Para tanto, um novo arquivo precisa ser gerado e salvo com a extens\u00e3o &#8220;.con.xml&#8221;. A especifica\u00e7\u00e3o a seguir estabele\u00e7a uma nova conex\u00e3o em um arquivo chamado meu.con.xml.<\/p>\n<pre class=\"lang:default decode:true\">&lt;connections&gt;\r\n  &lt;connection from=\"1to4\" to=\"4to5\" \/&gt;\r\n&lt;\/connections&gt;<\/pre>\n<p>Tendo especificado o arquivo de conex\u00f5es, \u00e9 preciso utilizar novamente o Netconvert para gerar novamente a rede, alterando as conex\u00f5es com as novas defini\u00e7\u00f5es (no caso das especifica\u00e7\u00e3o mostrada, apenas uma nova defini\u00e7\u00e3o est\u00e1 presente). O arquivo de configura\u00e7\u00e3o do Netconvert \u00e9 mostrado abaixo, onde pode ser visto a inclus\u00e3o da tag &lt;connection&gt; que especifica o arquivo rec\u00e9m criado. Tamb\u00e9m est\u00e1 dispon\u00edvel ao final a tag &lt;no-turnarounds&gt;\u00a0(<strong><span style=\"color: #ff0000;\">linkar a explica\u00e7\u00e3o disso<\/span><\/strong>)\u00a0que evita os retornos de qualquer via.<\/p>\n<pre class=\"lang:default decode:true\">&lt;configuration&gt;\r\n   &lt;input&gt;\r\n       &lt;node-files value=\"meu.nod.xml\"\/&gt;\r\n       &lt;edge-files value=\"meu.edg.xml\"\/&gt;\r\n       &lt;type-files value=\"meu.typ.xml\"\/&gt;\r\n       &lt;connection-files value=\"meu.con.xml\"\/&gt;\r\n   &lt;\/input&gt;\r\n   &lt;output&gt;\r\n       &lt;output-file value=\"meu.net.xml\"\/&gt;\r\n   &lt;\/output&gt; \r\n   &lt;processing&gt;\r\n       &lt;no-turnarounds value=\"true\"\/&gt;\r\n   &lt;\/processing&gt;\r\n&lt;\/configuration&gt;\r\n<\/pre>\n<p>Caso esteja utilizando o prompt de comando para gerar a rede o comando ficar\u00e1 como a seguir (lembrando que dependendo da sua vers\u00e3o, o comando deve ser feito com netconvert64.exe ou netconvert.exe).<\/p>\n<pre class=\"lang:default decode:true\">netconvert64.exe --node-files=meu.nod.xml --edge-files=meu.edg.xml --type-files=meu.typ.xml \r\n--connection-files=meu.con.xml --no-turnarounds --outputfile=meu.net.xml<\/pre>\n<p>Como resultado obt\u00eam-se o cruzamento abaixo, onde o cruzamento mais a esquerda passa a permitir apenas a convers\u00e3o a direita e n\u00e3o mais permitir tamb\u00e9m que o ve\u00edculo siga em frente.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-553 aligncenter\" src=\"http:\/\/www.galirows.com.br\/meublog\/wp-content\/uploads\/2014\/09\/cruzamento2.png\" alt=\"cruzamento2\" width=\"597\" height=\"419\" srcset=\"http:\/\/www.galirows.com.br\/meublog\/wp-content\/uploads\/2014\/09\/cruzamento2.png 597w, http:\/\/www.galirows.com.br\/meublog\/wp-content\/uploads\/2014\/09\/cruzamento2-150x105.png 150w, http:\/\/www.galirows.com.br\/meublog\/wp-content\/uploads\/2014\/09\/cruzamento2-300x210.png 300w\" sizes=\"auto, (max-width: 597px) 100vw, 597px\" \/><\/p>\n<p>A especifica\u00e7\u00e3o das conex\u00f5es \u00e9 ampliada com a inclus\u00e3o de outras determina\u00e7\u00f5es de conex\u00f5es e a Figura a seguir mostra como fica a rede com essas novas determina\u00e7\u00f5es de conex\u00f5es. Observe que para alterar as conex\u00f5es da parte superior do cruzamento \u00e9 preciso especificar 2 conex\u00f5es, uma para cada sentido (linhas 2 e 3). Observe tamb\u00e9m que a especifica\u00e7\u00e3o da parte a esquerda do cruzamento possui duas conex\u00f5es especificadas (linhas 4 e 5), mas a \u00faltima\u00a0conex\u00e3o especifica\u00e7\u00e3o um retorno e, como foi configurado para o Netconvert que os retornos devem ser retiradas, essa especifica\u00e7\u00e3o \u00e9 ignorada.<\/p>\n<pre class=\"lang:default decode:true\">&lt;connections&gt;\r\n  &lt;connection from=\"3to4\" to=\"4to5\" \/&gt;\r\n  &lt;connection from=\"3to4\" to=\"4to1\" \/&gt;\r\n  &lt;connection from=\"1to4\" to=\"4to5\" \/&gt;\r\n  &lt;connection from=\"1to4\" to=\"4to1\" \/&gt;\r\n&lt;\/connections&gt;<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-554 aligncenter\" src=\"http:\/\/www.galirows.com.br\/meublog\/wp-content\/uploads\/2014\/09\/cruzamento3.png\" alt=\"cruzamento3\" width=\"597\" height=\"419\" srcset=\"http:\/\/www.galirows.com.br\/meublog\/wp-content\/uploads\/2014\/09\/cruzamento3.png 597w, http:\/\/www.galirows.com.br\/meublog\/wp-content\/uploads\/2014\/09\/cruzamento3-150x105.png 150w, http:\/\/www.galirows.com.br\/meublog\/wp-content\/uploads\/2014\/09\/cruzamento3-300x210.png 300w\" sizes=\"auto, (max-width: 597px) 100vw, 597px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O SUMO possui um algoritmo pr\u00f3prio para determinar quais as conex\u00f5es entre as diversas vias em uma jun\u00e7\u00e3o\/cruzamento. Em princ\u00edpio, ser\u00e3o permitidas todas as convers\u00f5es poss\u00edveis. A Figura abaixo ilustra um cruzamento onde \u00e9 poss\u00edvel observar que todas as convers\u00f5es que n\u00e3o colocam o ve\u00edculo na contram\u00e3o est\u00e3o dispon\u00edveis. Embora pr\u00e1tico ter as conex\u00f5es geradas [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[13],"tags":[18],"class_list":["post-550","post","type-post","status-publish","format-standard","hentry","category-simulacao","tag-sumo"],"aioseo_notices":[],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/www.galirows.com.br\/meublog\/wp-json\/wp\/v2\/posts\/550","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.galirows.com.br\/meublog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.galirows.com.br\/meublog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/wp-json\/wp\/v2\/comments?post=550"}],"version-history":[{"count":5,"href":"http:\/\/www.galirows.com.br\/meublog\/wp-json\/wp\/v2\/posts\/550\/revisions"}],"predecessor-version":[{"id":666,"href":"http:\/\/www.galirows.com.br\/meublog\/wp-json\/wp\/v2\/posts\/550\/revisions\/666"}],"wp:attachment":[{"href":"http:\/\/www.galirows.com.br\/meublog\/wp-json\/wp\/v2\/media?parent=550"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/wp-json\/wp\/v2\/categories?post=550"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/wp-json\/wp\/v2\/tags?post=550"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}