<div dir="ltr">Totally agree, Regina.  Using named args should be done very judiciously.  And ST_Translate does not seem like the right place to do it for all those reasons.  It's a distraction from the current discussion.<div><br></div><div>Not sure where the dividing line between optional and name arguments should live.  I agree that they are very useful for functions with a plethora of similar arguments (ST_Buffer comes to mind...).  </div><div><br></div><div>Requiring SRID to be named seems more reasonable - but it still leaves open the possibility of confusion with an ordinate value, right?</div><div><br></div><div>I had an idea about providing ST_Point, ST_PointZ and ST_PointZM, all taking an optional SRID.  It has a pleasing resonance with the WKT syntax (to my eye - I have heard dissenting opinion).</div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Dec 17, 2020 at 2:47 PM Regina Obe <<a href="mailto:lr@pcorp.us">lr@pcorp.us</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-US"><div class="gmail-m_-1580308996916066771WordSection1"><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">That example wouldn’t work even if we put in named args for those </span><span style="font-size:11pt;font-family:Wingdings;color:rgb(31,73,125)">J</span><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Because we would then need to make x, y, z optional in ST_Translate, so that would require dropping those signatures and readding them.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Let put aside the breakage in existing workflow for a minute<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">But we would have to allow ST_Translate(geom)  - and what shoud that mean? <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">and gosh that’s like 4 extra characters you have to type to save typing 1 extra character </span><span style="font-size:11pt;font-family:Wingdings;color:rgb(31,73,125)">J</span><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">.  I know it’s clearer but<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">what if we went by the docs <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">ST_Traslate(geom, deltax => 10, deltay => 0)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Are you going to remember is it  “x” or “deltax” </span><span style="font-size:11pt;font-family:Wingdings;color:rgb(31,73,125)">J</span><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">Is such clarity really worth the nuisance of having to reference the manual all the time for the name of the argument?<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">I know I sound like an old nay-sayer stuck in the dark ages clinging on to the simplicity of the past.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> <u></u></span></p><div style="border-top:none;border-right:none;border-bottom:none;border-left:1.5pt solid blue;padding:0in 0in 0in 4pt"><div><div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0in 0in"><p class="MsoNormal"><b><span style="font-size:11pt;font-family:Calibri,sans-serif">From:</span></b><span style="font-size:11pt;font-family:Calibri,sans-serif"> postgis-devel [mailto:<a href="mailto:postgis-devel-bounces@lists.osgeo.org" target="_blank">postgis-devel-bounces@lists.osgeo.org</a>] <b>On Behalf Of </b>Bruce Rindahl<br><b>Sent:</b> Thursday, December 17, 2020 5:27 PM<br><b>To:</b> PostGIS Development Discussion <<a href="mailto:postgis-devel@lists.osgeo.org" target="_blank">postgis-devel@lists.osgeo.org</a>><br><b>Subject:</b> Re: [postgis-devel] Function Removal<u></u><u></u></span></p></div></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">I agree with all that but it could have advantages:  ST_Translate(geom,x=>10) for a shift to the right,  ST_Translate(geom,y=>10) for a shift up, ST_Scale(z=>10) for vertical distortion. <u></u><u></u></p></div><div><p class="MsoNormal">  The functions , comments, and documents would all have to be updated and in sync with 'accepted' names.<u></u><u></u></p></div><p class="MsoNormal"><u></u> <u></u></p><div><div><p class="MsoNormal">On Thu, Dec 17, 2020 at 2:19 PM Regina Obe <<a href="mailto:lr@pcorp.us" target="_blank">lr@pcorp.us</a>> wrote:<u></u><u></u></p></div><blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0in 0in 0in 6pt;margin-left:4.8pt;margin-right:0in"><p class="MsoNormal">> Since they've come in we've really under-used named parameters. Some of<br>> that because of legacy, some of it because of mental inertia. But for<br>these<br>> kinds of things they seem pretty ideal to me. Mean what you say, say what<br>> you mean, have what your parameters mean be clear instead of opaque. A<br>> good habit, all in all.<br>> <br>> P<br>> <br>In the beginning I thought named args were great, but I've come to think of<br>them as being a little evil.<br>Don't get me wrong -- they are indispensable in raster and pgRouting, cause<br>there is a butt load of arguments and it's hard to undo or even questionable<br>if we should.<br><br>But for cases where we have few args, I find the evilness much worse than<br>the disease they are there to cure.<br><br>Mostly because of our indecision with coming up with good names and then<br>changing our mind <br>and then the fact our names in the docs don't even always match the named<br>args ones we have .<br><br>Remember Paul when your OCD kicked in and you decided to rename an arg?<br><br>Oops we can't change the name of the arg without dropping the function oops<br>we can't rename it because what if someone is using the name.<br><br>So I don't care what the OGC says<br><br>ST_Point(x,y, srid)<br><br>With last arg always meaning srid seems clearest to me.<br><br>No overloading with z,m etc.<br><br>Have separate named functions for that.<br><br>_______________________________________________<br>postgis-devel mailing list<br><a href="mailto:postgis-devel@lists.osgeo.org" target="_blank">postgis-devel@lists.osgeo.org</a><br><a href="https://lists.osgeo.org/mailman/listinfo/postgis-devel" target="_blank">https://lists.osgeo.org/mailman/listinfo/postgis-devel</a><u></u><u></u></p></blockquote></div></div></div></div></div>_______________________________________________<br>
postgis-devel mailing list<br>
<a href="mailto:postgis-devel@lists.osgeo.org" target="_blank">postgis-devel@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/postgis-devel" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/postgis-devel</a><br>
</blockquote></div>