[postgis-users] PostGIS 1.3.3 on Windows XP Unstable
Bresnahan, Mike
Mike.Bresnahan at bestbuy.com
Wed Aug 13 10:35:35 PDT 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
> Martin Davis wrote:
> That's what it means, alright. It is invalid to have one polygon
inside
> another one in the same MultiPolygon. (If you post the invalid
geometry
> I can confirm that this is what is happening).
>
> Bottom line is that you need to check for two things:
> - holes which have "flipped" to be outside their parent shell
> - polygons which have flipped to be inside another polygon
Ah ok. That is the problem. Is the fix as simple as calling ST_Union()
on the constituent polygons instead of ST_Collect?
create function ScrubMultiPolygon(input geometry) returns geometry as $$
begin
return (select ST_Union(ScrubPolygon(geom)) from (select
(ST_Dump(input)).geom) as x);
end;
$$ LANGUAGE plpgsql;
This appears to work, but I'm not sure if it is the most efficient
solution.
-----BEGIN PGP SIGNATURE-----
Version: PGP Universal 2.8.3
Charset: us-ascii
wsBVAwUBSKMarB6WPRoYuvd0AQi0uwgAt3KyQEXLBW0lwbdKXdCOn7sx71KMHu8g
vJcmnZ8JAyZQYV1VT/uUsNW4cXBj/iG58Ka9r7IU4mcOQvwSyFB6To4yqb/+39Yf
DuSEVoOTJ5LLtcOfbRlBBrdIwe8oF0tr0Ax5/ZDgjN7+H6bDFVgzzxvg+0arc6ba
080jJOeOaXCOpJOTmU6/F/Yve5qZcMZm37d+4vcEwV370oGzzQvCIDPm5OuQF0kN
wYRmvTyD/3gbvLxXG6SHamDj/psm78EEK961X5KCVDW52VagaW0zdqG6xicNgwOs
qiHgI4xCCRRyWbmITOOLcUgwAthlveYwySskmPT7RywWYIfLiVIRIw==
=Xbcq
-----END PGP SIGNATURE-----
More information about the postgis-users
mailing list