<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Great to have you, Regina!</p>
    <p>Regards,<br>
    </p>
    <p>Anita<br>
    </p>
    <div class="moz-cite-prefix">On 24.08.2021 06:18, Regina Obe wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:000701d7989f$22f0fe00$68d2fa00$@pcorp.us">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style>@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}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;}pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Consolas",serif;}span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}div.WordSection1
        {page:WordSection1;}</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"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Just
            an FYI I am now subscribed to the mobilitydb dev mailing
            list, so all this kind of correspondence should continue
            there.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">It
            will allow for others who are interested to get more
            involved.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Thanks,<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Regina<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
        <div style="border:none;border-left:solid blue 1.5pt;padding:0in
          0in 0in 4.0pt">
          <div>
            <div style="border:none;border-top:solid #E1E1E1
              1.0pt;padding:3.0pt 0in 0in 0in">
              <p class="MsoNormal"><b><span
                    style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif">
                  Esteban Zimanyi [<a class="moz-txt-link-freetext" href="mailto:estebanzimanyi@gmail.com">mailto:estebanzimanyi@gmail.com</a>] <br>
                  <b>Sent:</b> Monday, August 23, 2021 12:59 PM<br>
                  <b>To:</b> Vicky Vergara <a class="moz-txt-link-rfc2396E" href="mailto:vicky@georepublic.de"><vicky@georepublic.de></a><br>
                  <b>Cc:</b> <a class="moz-txt-link-abbreviated" href="mailto:mobilitydb-dev@lists.osgeo.org">mobilitydb-dev@lists.osgeo.org</a>; Regina Obe
                  <a class="moz-txt-link-rfc2396E" href="mailto:lr@pcorp.us"><lr@pcorp.us></a>; Mahmoud Sakr
                  <a class="moz-txt-link-rfc2396E" href="mailto:m_attia_sakr@yahoo.com"><m_attia_sakr@yahoo.com></a>; mohamed sayed
                  <a class="moz-txt-link-rfc2396E" href="mailto:mohamed_bakli@aun.edu.eg"><mohamed_bakli@aun.edu.eg></a>; SCHOEMANS Maxime
                  <a class="moz-txt-link-rfc2396E" href="mailto:Maxime.Schoemans@ulb.be"><Maxime.Schoemans@ulb.be></a><br>
                  <b>Subject:</b> Re: Update about my experiments
                  integrating PostGIS 3.1.3 and MobilityDB<o:p></o:p></span></p>
            </div>
          </div>
          <p class="MsoNormal"><o:p> </o:p></p>
          <div>
            <p class="MsoNormal">I always solved that problem with the
              setPrecision functions<o:p></o:p></p>
            <div>
              <p class="MsoNormal"><a
href="https://docs.mobilitydb.com/MobilityDB/develop/ch04s05.html#box_setPrecision"
                  moz-do-not-send="true">https://docs.mobilitydb.com/MobilityDB/develop/ch04s05.html#box_setPrecision</a><o:p></o:p></p>
              <div>
                <p class="MsoNormal"><a
href="https://docs.mobilitydb.com/MobilityDB/develop/ch05s06.html#tpoint_setPrecision"
                    target="_blank" moz-do-not-send="true">https://docs.mobilitydb.com/MobilityDB/develop/ch05s06.html#tpoint_setPrecision</a><o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal">You can find numerous setPrecision
                  calls in all the tests. I needed to do that when
                  switching to PosgreSQL 13 because the output of the
                  floating point values were different between versions.<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">The difference now is that in
                  PostGIS 3 they started using the ryu library for
                  output coordinates. The difference wrt the other tests
                  is that we need to output a geometry/geography as
                  result of the trajectory function.<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal">I have almost finished today to
                  write a simple setPrecision function for
                  geometry/geography so that for example, the test<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"> SELECT
                  ST_AsText(trajectory(tnpoint 'Npoint(1,
                  0.5)@2000-01-01'));<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal">will be replaced by <o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"> SELECT
                  ST_AsText(setPrecision(trajectory(tnpoint 'Npoint(1,
                  0.5)@2000-01-01'), 6));<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal">and this will solve the
                  multiplatform variation for the tests.<o:p></o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
              <div>
                <p class="MsoNormal"><br clear="all">
                  <o:p></o:p></p>
                <div>
                  <div>
                    <div>
                      <div>
                        <p class="MsoNormal">------------------------------------------------------------<br>
                          Prof. Esteban Zimanyi<br>
                          Department of Computer & Decision
                          Engineering  (CoDE) CP 165/15    <br>
                          Universite Libre de Bruxelles            <br>
                          Avenue F. D. Roosevelt 50                <br>
                          B-1050 Brussels, Belgium                 <br>
                          fax: + 32.2.650.47.13<br>
                          tel: + 32.2.650.31.85<br>
                          e-mail: <a
                            href="mailto:esteban.zimanyi@ulb.be"
                            target="_blank" moz-do-not-send="true">esteban.zimanyi@ulb.be</a><br>
                          Internet: <a
                            href="http://cs.ulb.ac.be/members/esteban/"
                            target="_blank" moz-do-not-send="true">http://cs.ulb.ac.be/members/esteban/</a><br>
------------------------------------------------------------<o:p></o:p></p>
                      </div>
                    </div>
                  </div>
                </div>
                <p class="MsoNormal"><o:p> </o:p></p>
              </div>
            </div>
          </div>
          <p class="MsoNormal"><o:p> </o:p></p>
          <div>
            <div>
              <p class="MsoNormal">On Mon, Aug 23, 2021 at 6:42 PM Vicky
                Vergara <<a href="mailto:vicky@georepublic.de"
                  target="_blank" moz-do-not-send="true">vicky@georepublic.de</a>>
                wrote:<o:p></o:p></p>
            </div>
            <blockquote style="border:none;border-left:solid #CCCCCC
              1.0pt;padding:0in 0in 0in
              6.0pt;margin-left:4.8pt;margin-right:0in">
              <div>
                <div>
                  <p class="MsoNormal"><span
                      style="font-family:"Courier
                      New";color:black;background:white">Yeah, I
                      have that problem also when testing on different
                      platforms/compilers/postgres<br>
                      But I resolved by using on some tests that were
                      having precision problems with:<br>
                      SET extra_float_digits = </span><b><span
                        style="font-family:"Courier
                        New";color:#FF5454;background:white">-3</span></b><span
                      style="font-family:"Courier
                      New";color:black;background:white">;<br>
                      <a
href="https://github.com/pgRouting/pgrouting/blob/main/pgtap/withPoints/withPoints_oneToOne-compare-dijkstra.test.sql#L30"
                        target="_blank" moz-do-not-send="true">https://github.com/pgRouting/pgrouting/blob/main/pgtap/withPoints/withPoints_oneToOne-compare-dijkstra.test.sql#L30</a><br>
                      Documentation about that can be found here:<br>
                      <a
                        href="https://www.postgresql.org/docs/12/datatype-numeric.html"
                        target="_blank" moz-do-not-send="true">https://www.postgresql.org/docs/12/datatype-numeric.html</a></span><span
                      style="font-family:"Arial",sans-serif"><o:p></o:p></span></p>
                </div>
                <div>
                  <p class="MsoNormal"><span
                      style="font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
                </div>
                <div>
                  <div>
                    <p class="MsoNormal"><span
                        style="font-family:"Courier New"">In
                        another case I had to resolve floating point
                        comparison internally with:<br>
                        <a
href="https://github.com/pgRouting/pgrouting/blob/main/src/common/xy_vertex.cpp#L36"
                          target="_blank" moz-do-not-send="true">https://github.com/pgRouting/pgrouting/blob/main/src/common/xy_vertex.cpp#L36</a></span><span
                        style="font-family:"Arial",sans-serif"><o:p></o:p></span></p>
                  </div>
                  <p class="MsoNormal"><span
                      style="font-family:"Courier
                      New";color:black;background:white">Which I
                      got from here:<br>
                      <a
                        href="https://en.cppreference.com/w/cpp/types/numeric_limits/epsilon"
                        target="_blank" moz-do-not-send="true">https://en.cppreference.com/w/cpp/types/numeric_limits/epsilon</a></span><span
                      style="font-family:"Arial",sans-serif"><o:p></o:p></span></p>
                </div>
                <div>
                  <p class="MsoNormal"><span
                      style="font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
                </div>
                <div>
                  <p class="MsoNormal"><span
                      style="font-family:"Courier New"">Allways
                      keep in mind floating point </span><span
                      style="font-family:"Arial",sans-serif"><o:p></o:p></span></p>
                </div>
                <div>
                  <p class="MsoNormal"><span
                      style="font-family:"Courier New"">Remember
                      for example that:</span><span
                      style="font-family:"Arial",sans-serif"><o:p></o:p></span></p>
                </div>
                <div>
                  <p class="MsoNormal"><span
                      style="font-family:"Courier New"">mathematically:
                      1 == 1/3 + 1/3 + 1/3</span><span
                      style="font-family:"Arial",sans-serif"><o:p></o:p></span></p>
                </div>
                <div>
                  <p class="MsoNormal"><span
                      style="font-family:"Courier New"">But
                      computationally: 1 != 1/3 + 1/3 + 1/3</span><span
                      style="font-family:"Arial",sans-serif"><o:p></o:p></span></p>
                </div>
                <div>
                  <p class="MsoNormal"><span
                      style="font-family:"Courier New"">The
                      reason is floating point</span><span
                      style="font-family:"Arial",sans-serif"><o:p></o:p></span></p>
                </div>
                <div>
                  <p class="MsoNormal"><span
                      style="font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
                </div>
                <div>
                  <p class="MsoNormal"><span
                      style="font-family:"Courier New"">I like
                      this article</span><span
                      style="font-family:"Arial",sans-serif"><o:p></o:p></span></p>
                </div>
                <div>
                  <p class="MsoNormal"><span
                      style="font-family:"Courier New""><a
href="https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/"
                        target="_blank" moz-do-not-send="true">https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition/</a></span><span
                      style="font-family:"Arial",sans-serif"><o:p></o:p></span></p>
                </div>
                <div>
                  <p class="MsoNormal"><span
                      style="font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
                </div>
              </div>
              <p class="MsoNormal"><o:p> </o:p></p>
              <div>
                <div>
                  <p class="MsoNormal">On Sun, Aug 22, 2021 at 7:56 AM
                    Esteban Zimanyi <<a
                      href="mailto:estebanzimanyi@gmail.com"
                      target="_blank" moz-do-not-send="true">estebanzimanyi@gmail.com</a>>
                    wrote:<o:p></o:p></p>
                </div>
                <blockquote style="border:none;border-left:solid #CCCCCC
                  1.0pt;padding:0in 0in 0in
                  6.0pt;margin-left:4.8pt;margin-right:0in">
                  <div>
                    <p class="MsoNormal">Dear Vicky and Regina<o:p></o:p></p>
                    <div>
                      <p class="MsoNormal"><o:p> </o:p></p>
                    </div>
                    <div>
                      <p class="MsoNormal">Following the
                        recommendations we received at the PostGIS Dev
                        meeting this August 20, I started to experiment
                        the embedding of liblwgeom from PostGIS 3.1.3
                        inside MobilityDB. I was able to run the
                        MobilityDB tests but obviously things have
                        changed from versions 2.5.5 to 3.1.3. <o:p></o:p></p>
                    </div>
                    <div>
                      <p class="MsoNormal"><o:p> </o:p></p>
                    </div>
                    <div>
                      <p class="MsoNormal">You will find enclosed a diff
                        of the results of one of the tests. As you can
                        see there are two types of differences. The
                        first one concerns a very small floating point
                        precision difference, e.g.,<o:p></o:p></p>
                    </div>
                    <div>
                      <p class="MsoNormal"><o:p> </o:p></p>
                    </div>
                    <div>
                      <p class="MsoNormal"> SELECT
                        ST_AsText(trajectory(tnpoint 'Npoint(1,
                        0.5)@2000-01-01'));<br>
                        -                 st_astext                  <br>
                        ---------------------------------------------<br>
                        - POINT(48.71866291282778 77.76407051015086)<br>
                        +                st_astext                 <br>
                        +------------------------------------------<br>
                        + POINT(48.7186629128278 77.7640705101509)<br>
                         (1 row)<o:p></o:p></p>
                    </div>
                    <div>
                      <p class="MsoNormal"><o:p> </o:p></p>
                    </div>
                    <div>
                      <p class="MsoNormal">Another type of error
                        concerns deprecated functions<o:p></o:p></p>
                    </div>
                    <div>
                      <p class="MsoNormal"><o:p> </o:p></p>
                    </div>
                    <div>
                      <p class="MsoNormal"> SELECT
                        setPrecision(atGeometry(tnpoint '{Npoint(1,
                        0.3)@2000-01-01, Npoint(1, 0.5)@2000-01-02,
                        Npoint(1, 0.5)@2000-01-03}', geometry
                        'SRID=5676;Polygon((50 50,50 100,100 100,100
                        50,50 50))'), 6);<br>
                        -ERROR<br>
                        -DETAIL:  Library function 'intersects' was
                        deprecated in PostGIS 3.0.0<br>
                        -HINT:  Consider running: SELECT
                        postgis_extensions_upgrade()<br>
                        +              setprecision              <br>
                        +----------------------------------------<br>
                        + {NPoint(1,0.3)@2000-01-01 00:00:00+00}<br>
                        +(1 row)<br>
                        +<o:p></o:p></p>
                    </div>
                    <div>
                      <p class="MsoNormal"><o:p> </o:p></p>
                    </div>
                    <div>
                      <p class="MsoNormal">In the forthcoming days I
                        will be modifying the develop branch so that the
                        tests can be run in both versions PostGIS 2.5.5
                        and 3.1.3.<o:p></o:p></p>
                    </div>
                    <div>
                      <p class="MsoNormal"><o:p> </o:p></p>
                    </div>
                    <div>
                      <p class="MsoNormal">Furthermore, as a consequence
                        of the problem I reported on the ticket<o:p></o:p></p>
                    </div>
                    <div>
                      <p class="MsoNormal"><a
                          href="https://trac.osgeo.org/postgis/ticket/4979#comment:5"
                          target="_blank" moz-do-not-send="true">https://trac.osgeo.org/postgis/ticket/4979#comment:5</a><o:p></o:p></p>
                    </div>
                    <div>
                      <p class="MsoNormal">it is not possible to mix
                        PostGIS 2.5.5 and 3.1.3 (e.g., use liblwgeom.so
                        from PostGIS 2.5.5 with PostGIS 3.1.3 which was
                        one of the tests planned) since all the lwgeom
                        struct definitions have been changed.<o:p></o:p></p>
                    </div>
                    <div>
                      <p class="MsoNormal"><o:p> </o:p></p>
                    </div>
                    <div>
                      <p class="MsoNormal">Regards<o:p></o:p></p>
                    </div>
                    <div>
                      <p class="MsoNormal"><o:p> </o:p></p>
                    </div>
                    <div>
                      <p class="MsoNormal">Esteban<o:p></o:p></p>
                    </div>
                    <div>
                      <p class="MsoNormal"><o:p> </o:p></p>
                    </div>
                    <div>
                      <p class="MsoNormal">------------------------------------------------------------<o:p></o:p></p>
                    </div>
                    <div>
                      <div>
                        <div>
                          <div>
                            <div>
                              <p class="MsoNormal">Prof. Esteban Zimanyi<br>
                                Department of Computer & Decision
                                Engineering  (CoDE) CP 165/15    <br>
                                Universite Libre de Bruxelles           
                                <br>
                                Avenue F. D. Roosevelt 50               
                                <br>
                                B-1050 Brussels, Belgium                
                                <br>
                                fax: + 32.2.650.47.13<br>
                                tel: + 32.2.650.31.85<br>
                                e-mail: <a
                                  href="mailto:esteban.zimanyi@ulb.be"
                                  target="_blank" moz-do-not-send="true">esteban.zimanyi@ulb.be</a><br>
                                Internet: <a
                                  href="http://cs.ulb.ac.be/members/esteban/"
                                  target="_blank" moz-do-not-send="true">http://cs.ulb.ac.be/members/esteban/</a><br>
------------------------------------------------------------<o:p></o:p></p>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                </blockquote>
              </div>
              <p class="MsoNormal"><br clear="all">
                <br>
                -- <o:p></o:p></p>
              <div>
                <div>
                  <div>
                    <div>
                      <div>
                        <div>
                          <div>
                            <div>
                              <div>
                                <div>
                                  <div>
                                    <div>
                                      <div>
                                        <div>
                                          <div>
                                            <div>
                                              <div>
                                                <div>
                                                  <div>
                                                    <div>
                                                      <pre>Georepublic UG (haftungsbeschränkt)<o:p></o:p></pre>
                                                      <pre>Salzmannstraße 44, <o:p></o:p></pre>
                                                      <pre>81739 München, Germany<o:p></o:p></pre>
                                                      <pre><o:p> </o:p></pre>
                                                      <pre>Vicky Vergara<o:p></o:p></pre>
                                                      <pre>Operations Research<o:p></o:p></pre>
                                                      <pre><o:p> </o:p></pre>
                                                      <pre>eMail: vicky@<a href="http://georepublic.de" target="_blank" moz-do-not-send="true">georepublic.de</a><o:p></o:p></pre>
                                                      <pre>Web: <a href="https://georepublic.info" target="_blank" moz-do-not-send="true">https://georepublic.info</a><o:p></o:p></pre>
                                                      <pre><o:p> </o:p></pre>
                                                      <pre>Tel: +49 (089) 4161 7698-1<o:p></o:p></pre>
                                                      <pre>Fax: +49 (089) 4161 7698-9<o:p></o:p></pre>
                                                      <pre><o:p> </o:p></pre>
                                                      <pre>Commercial register: Amtsgericht München, HRB 181428<o:p></o:p></pre>
                                                      <pre>CEO: Daniel Kastl<o:p></o:p></pre>
                                                      <pre><o:p> </o:p></pre>
                                                    </div>
                                                  </div>
                                                </div>
                                              </div>
                                            </div>
                                          </div>
                                        </div>
                                      </div>
                                    </div>
                                  </div>
                                </div>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </blockquote>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
Mobilitydb-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Mobilitydb-dev@lists.osgeo.org">Mobilitydb-dev@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/mobilitydb-dev">https://lists.osgeo.org/mailman/listinfo/mobilitydb-dev</a>
</pre>
    </blockquote>
  </body>
</html>