[postgis-users] PostGIS 1.3.3 on Windows XP Unstable
Bresnahan, Mike
Mike.Bresnahan at bestbuy.com
Wed Aug 13 09:52:29 PDT 2008
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
> Would probably be more efficiently done with
>
> SELECT gid, ST_Collect(ScrubPolygon(geom)) As scrubbedgeom
> FROM
> (SELECT gid, (ST_Dump(the_geom)).geom
> FROM tabletoscrub) As foo
> GROUP By gid ;
>
> The reason being is that ST_GeometryN is quite inefficient when
dealing
> with
> large numbers of geometries. So if you plan to dump out all
geometries
> use
> ST_Dump instead.
Thank you, Regina. That cleaned up the weird nested collections that
were being created and also simplified the function to just this:
create function ScrubMultiPolygon(input geometry) returns geometry as $$
begin
return (select ST_Collect(ScrubPolygon(geom)) from (select
(ST_Dump(input)).geom) as x);
end;
$$ LANGUAGE plpgsql;
> Also would be nice if you posted this to the wiki when you are done.
Sure thing.
I'm almost there. The function works beautifully except on a few
geometries. These geometries produce messages like the following when I
call ST_IsValid:
NOTICE: Nested shells at or near point -76.554 38.8815
I'm not sure what "nested shell" means. At first thought it says to me
that one external polygon is contained inside another external polygon,
but isn't that legal?
-----BEGIN PGP SIGNATURE-----
Version: PGP Universal 2.8.3
Charset: us-ascii
wsBVAwUBSKMRFR6WPRoYuvd0AQhDfAf8CjiGu2gup9dSdmqqrFhlffMm7/k1OGg4
Y0wutlOJZO9jpCfTEVv7BvcAi2k2j7y6UFI165qHrCIAAAmhv3Qt02T4m5qY0lqV
bMf38uYXt6dLRiWTKTdfqGMZ8OSqctKmOTzxwQxOkDmIOOS7mmaZ9hix8yAjuZU1
2QFaN9gyfmhA4Tn2mbLmnZicPmnDiXeMH1k7bPgwUEUp3GzNW9PngOciQiQPa5vc
mCo1P1zq/pN0lFinf8UZBMzDAautn08upMCA3ckQInJGEhmDKxpb3LqQVkx3GZXl
IIWzgF59g6Pw+emUd5nGzkTZ2HEa7xl5I4Cs/8TJh0N8uJCgQYo5gQ==
=dJDS
-----END PGP SIGNATURE-----
More information about the postgis-users
mailing list