Randall, Eric wrote:
Hi all,
I'm trying to figure out how to explode a set of polygons to display
them with space between. In my case they are municipal boundary
polys but could be anything. So far the only approach I can think of
is using translate such that:
select st_translate(st_translate(poly, -x(st_centroid(poly)),
-y(st_centroid(poly))),x(p2) + (x(p2)- x(p1)), y(p2) + (y(p2) -
y(p1))) from (select st_centroid(st_collect(geom))as p1 from
mypolytable) as s1, (select st_centroid(geom) as p2, geom as poly
from mypolytable) as s2
The problem with this is that small polys (Boroughs, etc) relative
larger ones often don't get their own space until a large enough
multiplier is applied, i.e. x(p2) + (x(p2)- x(p1))*5, y(p2) +
(y(p2) - y(p1))*5 , but then there is too much space around the
larger polys.
Anyone have a suggestion or done this another way? Thanks.
think i'm gonna splode...,
I'm not sure if it will work, but have you tried doing a buffer with a
negative distance.
select st_buffer(the_geom, -100) from table;
where -100 is whatever distance you want the edge to be retracted. This
would be in the units of the table.
-Steve
_______________________________________________
postgis-users mailing list
[email protected]
http://postgis.refractions.net/mailman/listinfo/postgis-users