<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        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;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
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]-->
</head>
<body lang="PT" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Ah ghrr, I missed one argin in my wrapping (the
</span><em><span lang="EN-US" style="font-family:"Calibri",sans-serif">dfRotation)
</span></em><em><span lang="EN-US" style="font-family:"Calibri",sans-serif;font-style:normal">and probably because the
</span></em><em><span lang="EN-US" style="font-family:"Calibri",sans-serif">dfMaxAngleStepSizeDegrees</span></em><span lang="EN-US">  has a default value, an error was not triggered.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Now it works. Sorry for the noise.</span><span lang="EN-US" style="mso-fareast-language:EN-US">
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> Even Rouault <even.rouault@spatialys.com>
<br>
<b>Sent:</b> Thursday, June 16, 2022 5:49 PM<br>
<b>To:</b> Joaquim Manuel Freire Luís <jluis@ualg.pt>; gdal-dev@lists.osgeo.org<br>
<b>Subject:</b> Re: [gdal-dev] dfMaxAngleStepSizeDegrees in ApproximateArcAngles<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p>I can't replicate that. Below the output with the Python bindings that directly map
<span lang="EN-US">OGR_G_ApproximateArcAngles():</span><o:p></o:p></p>
<p><span lang="EN-US">>>> from osgeo import ogr<br>
>>> g = ogr.ApproximateArcAngles(0, 0, 0, 1, 1, 0, 0, -90, 0)<br>
>>> g.FlattenTo2D()<br>
>>> g.ExportToWkt()<br>
'LINESTRING (1 0,0.997668769190539 0.068242413364671,0.990685946036331 0.136166649096247,0.979084087682323 0.203456013052634,0.962917287347799 0.269796771157024,0.942260922118821 0.334879612170986,0.917211301505453 0.398401089846241,0.887885218402375 0.460065037731152,0.854419404546489
 0.519583950035434,0.816969893010442 0.576680322114867,0.77571129070442 0.631087944326053,0.730835964278124 0.682553143218654,0.682553143218654 0.730835964278124,0.631087944326053 0.77571129070442,0.576680322114867 0.816969893010442,0.519583950035434 0.854419404546489,0.460065037731152
 0.887885218402375,0.398401089846242 0.917211301505453,0.334879612170986 0.942260922118821,0.269796771157024 0.962917287347799,0.203456013052634 0.979084087682323,0.136166649096247 0.990685946036331,0.068242413364671 0.997668769190539,0.0 1.0)'</span><o:p></o:p></p>
<p><span lang="EN-US">>>> g = ogr.ApproximateArcAngles(0, 0, 0, 1, 1, 0, 0, -90, 10)<br>
>>> g.FlattenTo2D()<br>
>>> g.ExportToWkt()<br>
'LINESTRING (1 0,0.984807753012208 0.17364817766693,0.939692620785908 0.342020143325669,0.866025403784439 0.5,0.766044443118978 0.642787609686539,0.642787609686539 0.766044443118978,0.5 0.866025403784439,0.342020143325669 0.939692620785908,0.17364817766693
 0.984807753012208,0.0 1.0)'<br>
>>> </span><o:p></o:p></p>
<p><span lang="EN-US">For the inc=0 case, note that there's a x/y inversion compared to your output.</span><o:p></o:p></p>
<p><span lang="EN-US">The inc=10 case has 10 points in its output as expected</span><o:p></o:p></p>
<p><span lang="EN-US">Even</span><o:p></o:p></p>
<div>
<p class="MsoNormal">Le 16/06/2022 à 18:27, Joaquim Manuel Freire Luís a écrit :<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">Even, I wrapped OGR_G_ApproximateArcAngles() in Julia and I think there is something wrong with the  dfMaxAngleStepSizeDegrees argument</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">(here shortcut to ‘inc’)</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">This is fine (just repeating the default 0.0 value). Note, I’m dropping the z (=0) argin but that’s only the julia wrapper interface.</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="FR">D = GMT.Gdal.arcellipse(0, 0, 1., 1., 0., -90., inc=0.)</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="FR">BoundingBox: [6.123233995736766e-17, 1.0, 0.0, 1.0]</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="FR">24×2 GMTdataset{Float64, 2}</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="FR">Row │ x            y</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="FR">    
</span><span lang="EN-US">│ Float64      Float64</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">─────</span><span lang="EN-US" style="font-family:"Arial",sans-serif">┼</span><span lang="EN-US">────────────────────────</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">   1 │ 6.12323e-17  1.0</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">   2 │ 0.0682424    0.997669</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">   3 │ 0.136167     0.990686</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">   4 │ 0.203456     0.979084</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">   5 │ 0.269797     0.962917</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> 
</span><span lang="EN-US" style="font-family:"Cambria Math",serif">⋮</span><span lang="EN-US">  │     
</span><span lang="EN-US" style="font-family:"Cambria Math",serif">⋮</span><span lang="EN-US">          
</span><span lang="EN-US" style="font-family:"Cambria Math",serif">⋮</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">  20 │ 0.962917     0.269797</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">  21 │ 0.979084     0.203456</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">  22 │ 0.990686     0.136167</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">  23 │ 0.997669     0.0682424</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">  24 │ 1.0          0.0</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">But if I use for example 10 (or any other number) the dfEndAngle is no longer respected</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="FR">D = GMT.Gdal.arcellipse(0, 0., 1., 1., 0., -90., inc=10.)</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="FR">BoundingBox: [6.123233995736766e-17, 0.9993908270190958, -0.17364817766693033, 1.0]</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="FR">26×2 GMTdataset{Float64, 2}</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="FR">Row │ x            y</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="FR">    
</span><span lang="EN-US">│ Float64      Float64</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">─────</span><span lang="EN-US" style="font-family:"Arial",sans-serif">┼</span><span lang="EN-US">─────────────────────────</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">   1 │ 6.12323e-17   1.0</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">   2 │ 0.0697565     0.997564</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">   3 │ 0.139173      0.990268</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">   4 │ 0.207912      0.978148</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">   5 │ 0.275637      0.961262</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">   6 │ 0.34202       0.939693</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">   7 │ 0.406737      0.913545</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">   8 │ 0.469472      0.882948</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> 
</span><span lang="EN-US" style="font-family:"Cambria Math",serif">⋮</span><span lang="EN-US">  │     
</span><span lang="EN-US" style="font-family:"Cambria Math",serif">⋮</span><span lang="EN-US">          
</span><span lang="EN-US" style="font-family:"Cambria Math",serif">⋮</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">  19 │ 0.951057      0.309017</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">  20 │ 0.970296      0.241922</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">  21 │ 0.984808      0.173648</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">  22 │ 0.994522      0.104528</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">  23 │ 0.999391      0.0348995</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">  24 │ 0.999391     -0.0348995</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">  25 │ 0.994522     -0.104528</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">  26 │ 0.984808     -0.173648</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span lang="EN-US">Joaquim</span><o:p></o:p></p>
</div>
<p class="MsoNormal"><br>
<br>
<o:p></o:p></p>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>gdal-dev mailing list<o:p></o:p></pre>
<pre><a href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a><o:p></o:p></pre>
<pre><a href="https://lists.osgeo.org/mailman/listinfo/gdal-dev">https://lists.osgeo.org/mailman/listinfo/gdal-dev</a><o:p></o:p></pre>
</blockquote>
<pre>-- <o:p></o:p></pre>
<pre><a href="http://www.spatialys.com">http://www.spatialys.com</a><o:p></o:p></pre>
<pre>My software is free, but my time generally not.<o:p></o:p></pre>
</div>
</body>
</html>