diff --git a/src/pg/sql/09_voronoi.sql b/src/pg/sql/09_voronoi.sql index eb5921b..361525c 100644 --- a/src/pg/sql/09_voronoi.sql +++ b/src/pg/sql/09_voronoi.sql @@ -145,16 +145,26 @@ BEGIN SELECT (st_dump(v.g)).geom as g FROM voro_cells v + ), + clipped_voro as( + SELECT + ST_intersection(c.g, v.g) as g + FROM + voro_set v, + clipper c + WHERE + ST_GeometryType(v.g) = 'ST_Polygon' ) SELECT st_collect( - ST_Transform(ST_intersection(c.g, v.g), 4326) + ST_Transform( + ST_ConvexHull(g), + 4326 + ) ) INTO geomout FROM - voro_set v, - clipper c - WHERE ST_GeometryType(v.g) = 'ST_Polygon'; + clipped_voro; RETURN geomout; END; $$ language plpgsql IMMUTABLE;