On 13 August 2011 19:30, James Tippett <[email protected]> wrote: > Hello all, > > As a total n00b I have been trying to get my head around a number of postgis > issues, and also troubleshoot some early stage failures I seem to be running > across. > > I would be delighted if someone could tell me what I am doing wrong here: > >> SELECT name, ST_AsEWKT(the_geom), ST_AsEWKT(ST_SnapToGrid(the_geom, 360.0)) >> FROM "countries" WHERE "countries"."gid" = 1 LIMIT 1 >>> "Aruba";"MULTIPOLYGON(((-69.8991387600357 >>> 12.4520051131644,-69.8956764390721 12.4230146346486,-69.9421593899187 >>> 12.4385175643362,-70.0041452704528 12.5005034448703,-70.0661311509868 >>> 12.5469863957168,-70.0508607652446 12.5970866968238,-70.0351252916118 >>> 12.614114081264,-69.9731394110777 12.5676311304174,-69.9117994859472 >>> 12.4804788273572,-69.8991387600357 12.4520051131644)))";"GEOMETRYCOLLECTION >>> EMPTY" > > I had thought to be doing something different here; I wanted to reduce the > number of points to unique points on a 360*360 grid. "GEOMETRYCOLLECTION > EMPTY" is unexpected. > > Can someone please point out where I have gone stupidly wrong? > > thanks, > > James
Hi James,
The second argument of st_snapToGrid is the size of one unit of the grid.
You are snapping input points to a grid with cell dimensions equal to
360 units (degree in your case). Thus leading to a invalid polygon,
with no points.
Even a 1 degree snapping seems to be too strong for your data:
select astext(st_snapToGRid(
'MULTIPOLYGON(((-69.8991387600357 12.4520051131644,-69.8956764390721
12.4230146346486,-69.9421593899187 12.4385175643362,-70.0041452704528
12.5005034448703,-70.0661311509868 12.5469863957168,-70.0508607652446
12.5970866968238,-70.0351252916118 12.614114081264,-69.9731394110777
12.5676311304174,-69.9117994859472
12.4804788273572,-69.8991387600357 12.4520051131644)))'::geometry,
1));
astext
--------------------------
GEOMETRYCOLLECTION EMPTY
(1 ligne)
What exactly do you want to do with your data ?
By reducing too much the coordinates precision, geometries are really
"rough" (see picture 1: input polygon snapped to a 0.1 degree grid).
You may want to try st_simplifyPreserveTopology if you want to remove
some points from the input dataset.
Nicolas
<<attachment: Screen shot 2011-08-14 at 2.05.24 PM.png>>
_______________________________________________ postgis-users mailing list [email protected] http://postgis.refractions.net/mailman/listinfo/postgis-users
