[postgis-users] Buffering a multipolygon gives Empty Geometry.
rm_postgis at cheapcomplexdevices.com
rm_postgis at cheapcomplexdevices.com
Thu May 6 12:45:08 PDT 2004
A have a number of valid (acording to isvalid()) geometries that I can't
seem to manipulate with PostGIS. Some give errors (including crashing the
backend), and others give unexpected results such as a buffer of a
multipolygon returning a GEOMETRYCOLLECTION(EMPTY).
Any pointers in to how I can best track down and debug this
kind of problem would be appreciated. I'm currently using
postgresql-7.4.2 and postgis0.8.1. I scanned the mailinglist
for "buffer empty" without too much success.
Thanks in advance,
Ron
Attached are two such examples:
a. This simple (no holes, only one polygon) MULTIPOLYGON
gives an error when I buffer it. isvalid() suggests
that it is a valid geometry, and The "JTS Test Builder"
program happily creates a buffer with no errors. I think
this polygon is cenid=c1452, polyid=11454 from the 2003 TIGER data.
ronmap=# select isvalid(the_geom),buffer(the_geom,0) from
(select GeometryFromText('MULTIPOLYGON (((-120.013013 34.752622,
-120.012962 34.752689, -120.013045 34.753376, -120.012934 34.754314,
-120.012406 34.75484, -120.011658 34.75516, -120.011075 34.755251,
-120.0098 34.755754, -120.009799 34.755869, -120.009993 34.756121,
-120.009938 34.756212, -120.009466 34.756258, -120.009465 34.756647,
-120.009715 34.757173, -120.00966 34.757425, -120.009492 34.757516,
-120.008716 34.757218, -120.008439 34.757287, -120.007634 34.757927,
-120.007273 34.758545, -120.007245 34.759232, -120.007522 34.760033,
-120.007466 34.760468, -120.007216 34.760971, -120.007105 34.761932,
-120.006882 34.762618, -120.005967 34.763762, -120.006216 34.763762,
-120.007271 34.762367, -120.007382 34.761566, -120.007771 34.760834,
-120.008104 34.760468, -120.008992 34.759805, -120.009103 34.759622,
-120.009574 34.759393, -120.009769 34.759118, -120.009937 34.758066,
-120.009854 34.757379, -120.010242 34.756784, -120.011075 34.755915,
-120.011325 34.755435, -120.011574 34.755297, -120.012046 34.755252,
-120.012573 34.754955, -120.012684 34.754772, -120.013128 34.754451,
-120.013183 34.753971, -120.013239 34.753261, -120.013013
34.752622)))',-1) as the_geom
) as a;
ronmap=#
isvalid | buffer
---------+-----------------------------------
t | SRID=-1;GEOMETRYCOLLECTION(EMPTY)
b. This geomunion of 100+ polygons ( Los Padres National Forest, from
the 2003 TIGER data, I believe ) crashes the backend.
ronmap=#
select laname,geomunion(buffer(the_geom,0))
from rtgr_landpoly
join (select * from tmp_interestingland order by totarea desc
limit 1 offset 30) as a
using (land,cfcc,laname)
where area(buffer(the_geom,0))>0 group by laname;
ronmap=# ronmap-# ronmap-# ronmap-# ronmap-# server closed the connection
unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
The connection to the server was lost. Attempting reset: Failed.
!>
!>
!> \q
[25]localhost:~/work/map%
More information about the postgis-users
mailing list