[postgis-users] ST_Simplify(TopoGeometry) doesn't simplify hierarchical topogeoms

Sandro Santilli strk at keybit.net
Thu Nov 21 05:23:52 PST 2013


On Thu, Nov 21, 2013 at 10:39:52AM +0000, Duncan McPherson wrote:
> When I try to run the topogeom version of ST_Simplify() on a topogeomery layer that is a parent layer I get the following error:
> 
> ERROR:  function topology.st_simplify(topogeometry) does not exist
> LINE 1: SELECT st_multi(st_union(topology.ST_Simplify(topogeom))) as...
>                                  ^
> HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
> QUERY:  SELECT st_multi(st_union(topology.ST_Simplify(topogeom))) as geom FROM public.alsace, alsace_topo.relation pr WHERE  pr.topogeo_id = 2 AND  pr.layer_id = 2 AND  id(topogeom) = pr.element_id  AND layer_id(topogeom) = pr.element_type 
> CONTEXT:  PL/pgSQL function st_simplify(topogeometry,double precision) line 59 at EXECUTE statement

[...]

>  I think what the error says is that the function is calling another function that doesn't exist (ST_Simplify(topogeom)). Is it supposed to be calling the function ST_Simplify(topogeom, double) instead? What would be the best way to fix this?

Oops, good catch !
The best way is to:

 1. File a ticket
 2. Add a testcase in topology/test/regress/st_simplify*
 3. Fix it in topology/sql/topogeometry/simplify.sql.in

Please do at least 1. It'll be great if you could also go on
with steps 2. and 3. :)

--strk;

 ()  ASCII ribbon campaign        - against html e-mail
 /\  http://www.asciiribbon.org   - against proprietary attachments


More information about the postgis-users mailing list