[postgis-users] Extract nodes in a Polygon Mosaic (Topology)

Carl Anderson carl.anderson at vadose.org
Tue Oct 16 17:39:44 PDT 2007

You don't need to build topology.

Have you tried something like:

select intersection(intersection (a.shape,b.shape),c.shape) , a.taxpin, 
b.taxpin, c.taxpin
  from tax.parcel a, tax.parcel b, tax.parcel c
    a.taxpin != b.taxpin and
    a.taxpin != b.taxpin and
    st_dwithin(a.shape,b.shape,0) and
    st_dwithin(c.shape,intersection (a.shape,b.shape),0)

In human terms
   find the intersection of a tax parcel with the intersection of two 
other parcels that share an edge (they have an intersection)
The intersection of an edge (line) and a no overlapping polygon would be 
a point.

If your table has overlapping polygons this will return a slightly 
different result.

You can order or group the results by
    astext(intersection(intersection (a.shape,b.shape),c.shape))

To find nodes with more than three members.


Andreas Neumann wrote:
> Hello all,
> I have a polygon mosaic (lets say administrative units, municipalities)
> and would like to get a list of nodes where 3 or more polygons meet or 2
> polygons depart at the edge of the mosaic. Is there any straight forward
> way to extract these nodes?
> I have read about topology support in Postgis and found this:
> http://postgis.refractions.net/support/wiki/index.php?PostgisTopology -
> whats the state of this project?
> Thanks for any hints on my two questions.
> Andreas

More information about the postgis-users mailing list