[postgis-devel] ForceRHR doesn't?
mike at fuhr.org
Sat Mar 11 23:12:10 PST 2006
On Sat, Mar 11, 2006 at 09:58:10PM -0800, Paul Ramsey wrote:
> It is not clear that there is a function that actually enforces RHR
> in lwgeom... I know there is supposed to be one in GEOS, but I don't
> see it getting called anywhere.
lwpoly_forceRHR() in lwpoly.c looks like it's trying to return a
RHR polygon, doesn't it? That function isn't called from anywhere;
that's what I made lwgeom_forceRHR() call in lieu of lwpoly_reverse().
I'm still wondering if the ptarray_isccw() function that lwpoly_forceRHR()
calls has its return values backwards.
Given a properly working ForceRHR(), you could enforce RHR on a
column with a constraint like the following, no?
ALTER TABLE foo ADD CONSTRAINT geom_rhr CHECK (geom ~= ForceRHR(geom));
Alternatively, you could write a trigger to silently convert the
column to RHR during inserts and updates.
More information about the postgis-devel