<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:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:D="DAV:" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@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:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-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;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#993366;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle23
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle24
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle25
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle26
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle27
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle28
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle29
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle30
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#003300;}
span.EmailStyle31
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle32
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle33
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:olive;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
</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=EN-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal><span style='color:olive'>Guys,<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:olive'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:olive'>Unless there is standard out
there, we can come up with whatever definition we want as long as it is
consistant and it makes sense.<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:olive'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:olive'>The RFC proposes the following:<o:p></o:p></span></p>
<p><span lang=EN style='font-size:10.0pt;font-family:"Verdana","sans-serif";
color:black'>If the provided geometry is a point geometry, the result of the
Start/End functions is the x, y, z values of the point.<br>
If the provided geometry is a multi-point geometry, the result of the Start/End
functions is the x, y, z values of the first point.<o:p></o:p></span></p>
<p><span lang=EN style='font-size:10.0pt;font-family:"Verdana","sans-serif";
color:black'>>> I think Start should be referencing the first point and End
the last point in case of multi-point. <o:p></o:p></span></p>
<p><span lang=EN style='font-size:10.0pt;font-family:"Verdana","sans-serif";
color:black'>If the provided geometry is a line geometry, the result of the
Start/End functions is the x, y, z values of the start and end points of the
first line.<br>
If the provided geometry is a multi-line geometry, the result of the Start/End
functions is the x, y, z values of the start and end points of the first line.<o:p></o:p></span></p>
<p><span lang=EN style='font-size:10.0pt;font-family:"Verdana","sans-serif";
color:black'>>> Same here. Start – first point of first line,
End – last point of last line.<o:p></o:p></span></p>
<p><span lang=EN style='font-size:10.0pt;font-family:"Verdana","sans-serif";
color:black'>If the provided geometry is a polygon geometry, the result of the
Start/End functions is the x, y, z values of the start and end points of the
exterior ring of the polygon.<br>
If the provided geometry is a multi-polygon geometry, the result of the
Start/End functions is the x, y, z values of the start and end points of the
exterior ring of the first polygon.<o:p></o:p></span></p>
<p><span lang=EN style='font-size:10.0pt;font-family:"Verdana","sans-serif";
color:black'>>> Same again. Start – first point of first
ring, End – last point of last ring.<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:olive'>But we all know that it is not
valuable to use those on polygon or circle (which is just an arc) but I don’t
want the function to throw an error because a polygon geometry is passed as
input. <o:p></o:p></span></p>
<p class=MsoNormal><span style='color:olive'>Let’s agree on what it
should be and return it.<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:olive'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:olive'>RF<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:olive'><o:p> </o:p></span></p>
<div>
<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>
<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
fdo-internals-bounces@lists.osgeo.org
[mailto:fdo-internals-bounces@lists.osgeo.org] <b>On Behalf Of </b>Traian
Stanev<br>
<b>Sent:</b> Tuesday, November 04, 2008 3:15 PM<br>
<b>To:</b> FDO Internals Mail List<br>
<b>Subject:</b> RE: [fdo-internals] Request review of RFC 28
-AddStart/EndExpressionFunctions<o:p></o:p></span></p>
</div>
</div>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>Moreover, what if the geometry
is a circle? </span><span style='font-family:Wingdings;color:#1F497D'>J</span><span
style='color:#1F497D'><o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='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 #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>
<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
fdo-internals-bounces@lists.osgeo.org
[mailto:fdo-internals-bounces@lists.osgeo.org] <b>On Behalf Of </b>Dan Stoica<br>
<b>Sent:</b> Tuesday, November 04, 2008 3:14 PM<br>
<b>To:</b> FDO Internals Mail List<br>
<b>Subject:</b> RE: [fdo-internals] Request review of RFC 28
-AddStart/EndExpressionFunctions<o:p></o:p></span></p>
</div>
</div>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><span style='color:#1F497D'>Robert, returning to the
original issue: what is the meaning of PointX(geometry,
‘end’) for a polygon?<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>Dan.<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<div>
<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>
<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
fdo-internals-bounces@lists.osgeo.org [mailto:fdo-internals-bounces@lists.osgeo.org]
<b>On Behalf Of </b>Robert Fortin<br>
<b>Sent:</b> Tuesday, November 04, 2008 2:46 PM<br>
<b>To:</b> FDO Internals Mail List<br>
<b>Subject:</b> RE: [fdo-internals] Request review of RFC 28
-AddStart/EndExpressionFunctions<o:p></o:p></span></p>
</div>
</div>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><span style='color:#003300'>I think there was plenty of good
idea of how far we can go with these kind of functions. But, trying to go
back to the original issue we were trying to resolve by RFC-28 which is simply
to get the coordinates values for the first and last point…<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#003300'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#003300'>I think Romy has an interesting
proposal that makes the function evolutive over time and avoid over populating
the list of functions with new names each time we think of a new possibility.
It also makes it clear that it is about the points on the geometry and not
computed point as other functions like MidX or CentroidX would be (but
that a matter for another debate).<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#003300'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#003300'>I was thinking of even
rationalizing it further (by adding another enumeration parameter to indicate
x,y and z – we forgot about “m” by the way!) but I think the
name of the function PointX, PointY and PointZ are just clear enough.<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#003300'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#003300'>Can we go for that as far as the
RFC is concerned?<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#003300'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#003300'>RF<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#003300'><o:p> </o:p></span></p>
<div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<div>
<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>
<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>
fdo-internals-bounces@lists.osgeo.org
[mailto:fdo-internals-bounces@lists.osgeo.org] <b>On Behalf Of </b>Romica
Dascalescu<br>
<b>Sent:</b> Tuesday, November 04, 2008 11:27 AM<br>
<b>To:</b> FDO Internals Mail List<br>
<b>Subject:</b> RE: [fdo-internals] Request review of RFC 28
-AddStart/EndExpressionFunctions<o:p></o:p></span></p>
</div>
</div>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><span style='color:#1F497D'>Hi,<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>A different approach is to
create functions which takes a geometry and an enumeration, this way each provider
can implement all cases or just a few of them, e.g.:<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>PointX(geom, enum)<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>PointY(geom, enum)<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>PointZ(geom, enum)<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>Where enum can be:
‘start’, ‘end’, ‘min’, ‘max’,
‘centroid’, …<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>For now we may implement just a
few of them (start, end) and in the future we could implement more cases.<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'>Romy.<o:p></o:p></span></p>
</div>
</div>
</div>
</body>
</html>