<DIV><BR><BR><B><I>postgis-users-request@postgis.refractions.net</I></B> wrote:
<BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">Send postgis-users mailing list submissions to<BR>postgis-users@postgis.refractions.net<BR><BR>To subscribe or unsubscribe via the World Wide Web, visit<BR>http://postgis.refractions.net/mailman/listinfo/postgis-users<BR>or, via email, send a message with subject or body 'help' to<BR>postgis-users-request@postgis.refractions.net<BR><BR>You can reach the person managing the list at<BR>postgis-users-owner@postgis.refractions.net<BR><BR>When replying, please edit your Subject line so it is more specific<BR>than "Re: Contents of postgis-users digest..."<BR><BR><BR>Today's Topics:<BR><BR>1. cocoon, postgis and mapserver (Andres Taborda)<BR>2. Help with finding multi-variate clusters (Eli Dylan Lorimer)<BR>3. Re: Versioning system for PostGIS (Paul Ramsey)<BR>4. Re: Help with finding multi-variate clusters (Paul Ramsey)<BR>5. Mixing GPL with BSD (Denis Lussier)<BR>6. Re: Help with finding
 multi-variate clusters (Eli Dylan Lorimer)<BR>7. Re: Help with finding multi-variate clusters (Eli Dylan Lorimer)<BR>8. Re: Re: Help with finding multi-variate clusters<BR>(Stephen Woodbridge)<BR><BR><BR>----------------------------------------------------------------------<BR><BR>Message: 1<BR>Date: Tue, 12 Jul 2005 14:24:34 -0500 (CDT)<BR>From: Andres Taborda <ANTABORDA@YAHOO.COM><BR>Subject: [postgis-users] cocoon, postgis and mapserver<BR>To: postgis-users@postgis.refractions.net<BR>Message-ID: <20050712192434.84127.qmail@web40504.mail.yahoo.com><BR>Content-Type: text/plain; charset=iso-8859-1<BR><BR>some users <BR>can help me with integration de apache cocoon,<BR>postgis and mapserver..<BR><BR>thanks very much<BR><BR>__________________________________________________<BR>Correo Yahoo!<BR>Espacio para todos tus mensajes, antivirus y antispam ¡gratis! <BR>Regístrate ya - http://correo.espanol.yahoo.com/ <BR><BR><BR>------------------------------<BR><BR>Message: 2<BR>Date:
 Tue, 12 Jul 2005 22:16:50 +0100<BR>From: Eli Dylan Lorimer <E.D.LORIMER@SMS.ED.AC.UK><BR>Subject: [postgis-users] Help with finding multi-variate clusters<BR>To: postgis-users@postgis.refractions.net<BR>Message-ID: <248FF8D8-3DF0-4100-820E-536219B49226@sms.ed.ac.uk><BR>Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed<BR><BR>Hello PostGIS Folks,<BR><BR>I'm trying to leverage the power of the spatial database to help me <BR>find 3-dimensional clusters in my data. Specifically, in one table I <BR>have a 2D point field and a timestamp attribute field. I want to <BR>treat the data from each of these 2 fields as a 3D point (x,y,z) and <BR>over and entire table, find clusters given a specific tolerance <BR>(perhaps a mean nearest neighbor). To be honest, I'm not too fussed <BR>with the clustering algorithm, anything simple will do for now. What <BR>I'd like is to make my query and get in return a result set <BR>consisting of points defining the center of each of
 the clusters. I <BR>want to then draw them client side using Java3D. In any event, I <BR>figure this is possible with PostGIS but I have no idea where to <BR>begin looking. Could anyone point me in the right direction (or <BR>perhaps this functionality already exists and I'm not seeing it in <BR>the documentation.)<BR><BR>I'm very grateful for you help. This is a part of a big Uni project.<BR><BR>Cheers.<BR>./dylan<BR><BR><BR>------------------------------<BR><BR>Message: 3<BR>Date: Tue, 12 Jul 2005 15:49:03 -0700<BR>From: Paul Ramsey <PRAMSEY@REFRACTIONS.NET><BR>Subject: Re: [postgis-users] Versioning system for PostGIS<BR>To: PostGIS Users Discussion <POSTGIS-USERS@POSTGIS.REFRACTIONS.NET><BR>Message-ID: <40777B0C-2140-49CD-BC4E-078A04810D52@refractions.net><BR>Content-Type: text/plain; format=flowed; delsp=yes; charset=US-ASCII<BR><BR>How deep does this have to be? The simplest versioning system is just:<BR><BR>create table foo;<BR>create table foo_history;<BR><BR>Then add
 update/insert/delete triggers on foo that fill in the deltas <BR>in foo_history. There used to be code in contrib/ that did this, but <BR>I think it got removed.<BR><BR>"Versioning" is a loaded and conflicted term, more definitions are <BR>required to know what you mean by it!<BR><BR>Paul<BR><BR>On 12-Jul-05, at 11:04 AM, Hisaji ONO wrote:<BR><BR>> Hello.<BR>><BR>> I think currently implementing Spatio-Temporal function<BR>> into GIS is important more and more increasingly.<BR>><BR>> PostGIS has recently supported 4D format, however this<BR>> format is very useful for versioning system of spatial<BR>> data.<BR>><BR>> PostGIS dev. team has any plan to implement these<BR>> versioning system of spatial data into PostGIS.<BR>><BR>> Regards.<BR>><BR>> _______________________________________________<BR>> postgis-users mailing list<BR>> postgis-users@postgis.refractions.net<BR>>
 http://postgis.refractions.net/mailman/listinfo/postgis-users<BR>><BR><BR><BR><BR>------------------------------<BR><BR>Message: 4<BR>Date: Tue, 12 Jul 2005 15:51:17 -0700<BR>From: Paul Ramsey <PRAMSEY@REFRACTIONS.NET><BR>Subject: Re: [postgis-users] Help with finding multi-variate clusters<BR>To: PostGIS Users Discussion <POSTGIS-USERS@POSTGIS.REFRACTIONS.NET><BR>Message-ID: <83BB4957-E297-45B4-B3C0-9A3A3062099F@refractions.net><BR>Content-Type: text/plain; format=flowed; delsp=yes; charset=US-ASCII<BR><BR>Skip PostGIS and look into R. If you can find a function in R to do <BR>it, load PL/R into PostgreSQL and pipe the results of a PostGIS query <BR>into the R function.<BR><BR>select rfunction(x(thepoint),y(thepoint),timestamp) from foo<BR><BR>Or something like that.<BR><BR>Or, write your own k-means clustering system. V. v. computationally <BR>expensive for large sets though.<BR><BR>P<BR><BR>On 12-Jul-05, at 2:16 PM, Eli Dylan Lorimer wrote:<BR><BR>> Hello PostGIS
 Folks,<BR>><BR>> I'm trying to leverage the power of the spatial database to help me <BR>> find 3-dimensional clusters in my data. Specifically, in one table <BR>> I have a 2D point field and a timestamp attribute field. I want to <BR>> treat the data from each of these 2 fields as a 3D point (x,y,z) <BR>> and over and entire table, find clusters given a specific tolerance <BR>> (perhaps a mean nearest neighbor). To be honest, I'm not too fussed <BR>> with the clustering algorithm, anything simple will do for now. <BR>> What I'd like is to make my query and get in return a result set <BR>> consisting of points defining the center of each of the clusters. I <BR>> want to then draw them client side using Java3D. In any event, I <BR>> figure this is possible with PostGIS but I have no idea where to <BR>> begin looking. Could anyone point me in the right direction (or <BR>> perhaps this functionality already exists and I'm not seeing it in
 <BR>> the documentation.)<BR>><BR>> I'm very grateful for you help. This is a part of a big Uni project.<BR>><BR>> Cheers.<BR>> ./dylan<BR>> _______________________________________________<BR>> postgis-users mailing list<BR>> postgis-users@postgis.refractions.net<BR>> http://postgis.refractions.net/mailman/listinfo/postgis-users<BR>><BR><BR><BR><BR>------------------------------<BR><BR>Message: 5<BR>Date: Tue, 12 Jul 2005 23:16:38 -0400<BR>From: "Denis Lussier" <DENIS@ENTERPRISEDB.COM><BR>Subject: [postgis-users] Mixing GPL with BSD <BR>To: <POSTGIS-USERS@POSTGIS.REFRACTIONS.NET><BR>Message-ID:<BR><B319CFEC3B80D3408CA36F99ADE84094010E6E@EDB-DC1.EDB-NET.ENTERPRISEDB.COM><BR><BR>Content-Type: text/plain; charset="us-ascii"<BR><BR>Hi All,<BR><BR><BR><BR>My company is EnterpriseDB Corp. We add some proprietary (usually all<BR>made BSD open source within one year) code to PostgreSQL that mostly<BR>focuses on Oracle compatibility. My problem is that
 PostGIS is GPL so I<BR>don't see a way I can bundle it into my product offering. I wouldn't<BR>have a problem if it were LGPL cuz any tweaks or improvements I'd be<BR>more than willing to offer to the community immediately.<BR><BR><BR><BR>I guess I can always just have my commercial customers who want to use<BR>PostGIS separately go ahead and download/install it themselves (perhaps<BR>I'm showing my ignorance if PostGIS needs to be compiled in), but... a<BR>separate download/install is inconvenient and less than optimal. Since<BR>we don't presently have any true Spatial experts in our company at the<BR>moment, we'd also be looking to partner with various community members<BR>to provide professional services and advanced support to our customers.<BR><BR><BR><BR>Any suggestions??<BR><BR><BR><BR>--Denis Lussier<BR><BR>Chief Architect and Chairman<BR><BR>EnterpriseDB Corporation<BR><BR><BR><BR>PS This product must be darn good cuz I've had several potentially<BR>large accounts insist
 that EDB support it. It shouldn't be an issue for<BR>us because we certainly allow usage of PL/pgSQL and we strive to<BR>maintain 100% compatability with all features, and add-ons of<BR>PostgreSQL.<BR><BR><BR><BR>-------------- next part --------------<BR>An HTML attachment was scrubbed...<BR>URL: http://lists.refractions.net/pipermail/postgis-users/attachments/20050712/e52bea8b/attachment-0001.html<BR><BR>------------------------------<BR><BR>Message: 6<BR>Date: Wed, 13 Jul 2005 13:37:48 +0100<BR>From: Eli Dylan Lorimer <E.D.LORIMER@SMS.ED.AC.UK><BR>Subject: [postgis-users] Re: Help with finding multi-variate clusters<BR>To: postgis-users@postgis.refractions.net<BR>Message-ID: <72F3E906-A8DF-4C6A-A375-CC5C195B66B5@sms.ed.ac.uk><BR>Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed<BR><BR>Hello,<BR><BR>So I've been trying quasi unsuccessfully to find clusters in my data <BR>using spatial sql. I think I"m pretty close but I need a tip or <BR>something to get
 me past this little hurdle I'm hitting. Basically, <BR>I've got a simple test table with a 2D Point field in it.<BR><BR>For testing purposes, I've placed the following data in it:<BR><BR>select AsText(point) from waypoints_test;<BR><BR>--------------<BR>POINT(0 0)<BR>POINT(4 4)<BR>POINT(5 5)<BR>POINT(6 6)<BR>POINT(9 9)<BR>POINT(10 10)<BR><BR>I want to run whatever magical SQL command I'm seeking to get back <BR>the following clusters (based on a Euclidean distance of 2)<BR><BR>MULTIPOINT(4 4,5 5,5 5,6 6)<BR>MULTIPOINT(9 9,10 10)<BR>(2 rows)<BR><BR>What I've come up with is sort of close but not quite there. Here are <BR>my attempts:<BR><BR><BR>select distinct AsText(a.point) from waypoints_test a, <BR>waypoints_test b where intersects(buffer(a.point,2), buffer(b.point, <BR>2)) and not equals(a.point,b.point) group by a.point;<BR>astext<BR>--------------<BR>POINT(10 10)<BR>POINT(4 4)<BR>POINT(5 5)<BR>POINT(6 6)<BR>POINT(9 9)<BR>(5 rows)<BR><BR>select distinct AsText(a.point) from
 waypoints_test a, <BR>waypoints_test b where distance(a.point,b.point)<2 and not equals <BR>(a.point,b.point);<BR>astext<BR>--------------<BR>POINT(10 10)<BR>POINT(4 4)<BR>POINT(5 5)<BR>POINT(6 6)<BR>POINT(9 9)<BR>(5 rows)<BR><BR>select AsText(collect(a.point)) from waypoints_test a, <BR>waypoints_test b where distance(a.point,b.point)<2 and not equals <BR>(a.point,b.point);<BR>---------------------------------------<BR>MULTIPOINT(4 4,5 5,5 5,6 6,9 9,10 10)<BR><BR>I cant' seem to figure out how to get the GeomUnion or Collect rows <BR>back with each row containing my cluster. The basic logistics behind <BR>finding them is really simple, I just want to pass some tolerance <BR>(perhaps a mean nearest neighbor value) and then:<BR><BR>For each point in my table<BR>buffer it by the passed tolerance.<BR>Find all points in the table that exist in that buffer.<BR>Buffer them.<BR>Continue until no points exist within the buffer.<BR>Take Union (or collection) of all points and make that
 a cluster.<BR><BR>I would really appreciate a tip on how to group the rows being <BR>returned based on the buffer they appeared in. Or, alternatively, I <BR>could use a distance function in stead of buffering and find all <BR>points that are within said distance(tolerance) of each other and <BR>union all these points together.<BR><BR>Anything will do.<BR>Thank you in advance.<BR><BR>Cheers,<BR>./dylan<BR><BR><BR><BR><BR>------------------------------<BR><BR>Message: 7<BR>Date: Wed, 13 Jul 2005 14:22:32 +0100<BR>From: Eli Dylan Lorimer <E.D.LORIMER@SMS.ED.AC.UK><BR>Subject: [postgis-users] Re: Help with finding multi-variate clusters<BR>To: postgis-users@postgis.refractions.net<BR>Message-ID: <64CBA3C1-5A78-4544-8DAA-7A7D4A840AD3@sms.ed.ac.uk><BR>Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed<BR><BR>Oh,<BR>and regarding the use of R, I think that is a stellar idea but I need <BR>to stay within the GeoServer/GeoTools2 domain so that I can make my <BR>WFS
 request client-side using GeoTools2 and then have GerServer <BR>handle said request and do the magic dance with PostGIS to get back <BR>my data. If there is a way to do this with R, that might work. I'll <BR>look into it now, but ideally, I'd like to stick to a pure PostGIS <BR>solution and use GT filters to form the WFS request.<BR>Cheers.<BR><BR><BR><BR>On Jul 12, 2005, at 10:16 PM, Eli Dylan Lorimer wrote:<BR><BR>> Hello PostGIS Folks,<BR>><BR>> I'm trying to leverage the power of the spatial database to help me <BR>> find 3-dimensional clusters in my data. Specifically, in one table <BR>> I have a 2D point field and a timestamp attribute field. I want to <BR>> treat the data from each of these 2 fields as a 3D point (x,y,z) <BR>> and over and entire table, find clusters given a specific tolerance <BR>> (perhaps a mean nearest neighbor). To be honest, I'm not too fussed <BR>> with the clustering algorithm, anything simple will do for now. <BR>> What
 I'd like is to make my query and get in return a result set <BR>> consisting of points defining the center of each of the clusters. I <BR>> want to then draw them client side using Java3D. In any event, I <BR>> figure this is possible with PostGIS but I have no idea where to <BR>> begin looking. Could anyone point me in the right direction (or <BR>> perhaps this functionality already exists and I'm not seeing it in <BR>> the documentation.)<BR>><BR>> I'm very grateful for you help. This is a part of a big Uni project.<BR>><BR>> Cheers.<BR>> ./dylan<BR>><BR><BR><BR><BR>------------------------------<BR><BR>Message: 8<BR>Date: Wed, 13 Jul 2005 09:37:24 -0400<BR>From: Stephen Woodbridge <WOODBRI@SWOODBRIDGE.COM><BR>Subject: Re: [postgis-users] Re: Help with finding multi-variate<BR>clusters<BR>To: PostGIS Users Discussion <POSTGIS-USERS@POSTGIS.REFRACTIONS.NET><BR>Message-ID: <42D51914.1080109@swoodbridge.com><BR>Content-Type: text/plain;
 charset=ISO-8859-1; format=flowed<BR><BR>Hi Eli,<BR><BR>In general, the algorithm you presented is an iterative operation and <BR>SQL operations tend to be set operations. This means that it is likely <BR>that there is not a simple solution to this problem. That said, there is <BR>no reason you can write a pgsql function that does the iterative solution.<BR><BR>I for one would love to see a function like this, as it is part and <BR>parcel of what needs to be done to generate thematic maps.<BR><BR>-Steve W.<BR><BR>Eli Dylan Lorimer wrote:<BR>> Hello,<BR>> <BR>> So I've been trying quasi unsuccessfully to find clusters in my data <BR>> using spatial sql. I think I"m pretty close but I need a tip or <BR>> something to get me past this little hurdle I'm hitting. Basically, <BR>> I've got a simple test table with a 2D Point field in it.<BR>> <BR>> For testing purposes, I've placed the following data in it:<BR>> <BR>> select AsText(point) from
 waypoints_test;<BR>> <BR>> --------------<BR>> POINT(0 0)<BR>> POINT(4 4)<BR>> POINT(5 5)<BR>> POINT(6 6)<BR>> POINT(9 9)<BR>> POINT(10 10)<BR>> <BR>> I want to run whatever magical SQL command I'm seeking to get back the <BR>> following clusters (based on a Euclidean distance of 2)<BR>> <BR>> MULTIPOINT(4 4,5 5,5 5,6 6)<BR>> MULTIPOINT(9 9,10 10)<BR>> (2 rows)<BR>> <BR>> What I've come up with is sort of close but not quite there. Here are <BR>> my attempts:<BR>> <BR>> <BR>> select distinct AsText(a.point) from waypoints_test a, waypoints_test <BR>> b where intersects(buffer(a.point,2), buffer(b.point, 2)) and not <BR>> equals(a.point,b.point) group by a.point;<BR>> astext<BR>> --------------<BR>> POINT(10 10)<BR>> POINT(4 4)<BR>> POINT(5 5)<BR>> POINT(6 6)<BR>> POINT(9 9)<BR>> (5 rows)<BR>> <BR>> select distinct AsText(a.point) from waypoints_test a, waypoints_test <BR>> b where
 distance(a.point,b.point)<2 and not equals (a.point,b.point);<BR>> astext<BR>> --------------<BR>> POINT(10 10)<BR>> POINT(4 4)<BR>> POINT(5 5)<BR>> POINT(6 6)<BR>> POINT(9 9)<BR>> (5 rows)<BR>> <BR>> select AsText(collect(a.point)) from waypoints_test a, waypoints_test <BR>> b where distance(a.point,b.point)<2 and not equals (a.point,b.point);<BR>> ---------------------------------------<BR>> MULTIPOINT(4 4,5 5,5 5,6 6,9 9,10 10)<BR>> <BR>> I cant' seem to figure out how to get the GeomUnion or Collect rows <BR>> back with each row containing my cluster. The basic logistics behind <BR>> finding them is really simple, I just want to pass some tolerance <BR>> (perhaps a mean nearest neighbor value) and then:<BR>> <BR>> For each point in my table<BR>> buffer it by the passed tolerance.<BR>> Find all points in the table that exist in that buffer.<BR>> Buffer them.<BR>> Continue until no points exist within
 the buffer.<BR>> Take Union (or collection) of all points and make that a cluster.<BR>> <BR>> I would really appreciate a tip on how to group the rows being returned <BR>> based on the buffer they appeared in. Or, alternatively, I could use a <BR>> distance function in stead of buffering and find all points that are <BR>> within said distance(tolerance) of each other and union all these <BR>> points together.<BR>> <BR>> Anything will do.<BR>> Thank you in advance.<BR>> <BR>> Cheers,<BR>> ./dylan<BR>> <BR>> <BR>> _______________________________________________<BR>> postgis-users mailing list<BR>> postgis-users@postgis.refractions.net<BR>> http://postgis.refractions.net/mailman/listinfo/postgis-users<BR>> <BR><BR><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><BR><BR>End of postgis-users Digest, Vol 33, Issue 19<BR>*********************************************<BR></BLOCKQUOTE></DIV><p>
                <hr size=1> <a href="http://us.rd.yahoo.com/evt=34442/*http://www.yahoo.com/r/hs">Start your day with Yahoo! - make it your home page </a>