<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>