[geos-devel] RE: [GEOS] #468: Geometry breaks valid() and buffer(): "Assertion failed: (0), function query, file AbstractSTRtree.cpp, line 286"

Christopher DeMars chdemars at ucdavis.edu
Thu Aug 18 18:44:49 EDT 2011


Since the ticket upload function is limited to 256Kb, I thought I
would try to send an example file via this list.

Attached is water1.wkb, a multipolygon that fubars GEOS buffer or
valid functions. I can supply water2 and/or either file as wkt.

Thank you for any help you can offer,
--Christopher


---------- Forwarded message ----------
From: GEOS <geos-trac at osgeo.org>
Date: Thu, Aug 18, 2011 at 3:08 PM
Subject: [GEOS] #468: Geometry breaks valid() and buffer(): "Assertion
failed: (0), function query, file AbstractSTRtree.cpp, line 286"
To:


#468: Geometry breaks valid() and buffer(): "Assertion failed: (0), function
query, file AbstractSTRtree.cpp, line 286"
------------------------+---------------------------------------------------
 Reporter:  chdemars    |       Owner:  strk
    Type:  defect      |      Status:  new
 Priority:  major       |   Milestone:  3.3.1
Component:  Core        |     Version:  3.3.0
 Severity:  Unassigned  |    Keywords:
------------------------+---------------------------------------------------
 GEOS is pretty far down in the software stack I'm using, but it looks like
 my program stopping error lies there.

 Software being used:
 geos-config --version 3.3.0
 I'm using GeoDjango and PostGIS on top of GEOS with development taking
 place on Mac OSX

 Geometry source:
 original source is:
 http://www.water.ca.gov/landwateruse/docs/landusedata/shapes/04bu.zip

 After loading that (and the other DWR land use files) into my
 PostGIS/GeoDjango database I extracted all the water features using:
 water = DWRlanduse.objects.filter(class1__contains='NW',
 survey_area__contains='BUTTE COUNTY').collect()

 I have attached the wkb and wkt output of the above with water1 using
 .unionagg() and water2 using .collect() to produce a MultiPolygon and
 GeometryCollection respectively. Both produce failure.

 If I try to use .buffer() or .valid() functions on either water1 or water2
 I get the same failure:
 Assertion failed: (0), function query, file AbstractSTRtree.cpp, line 286
 which says one of the 'childBoundables' is of an unsupported type.
 Functions like area or centroid work fine.

 I would like to know if the error is a problem with GEOS and/or a problem
 with the geometry. Regardless of the source of error, I would also like to
 know how to go about fixing it.

 Thank you for your time and efforts,
 --Christopher

--
Ticket URL: <http://trac.osgeo.org/geos/ticket/468>
GEOS <http://geos.refractions.net/>
GEOS (Geometry Engine - Open Source) is a C++ port of the Java
Topology Suite (JTS).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: water1.wkb
Type: application/octet-stream
Size: 1628419 bytes
Desc: not available
Url : http://lists.osgeo.org/pipermail/geos-devel/attachments/20110818/f8a39397/water1-0001.obj


More information about the geos-devel mailing list