[postgis-users] UNION

Kevin Neufeld kneufeld at refractions.net
Wed Sep 19 08:45:50 PDT 2007


Regina,

Looking at the code, it appears
- the aggregate ST_Polygonize() was added in version 1.2.2,
- the aggregate Polygonize() was deprecated in version 1.2.3

It also looks like this deprecation is nothing more than a change of the 
prototype.  The original code was introduced in 1.0.0.

Cheers,
Kevin

-------------
Kevin Neufeld
Software Developer
Refractions Research Inc.
300-1207 Douglas St.
Victoria, B.C., V8W 2E7

Phone: (250) 383-3022
Email: kneufeld at refractions.net



Obe, Regina wrote:
> Kevin,
>  
>  When was st_polygonize introduced? The docs say it was introduced in 
> 1.0.0 RC1?  I see it in my newere 1.3 databases.  I don't see it in my 
> 1.2.1 corrupted upgrade to 1.3.  I suspect this is because of the long 
> standing issue of the bug in upgrading aggregates with soft 
> upgrade and I have had a db that has existed pre 1.0 and I forget the 
> last time I did a complete upgrade on it. 
>  
> Thanks,
> Regina
>  
>  
>
> ------------------------------------------------------------------------
> *From:* postgis-users-bounces at postgis.refractions.net 
> [mailto:postgis-users-bounces at postgis.refractions.net] *On Behalf Of 
> *Kevin Neufeld
> *Sent:* Tuesday, September 18, 2007 3:43 PM
> *To:* PostGIS Users Discussion
> *Subject:* Re: [postgis-users] UNION
>
> It sounds like you are after performing an overlay operation on two 
> polygonal datasets.
>
> I would do something like:
> - extract all lines from your polygons
> - node the linework
> - re-polygonize the noded lines
> - transfer attributes from the original dataset to the newly formed 
> polygons.
>
> http://postgis.refractions.net/support/wiki/index.php?ExamplesOverlayTables
>
> Hope this helps,
> Kevin
> -------------
> Kevin Neufeld
> Software Developer
> Refractions Research Inc.
> 300-1207 Douglas St.
> Victoria, B.C., V8W 2E7
>
> Phone: (250) 383-3022
> Email: kneufeld at refractions.net
>
>
> RAVI KUMAR wrote:
>> Hi,
>> a and b, are multiple tables derived from -2- shape files saved as 
>> POST-GIS data.
>> Slide 1:
>> 'a' this data as in the slide show has attributes, This is a square 
>> with polygons.
>> 'b' as in the slide show is made up of 2 polygons with attributes 
>> which overlap 'a'.
>>
>> Slide 2: a and b are in  UNION with the syntax below. But this is not 
>> the desired result. There are polygons overlapping other polygons, 
>> one below the other.
>>
>> Slide 3:
>> 'abc' is a union of a and b, with desired  result
>>
>> My further analysis with post GIS awaits HELP.
>>
>> Cheers
>> Ravi Kumar
>>
>> */"Obe, Regina" <robe.dnd at cityofboston.gov>/* wrote:
>>
>>     Ravi,
>>      
>>     Is the graphic one record or multiple records?  If multiple
>>     records - I'm afraid you may be asking 2 conflicting questions
>>     depending on your dataset so I'm not sure there is anything that
>>     can remedy that aside from treating them as two separate questions.
>>      
>>     I'm also afraid you are getting into territory I'm very weak. 
>>     You may want to investigate use of st_boundary (which will give
>>     you a multilinestring  of a polygon/multipolygon boundary and
>>     then apply buildarea to that).
>>      
>>     The below should get rid of some redundant overlapping polygons,
>>     but probably won't completely satisfy what you want to do.  I'm
>>     also thinking you may want to be using intersection instead of
>>     geomunion for the inner part.  But again depends what you are
>>     trying to answer.
>>      
>>      
>>     INSERT INTO abc(code, info, the_geom)
>>     SELECT newtb.code,  newtb.info
>>     <http://newtb.info/>, multi(buffer(geomunion(distinct
>>     newtb.cgeom), 0.0)) as thenewgeom
>>     FROM
>>     (  SELECT a.code, b.info
>>     <http://b.info/>, *intersection*(a.geometry, b.geometry) as cgeom
>>         FROM a
>>             INNER JOIN b ON a.geometry && b.geometry AND
>>     intersects(a.geometry, b.geometry)
>>         UNION ALL
>>         SELECT a.code, null As info, a.geometry as cgeom
>>         FROM a
>>             LEFT JOIN b ON a.geometry && b.geometry AND
>>     intersects(a.geometry, b.geometry)
>>             WHERE b.geometry IS NULL
>>         UNION ALL
>>         SELECT null as code, b.info <http://b.info/>, b.geometry as cgeom
>>                 FROM b LEFT JOIN a ON a.geometry && b.geometry AND
>>     intersects(a.geometry, b.geometry)
>>                WHERE a.geometry IS NULL
>>     )  AS newtb
>>     GROUP BY newtb.code, newtb.info <http://newtb.info/>
>>      
>>      
>>     Hope that helps,
>>     Regina
>>
>>     ------------------------------------------------------------------------
>>     *From:* postgis-users-bounces at postgis.refractions.net
>>     [mailto:postgis-users-bounces at postgis.refractions.net] *On Behalf
>>     Of *RAVI KUMAR
>>     *Sent:* Monday, September 17, 2007 9:04 AM
>>     *To:* postgis
>>     *Subject:* [postgis-users] UNION
>>
>>     Hi Regina,
>>     giving the link to show actual how the UNION of polygons is not
>>     working as per expectation.
>>     Please see the clips in the link.
>>      
>>     CREATE TABLE abc(code smallint, info smallint) with oids;
>>     SELECT AddGeometryColumn('public', 'abc', 'the_geom', 4326,
>>     'MULTIPOLYGON', 2);
>>      
>>     --The insert
>>      
>>     INSERT INTO abc(code, info, the_geom)
>>     SELECT newtb.code,  newtb.info <http://newtb.info/>,
>>     geomunion(newtb.cgeom) as thenewgeom
>>     FROM
>>     (  SELECT a.code, b.info <http://b.info/>,
>>     geomunion(a.geometry, b.geometry) as cgeom
>>         FROM a
>>             INNER JOIN b ON a.geometry && b.geometry AND
>>     intersects(a.geometry, b.geometry)
>>         UNION ALL
>>         SELECT a.code, null As info, a.geometry as cgeom
>>         FROM a
>>             LEFT JOIN b ON a.geometry && b.geometry AND
>>     intersects(a.geometry, b.geometry)
>>             WHERE b.geometry IS NULL
>>         UNION ALL
>>         SELECT null as code, b.info <http://b.info/>, b.geometry as cgeom
>>                 FROM b LEFT JOIN a ON a.geometry && b.geometry AND
>>     intersects(a.geometry, b.geometry)
>>                WHERE a.geometry IS NULL
>>     )  AS newtb
>>     GROUP BY newtb.code, newtb.info <http://newtb.info/>
>>      
>>     May be I should be using different syntax for such a result.
>>      
>>      
>>     http://www.kodakgallery.com/I.jsp?c=cjns10h3.8ovw4dsn&x=0&y=w3kbw0
>>     <http://www.kodakgallery.com/I.jsp?c=cjns10h3.8ovw4dsn&x=0&y=w3kbw0>
>>      
>>     Ravi Kumar
>>     ------------------------------------------------------------------------
>>     Catch up on fall's hot new shows
>>     <http://us.rd.yahoo.com/tv/mail/tagline/falltv/evt=47093/*http://tv.yahoo.com/collections/3658%20>
>>     on Yahoo! TV. Watch previews, get listings, and more!
>>     ------------------------------------------------------------------------
>>     *The substance of this message, including any attachments, may be
>>     confidential, legally privileged and/or exempt from disclosure
>>     pursuant to Massachusetts law. It is intended solely for the
>>     addressee. If you received this in error, please contact the
>>     sender and delete the material from any computer. *
>>     _______________________________________________
>>     postgis-users mailing list
>>     postgis-users at postgis.refractions.net
>>     http://postgis.refractions.net/mailman/listinfo/postgis-users
>>
>>
>> ------------------------------------------------------------------------
>> Need a vacation? Get great deals to amazing places 
>> <http://us.rd.yahoo.com/evt=48256/*http://travel.yahoo.com/;_ylc=X3oDMTFhN2hucjlpBF9TAzk3NDA3NTg5BHBvcwM1BHNlYwNncm91cHMEc2xrA2VtYWlsLW5jbQ-->on 
>> Yahoo! Travel.
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> postgis-users mailing list
>> postgis-users at postgis.refractions.net
>> http://postgis.refractions.net/mailman/listinfo/postgis-users
>>   
> ------------------------------------------------------------------------
>
> *The substance of this message, including any attachments, may be 
> confidential, legally privileged and/or exempt from disclosure 
> pursuant to Massachusetts law. It is intended solely for the 
> addressee. If you received this in error, please contact the sender 
> and delete the material from any computer. *
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
>   



More information about the postgis-users mailing list