[postgis-devel] [PostGIS] #324: ST_DumpPoints(geom, integer[]) is misnamed

Kevin Neufeld kneufeld at refractions.net
Mon Nov 30 08:51:18 PST 2009


I think you can select just an interior ring if you know the ring's index ...

  SELECT path, ST_AsText(geom)
  FROM (
    SELECT (ST_DumpPoints(g.geom)).*
    FROM
      (SELECT
         'POLYGON (( 3 0, 3 3, 6 3, 6 0, 3 0 ), ( 5 1, 4 2, 5 2, 5 1 ))'::geometry AS geom
      ) AS g
    ) AS j;
  path  | st_astext
-------+------------
  {2,1} | POINT(5 1)
  {2,2} | POINT(4 2)
  {2,3} | POINT(5 2)
  {2,4} | POINT(5 1)
(4 rows)

-- Kevin

PostGIS wrote:
> #324: ST_DumpPoints(geom, integer[]) is misnamed
> ---------------------+------------------------------------------------------
>  Reporter:  robe     |       Owner:  kneufeld     
>      Type:  defect   |      Status:  new          
>  Priority:  medium   |   Milestone:  PostGIS 1.5.0
> Component:  postgis  |     Version:  trunk        
>  Keywords:           |  
> ---------------------+------------------------------------------------------
>  We should either make this function do something cool or rename it to
>  _ST_DumpPoints.
> 
>  The user in me was thinking
>  "Why does this function have no description?  I wonder if the good PostGIS
>  developers just forgot to document it.  I wonder if I can extract the
>  points of an inner ring in a collection of a polygon by doing"
> 
> 
>  {{{
>  SELECT path, ST_AsText(geom)
>  FROM (
>    SELECT (ST_DumpPoints(g.geom,ARRAY[4,2])).*
>    FROM
>      (SELECT
>         'GEOMETRYCOLLECTION(
>            POINT ( 0 1 ),
>            LINESTRING ( 0 3, 3 4 ),
>            POLYGON (( 2 0, 2 3, 0 2, 2 0 )),
>            POLYGON (( 3 0, 3 3, 6 3, 6 0, 3 0 ),
>                     ( 5 1, 4 2, 5 2, 5 1 )),
>            MULTIPOLYGON (
>                    (( 0 5, 0 8, 4 8, 4 5, 0 5 ),
>                     ( 1 6, 3 6, 2 7, 1 6 )),
>                    (( 5 4, 5 8, 6 7, 5 4 ))
>            )
>          )'::geometry AS geom
>      ) AS g
>    ) AS j;
>  }}}
> 
>  To my disappointment -- ehh you can't - its just a  helper function not a
>  navigation function.
> 



More information about the postgis-devel mailing list