Thank you very much.<br><br>I finally use a "workaround" to solve my
problem. I first add a point far away of my geometries so I know there
would be no chances of that point to be added as result of my function:<br>
<br><div style="margin-left: 40px;">mymultipoint:=PointFromText('POINT(-10000000000 -10000000000)');<br></div><br>then add the points using GeomUnion:<br><br>mymultipoint:=GeomUnion<div id="mb_4">(mymultipoint,newpoint);
<br><br>
and finally, at the end of the function, removes the "false" point and return the multipoint geometry:<br><br>mymultipoint:=Difference(mymultipoint,PointFromText('POINT(-10000000000 -10000000000)'));<br>

RETURN mymultipoint;<br><br>This
is not a very nice solution but it works fine for me. Thanks anyway for
your answer, maybe I will modify my function and include your sugestion.<br><span class="sg"><br>Rodrigo.</span></div><br><br><div><span class="gmail_quote">On 2/19/07, <b class="gmail_sendername">Markus Schaber</b> <
<a href="mailto:schabi@logix-tt.com">schabi@logix-tt.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi, Rodrigo,<br>
<br>"Rodrigo Martín LÓPEZ GREGORIO" <<a href="mailto:rodrigomlg@yahoo.com.ar">rodrigomlg@yahoo.com.ar</a>> wrote:<br><br>> But if mymultipoint variable has not points yet, this doesnt work so I must<br>
> check in every assignment if mymultipoint variable is null or empty or<br>> something like that.<br><br>Yes, but you can use an SQL-Level CASE expression to simplify that:<br><br>mymultipoint:=CASE WHEN mymultipoint IS NULL THEN newpoint ELSE
<br>GeomUnion(newpoint, mymultipoint) END;<br><br>Or even shorter, using COALESCE:<br><br>mymultipoint:=COALESCE(GeomUnion(newpoint, mymultipoint), newpoint);<br><br>or:<br><br>mymultipoint:=GeomUnion(newpoint, COALESCE(mymultipoint, newpoint));
<br><br>> However I think that there may be a much simple way to do that.<br><br>In case you find one, please tell me.<br><br>> I think that must be something like<br>> addpoint(mymultipoint,newpoint).<br><br>But for your solution, you also need some notion of an "empty
<br>multipoint" to start with, so that won't change your problem.<br><br>> Another solution could be initialize mymultipoint variable in some way that<br>> not implies adding a point.<br><br>Initially, I thougt you could initialize your multipoint variable with
<br>an empty geometry collection, but it seems that geomunion does not<br>support geometry collections as input argument, which is braindead<br>IMHO, and I think patches fixing that will be accepted.<br><br><br><br><br>Regards,
<br>Markus<br><br>--<br>Markus Schaber | Logical Tracking&Tracing International AG<br>Dipl. Inf.     | Software Development GIS<br><br>Fight against software patents in Europe! <a href="http://www.ffii.org">www.ffii.org
</a><br><a href="http://www.nosoftwarepatents.org">www.nosoftwarepatents.org</a><br>_______________________________________________<br>postgis-users mailing list<br><a href="mailto:postgis-users@postgis.refractions.net">postgis-users@postgis.refractions.net
</a><br><a href="http://postgis.refractions.net/mailman/listinfo/postgis-users">http://postgis.refractions.net/mailman/listinfo/postgis-users</a><br></blockquote></div><br>