<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">It is more point "3" which is similar
      to 2. So yes, the restrictions are stored elsewhere but the
      algorithm is edgeId-based instead nodeId-based.<br>
      <br>
      If you choose point 1 you are very likely to reduce performance
      more than necessary as the new nodes and edges will make the graph
      (I guess) at least twice the size if not bigger. Because *every*
      edge then needs to be directed even if both directions have
      identical properties (very often the case in OSM).<br>
      <br>
      Regards,<br>
      Peter.<br>
      <br>
    </div>
    <blockquote
cite="mid:5079c4f77dcb41dea04b52d2751a88d6@AMXPR05MB056.eurprd05.prod.outlook.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <meta name="Generator" content="Microsoft Word 14 (filtered
        medium)">
      <!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]-->
      <style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Texte de bulles Car";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        mso-fareast-language:EN-US;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.TextedebullesCar
        {mso-style-name:"Texte de bulles Car";
        mso-style-priority:99;
        mso-style-link:"Texte de bulles";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:731733090;
        mso-list-type:hybrid;
        mso-list-template-ids:-1659600862 135004175 135004185 135004187 135004175 135004185 135004187 135004175 135004185 135004187;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal">Hello,<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><span lang="EN-US">We had a discussion with
            a partner this morning about maneuvers’ integration in
            GraphHopper.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">I know that there is a
            pull request from khuebner about it on github but I’d like
            to know which approach was chosen to implements these
            restrictions.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Basically, I see two
            options :<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"><!--[if !supportLists]--><span
            lang="EN-US"><span style="mso-list:Ignore">1.<span
                style="font:7.0pt "Times New Roman"">      
              </span></span></span><!--[endif]--><span lang="EN-US">Substitute
            a restricted node by 3 or 4 node, and create edges between
            theses nodes (with à cost/infinite) to represent the turn
            cost or restriction.<o:p></o:p></span></p>
        <p class="MsoListParagraph"
          style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"><!--[if !supportLists]--><span
            lang="EN-US"><span style="mso-list:Ignore">2.<span
                style="font:7.0pt "Times New Roman"">      
              </span></span></span><!--[endif]--><span lang="EN-US">Add
            a direction to each node while routing and check if the move
            is allowed according to some restriction data stored
            somewhere.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">The first solution
            creates more nodes and edges in the graph but does not
            require any changes in routing algorithm.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">The second solution
            requires to create separate storage for the restrictions and
            forces every algorithm to be updated to take it into
            account.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">We are preferring the
            first solution as our own algorithm would not need to be
            modified and thus thinking about further update makes me
            expect potentially hard rework.<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">So my question is, which
            solution was chosen in the pr/55 ?<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US">Kind regards,<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
            style="font-size:10.0pt;color:#1F497D;mso-fareast-language:FR-BE">Nicolas
            GILLET<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="color:#1F497D;mso-fareast-language:FR-BE"><o:p> </o:p></span></p>
        <p class="MsoNormal"><b><span
              style="color:#1F497D;mso-fareast-language:FR-BE"><o:p> </o:p></span></b></p>
        <p class="MsoNormal"><b><span
              style="color:#1F497D;mso-fareast-language:FR-BE">Market-IP
              –</span></b><i><span
              style="color:#1F497D;mso-fareast-language:FR-BE">
            </span></i><i><span
              style="color:#404040;mso-fareast-language:FR-BE">Creating
              Mobile Intelligence</span></i><span
            style="color:#1F497D;mso-fareast-language:FR-BE"><o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="color:#1F497D;mso-fareast-language:FR-BE">Phone : +32
            81 33 11 11
            <o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="color:#1F497D;mso-fareast-language:FR-BE">Fax : +32
            81 33 11 10<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="color:#1F497D;mso-fareast-language:FR-BE"><a
              moz-do-not-send="true" href="http://www.market-ip.com/"><span
                style="color:blue">www.market-ip.com</span></a> –
            <a moz-do-not-send="true" href="http://www.telefleet.com/"><span
                style="color:blue">www.telefleet.com</span></a> –
            <a moz-do-not-send="true" href="http://www.geoplanning.net/"><span
                style="color:blue">www.geoplanning.net</span></a> –
            <a moz-do-not-send="true" href="http://www.drivexpert.net/"><span
                style="color:blue">www.drivexpert.net</span></a>
            <o:p></o:p></span></p>
        <p class="MsoNormal"><a moz-do-not-send="true"
href="http://www.linkedin.com/groups/MarketIP-4289716?gid=4289716&trk=hb_side_g"><span
style="color:#1F497D;mso-fareast-language:FR-BE;text-decoration:none"><img
                id="Image_x0020_1"
                src="cid:part5.03070800.08010202@yahoo.de"
                alt="Description : cid:image003.png@01CD5521.849F3340"
                border="0" height="25" width="30"></span></a><span
            style="mso-fareast-language:FR-BE"><o:p></o:p></span></p>
        <p class="MsoNormal"><o:p> </o:p></p>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
GraphHopper mailing list
<a class="moz-txt-link-abbreviated" href="mailto:GraphHopper@openstreetmap.org">GraphHopper@openstreetmap.org</a>
<a class="moz-txt-link-freetext" href="https://lists.openstreetmap.org/listinfo/graphhopper">https://lists.openstreetmap.org/listinfo/graphhopper</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>