I have a PostGIS algorithm that writes a table with "pixelated" polygons, that I will call "clusters".
My idea is to smooth the edges of these clusters using concave hulls (ST_ConcaveHull). To do that, I will have to decompose the current edges into their points (using ST_DumpPoints?) and collect them again (ST_Collect?) in order to send them to the concave hull function. My difficulty is how to produce a query, that in one go can perform these operations, and make sure that the concave hull constructor is called as many times as the clusters, having as argument the collection of points for each cluster.
Something like this:
SELECT ST_Concave_Hull(st_collect((st_dumppoints(geom)).geom),0.8) from exploded group by (st_dumppoints(geom)).geom;
But it's returning this error:
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
Any ideas? :-(