<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.16705" name=GENERATOR></HEAD>
<BODY
style="WORD-WRAP: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space">
<DIV dir=ltr align=left><SPAN class=046052809-06102008><FONT face=Arial
color=#0000ff size=2>Dan,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=046052809-06102008><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=046052809-06102008><FONT face=Arial
color=#0000ff size=2>Disregard my last email except the OpenJump part. I
was reading out of order.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=046052809-06102008><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=046052809-06102008><FONT face=Arial
color=#0000ff size=2>Thanks,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=046052809-06102008><FONT face=Arial
color=#0000ff size=2>Regina</FONT></SPAN></DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B>
postgis-users-bounces@postgis.refractions.net
[mailto:postgis-users-bounces@postgis.refractions.net] <B>On Behalf Of </B>Dane
Springmeyer<BR><B>Sent:</B> Monday, October 06, 2008 1:12 AM<BR><B>To:</B>
PostGIS Users Discussion<BR><B>Subject:</B> Re: [postgis-users] Cascaded Union
Aggregate function<BR></FONT><BR></DIV>
<DIV></DIV>Regina,
<DIV><BR></DIV>
<DIV>Okay, I've finished running your fuller test query included on the
wiki.</DIV>
<DIV><BR></DIV>
<DIV>Both of the variations on your cascade union timed the same, and
astonishingly faster that ST_Union:</DIV>
<DIV><BR></DIV>
<DIV><BR></DIV>
<DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'"><SPAN
style="COLOR: #0000cc">SELECT</SPAN> ST_NPoints(upgis_cascadeunion(the_geom)) As
afterpoints, Sum(ST_NPoints(the_geom)) <SPAN style="COLOR: #0000cc">as</SPAN>
beforepoints</DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'"><SPAN
style="COLOR: #0000cc">FROM</SPAN> npsa;</DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'; COLOR: rgb(85,85,85)">--
4.05 minutes</DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'; COLOR: rgb(85,85,85)">--
points before = 163612</DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'; COLOR: rgb(85,85,85)">--
points after = 1069320</DIV>
<DIV
style="MIN-HEIGHT: 15px; MARGIN: 0px; FONT: 12px 'Lucida Grande'"><BR></DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'"><SPAN
style="COLOR: #0000cc">SELECT</SPAN> ST_NPoints(ST_Union(the_geom)) As
afterpoints, Sum(ST_NPoints(the_geom)) <SPAN style="COLOR: #0000cc">as</SPAN>
beforepoints</DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'"><SPAN
style="COLOR: #0000cc">FROM</SPAN> npsa;</DIV>
<DIV
style="MARGIN: 0px; FONT: 12px 'Lucida Grande'; COLOR: rgb(85,85,85)">--161.85
min</DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'; COLOR: rgb(85,85,85)">--
points before = 163612</DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'; COLOR: rgb(85,85,85)">--
points after = 1069320</DIV>
<DIV
style="MIN-HEIGHT: 15px; MARGIN: 0px; FONT: 12px 'Lucida Grande'"><BR></DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'; COLOR: rgb(85,85,85)">-- <A
href="http://postgis.refractions.net/pipermail/postgis-devel/2008-August/003412.html">http://postgis.refractions.net/pipermail/postgis-devel/2008-August/003412.html</A></DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'"><SPAN
style="COLOR: #0000cc">SELECT</SPAN> ST_NPoints(st_cascadeunion(the_geom)) As
afterpoints, Sum(ST_NPoints(the_geom)) <SPAN style="COLOR: #0000cc">as</SPAN>
beforepoints</DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'"><SPAN
style="COLOR: #0000cc">FROM</SPAN> npsa;</DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'; COLOR: rgb(85,85,85)">--
4.06 minutes</DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'; COLOR: rgb(85,85,85)">--
points before = 163612</DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'; COLOR: rgb(85,85,85)">--
points after = 1069320</DIV>
<DIV
style="MARGIN: 0px; FONT: 12px 'Lucida Grande'; COLOR: rgb(85,85,85)"><BR></DIV>
<DIV
style="MARGIN: 0px; FONT: 12px 'Lucida Grande'; COLOR: rgb(85,85,85)"><BR></DIV>
<DIV
style="MARGIN: 0px; FONT: 12px 'Lucida Grande'; COLOR: rgb(85,85,85)"><BR></DIV>
<DIV
style="MARGIN: 0px; FONT: 12px 'Lucida Grande'; COLOR: rgb(85,85,85)">Dane</DIV>
<DIV
style="MARGIN: 0px; FONT: 12px 'Lucida Grande'; COLOR: rgb(85,85,85)"><BR></DIV>
<DIV
style="MARGIN: 0px; FONT: 12px 'Lucida Grande'; COLOR: rgb(85,85,85)"><BR></DIV></DIV>
<DIV><BR>
<DIV>
<DIV>On Oct 5, 2008, at 10:29 AM, Paragon Corporation wrote:</DIV><BR
class=Apple-interchange-newline>
<BLOCKQUOTE type="cite">
<DIV
style="WORD-WRAP: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space">
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2>Dane,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2>Nice to hear. I ran on your set too, but ran thru
the whole thing</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2>SELECT ST_NPoints(upgis_cascadeunion(the_geom)) As
afterpoints, Sum(ST_NPoints(the_geom)) as beforepoints<BR>FROM
npsa_albers</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2>Took SELECT 259329/1000.0/60 ms => 4.322
minutes</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2>N Points after = </FONT></SPAN><SPAN
class=848251317-05102008><FONT face=Arial color=#0000ff
size=2>163,612;</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2>N Points Before = 1,069,320;</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2>I was afraid to try this using the current ST_Union (you
remember by chance how long your below takes with
ST_Union?)</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2>I tried unioning the shape in OpenJump version that
has the cascade union and it took about 5 minutes. </FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2>I'll have to try that again since in all the
tests</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2>I have run OpenJump has always been faster (unfortunately
where I am at the moment, my PostgreSQL is running on server and OpenJump with
shape locally, so that may not have been a fair test). But it seems to
end up with the same number of points of 163,612.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2>Thanks,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2>Regina</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=848251317-05102008><FONT face=Arial
color=#0000ff size=2></FONT></SPAN> </DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B>
postgis-users-bounces@postgis.refractions.net [<A
href="mailto:postgis-users-bounces@postgis.refractions.net">mailto:postgis-users-bounces@postgis.refractions.net</A>]
<B>On Behalf Of </B>Dane Springmeyer<BR><B>Sent:</B> Sunday, October 05, 2008
12:59 PM<BR><B>To:</B> PostGIS Users Discussion<BR><B>Subject:</B> Re:
[postgis-users] Cascaded Union Aggregate function<BR></FONT><BR></DIV>
<DIV></DIV>Regina,
<DIV><BR></DIV>
<DIV>Great, my query now works with your amended upgis function
posting.</DIV>
<DIV><BR></DIV>
<DIV>So, here are my timing outputs for the dataset on watersheds I just sent
a reference to:</DIV>
<DIV><BR></DIV>
<DIV>
<DIV
style="MARGIN: 0px; FONT: 12px 'Lucida Grande'; COLOR: rgb(0,0,204)">select<SPAN
style="COLOR: #000000"> </SPAN>count<SPAN style="COLOR: #000000">(*)
</SPAN>from<SPAN style="COLOR: #000000"> npsa;</SPAN></DIV>
<DIV
style="MARGIN: 0px; FONT: 12px 'Lucida Grande'; COLOR: rgb(85,85,85)">--3162
records</DIV>
<DIV
style="MIN-HEIGHT: 15px; MARGIN: 0px; FONT: 12px 'Lucida Grande'"><BR></DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'"><SPAN
style="COLOR: #0000cc">select</SPAN> st_cascadeunion(the_geom) <SPAN
style="COLOR: #0000cc">from</SPAN> npsa <SPAN
style="COLOR: #0000cc">group</SPAN> <SPAN style="COLOR: #0000cc">by</SPAN>
wholedrain;</DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'; COLOR: rgb(85,85,85)">--
48.39 sec</DIV>
<DIV
style="MIN-HEIGHT: 15px; MARGIN: 0px; FONT: 12px 'Lucida Grande'"><BR></DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'"><SPAN
style="COLOR: #0000cc">select</SPAN> upgis_cascadeunion(the_geom) <SPAN
style="COLOR: #0000cc">from</SPAN> npsa <SPAN
style="COLOR: #0000cc">group</SPAN> <SPAN style="COLOR: #0000cc">by</SPAN>
wholedrain;</DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'; COLOR: rgb(85,85,85)">--
50.91 sec</DIV>
<DIV
style="MIN-HEIGHT: 15px; MARGIN: 0px; FONT: 12px 'Lucida Grande'"><BR></DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'"><SPAN
style="COLOR: #0000cc">select</SPAN> ST_Union(the_geom) <SPAN
style="COLOR: #0000cc">from</SPAN> npsa <SPAN
style="COLOR: #0000cc">group</SPAN> <SPAN style="COLOR: #0000cc">by</SPAN>
wholedrain;</DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'; COLOR: rgb(85,85,85)">--
2.49 minutes</DIV>
<DIV
style="MIN-HEIGHT: 15px; MARGIN: 0px; FONT: 12px 'Lucida Grande'"><BR></DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'"><SPAN
style="COLOR: #0000cc">select</SPAN> ST_Collect(the_geom) <SPAN
style="COLOR: #0000cc">from</SPAN> npsa <SPAN
style="COLOR: #0000cc">group</SPAN> <SPAN style="COLOR: #0000cc">by</SPAN>
wholedrain;</DIV>
<DIV style="MARGIN: 0px; FONT: 12px 'Lucida Grande'; COLOR: rgb(85,85,85)">--
10.73 seconds</DIV>
<DIV><FONT class=Apple-style-span face="'Lucida Grande'"
color=#555555><BR></FONT></DIV>
<DIV>Next chance I get I'll take a look at the actual results.</DIV>
<DIV><BR></DIV>
<DIV>Thanks!</DIV>
<DIV>Dane</DIV>
<DIV><BR></DIV>
<DIV><BR></DIV></DIV>
<DIV>
<DIV>
<DIV>On Oct 5, 2008, at 5:53 AM, Paragon Corporation wrote:</DIV><BR
class=Apple-interchange-newline>
<BLOCKQUOTE type="cite">
<DIV>Dane,<BR>Dane,<BR>Oops sorry about that . I just posted a revised
version. Can you try that<BR>out? Thanks.<BR><BR>Also can you
send me a sample of your data off list. I think the issue was<BR>I was
experimenting with array_append vs. st_geom_accum and I had gotten
the<BR>error you described below, but then was unable to replicate it
again.<BR><BR>It could be the detoasting affect of st_geom_accum that Mark
had described<BR>was the difference between the two.
<BR><BR>Thanks,<BR>Regina<BR><BR>-----Original Message-----<BR>From: <A
href="mailto:postgis-users-bounces@postgis.refractions.net">postgis-users-bounces@postgis.refractions.net</A><BR>[<A
href="mailto:postgis-users-bounces@postgis.refractions.net">mailto:postgis-users-bounces@postgis.refractions.net</A>]
On Behalf Of Dane<BR>Springmeyer<BR>Sent: Sunday, October 05, 2008 1:47
AM<BR>To: PostGIS Users Discussion<BR>Subject: Re: [postgis-users] Cascaded
Union Aggregate function<BR><BR>Hi Regina,<BR><BR>Thank you so much for the
wiki posting. I've been using your code from your<BR>august 12th email with
great success, if not joy. What an amazing speed<BR>improvement, especially
for such a critical function. This was your exact<BR>email of code I have
working:<BR><A
href="http://postgis.refractions.net/pipermail/postgis-devel/2008-August/003412.ht">http://postgis.refractions.net/pipermail/postgis-devel/2008-August/003412.ht</A><BR>ml<BR><BR>I've
just downloaded the new code off the wiki, but I'm getting an error
of<BR>'Unknown Geometry Type: 0'. I'll paste the whole error below in case
you<BR>have an idea what might be going on. I'm running mac 10.5 with
these<BR>details:<BR><BR> postgis_version<BR>---------------------------------------<BR> 1.3
USE_GEOS=1 USE_PROJ=1 USE_STATS=1<BR>(1
row)<BR><BR>--------------------------------------------------------------<BR> PostgreSQL
8.3.3 on i386-apple-darwin9.4.0, compiled by
GCC<BR><BR><BR>Cheers,<BR><BR>Dane<BR><BR><BR>-- full error:<BR>test=#
select upgis_cascadeunion(the_geom) from npsa group by
wholedrain;<BR><BR>ERROR: Unknown geometry type: 0<BR>CONTEXT:
SQL function "upgis_dump_collect_garray" statement 1<BR>SQL statement
"SELECT <BR>upgis_dump_collect_garray( array_append(ARRAY(SELECT
$1 [s] As geom FROM<BR>generate_series(1, $2 ) As s WHERE NOT (s
= ANY( $3 )) ), <BR>st_unite_garray(ARRAY(SELECT $1 [s] As geom
FROM generate_series(1, <BR>$2 ) As s WHERE s = ANY( $3 ) ) ) )
)"<BR>PL/pgSQL function "st_collect_unite_garray" line 29 at assignment
SQL<BR>statement "SELECT
upgis_unitecascade_garray(ARRAY(SELECT<BR>st_collect_unite_garray( $1
[i:least(i + $2 - 1, $3 )]) As geom FROM<BR>generate_series(1,
$3 , $2 ) As i), $4 + 1, $5 , false)"<BR>PL/pgSQL
function "upgis_unitecascade_garray" line 48 at assignment<BR>SQL statement
"SELECT <BR>upgis_dump_collect_garray( array_append(ARRAY(SELECT
$1 [ $2 [s]] As geom<BR>FROM generate_series(1, array_upper( $2 ,1))
As s ),<BR>upgis_unitecascade_garray(ARRAY(SELECT $1 [s] As geom FROM
<BR>generate_series(1, $3 ) As s WHERE NOT (s = ANY( $2 )) ),
$4 + 1, <BR>$5 , true) ) )"<BR>PL/pgSQL function
"upgis_unitecascade_garray" line 33 at assignment SQL<BR>function
"upgis_unitecascade_garray_sort" statement 1<BR><BR><BR>On Oct 4, 2008, at
4:53 PM, Paragon Corporation wrote:<BR><BR>
<BLOCKQUOTE type="cite"><BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">Oops sorry about that.<BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite"><BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">Just realized I had ugly spaces in the link.
I've changed it. Use <BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">this one<BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite"><BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite"><A
href="http://postgis.refractions.net/support/wiki/index.php?upgis_cascadeuni">http://postgis.refractions.net/support/wiki/index.php?upgis_cascadeuni</A><BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">on<BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite"><BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">-----Original Message-----<BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">From: <A
href="mailto:postgis-users-bounces@postgis.refractions.net">postgis-users-bounces@postgis.refractions.net</A><BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">[<A
href="mailto:postgis-users-bounces@postgis.refractions.net">mailto:postgis-users-bounces@postgis.refractions.net</A>]
On Behalf Of <BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">Paragon Corporation<BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">Sent: Saturday, October 04, 2008 7:44
PM<BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">To: 'PostGIS Users Discussion'<BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">Subject: [postgis-users] Cascaded Union Aggregate
function<BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite"><BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">For those people who have unions to do that are
slow, feel free to try <BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">out this aggregate union function.<BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite"><BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">I haven't tested it enough for it to make it into
1.3.4, but have <BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">included a link to the source code in the wiki.
It should work just <BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">fine on PostGIS versions 1.2.2 and
above.<BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite"><BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite"><A
href="http://postgis.refractions.net/support/wiki/index.php?PL%2FPGSQL%20Pse">http://postgis.refractions.net/support/wiki/index.php?PL%2FPGSQL%20Pse</A><BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">udo%20
Cascade%20Union%20Aggregate%20Function<BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite"><BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">Let me know if you run into any problems with it.
It has worked well <BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">for the samples I have used it on.<BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite"><BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">Thanks,<BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">Regina<BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite"><BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite"><BR></BLOCKQUOTE>
<BLOCKQUOTE
type="cite">_______________________________________________<BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">postgis-users mailing list<BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite"><A
href="mailto:postgis-users@postgis.refractions.net">postgis-users@postgis.refractions.net</A><BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite"><A
href="http://postgis.refractions.net/mailman/listinfo/postgis-users">http://postgis.refractions.net/mailman/listinfo/postgis-users</A><BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite"><BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite"><BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite"><BR></BLOCKQUOTE>
<BLOCKQUOTE
type="cite">_______________________________________________<BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite">postgis-users mailing list<BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite"><A
href="mailto:postgis-users@postgis.refractions.net">postgis-users@postgis.refractions.net</A><BR></BLOCKQUOTE>
<BLOCKQUOTE type="cite"><A
href="http://postgis.refractions.net/mailman/listinfo/postgis-users">http://postgis.refractions.net/mailman/listinfo/postgis-users</A><BR></BLOCKQUOTE><BR>_______________________________________________<BR>postgis-users
mailing list<BR><A
href="mailto:postgis-users@postgis.refractions.net">postgis-users@postgis.refractions.net</A><BR>http://postgis.refractions.net/mailman/listinfo/postgis-users<BR><BR><BR><BR>_______________________________________________<BR>postgis-users
mailing
list<BR>postgis-users@postgis.refractions.net<BR>http://postgis.refractions.net/mailman/listinfo/postgis-users<BR></DIV></BLOCKQUOTE></DIV><BR></DIV></DIV>_______________________________________________<BR>postgis-users
mailing list<BR><A
href="mailto:postgis-users@postgis.refractions.net">postgis-users@postgis.refractions.net</A><BR>http://postgis.refractions.net/mailman/listinfo/postgis-users<BR></BLOCKQUOTE></DIV><BR></DIV></BODY></HTML>