Boost logo

Geometry :

Subject: [geometry] Spikes and area
From: Volker Schöch (vschoech_at_[hidden])
Date: 2014-04-09 10:25:40

Please correct me if I'm wrong:

- Any (multi-)polygon that only consists of spikes has area 0 (zero).

- Any (multi-)polygon that has area 0 (zero) and does not have any inside-out or self-intersecting polygons, is either empty or consists of only spikes.

As far as I understand, the algorithms in boost::geometry require that input polygons do not contain spikes, and the results of these algorithms can be assumed to not contain spikes either. What's the definition of a spike? This seems to imply that as long as I only deal with positive-area multi-polygons, zero area should be equivalent to a completely empty multi-polygon.

Interestingly, boost::geometry::remove_spikes( "MULTIPOLYGON(((4287 2160,5984 2160)))" ) does not modify the input at all, and this is an example of a non-empty, zero-area multi-polygon that does not seem to contain spikes (b/c remove_spikes does not change a thing). What am I missing?

Thank you,

P.S. Boost 1.55.0, my polygons are oriented counter-clockwise, open and based on int.

Volker Schöch | vschoech_at_[hidden]<mailto:vschoech_at_[hidden]>
Senior Software Engineer
We are looking for C++ Developers:
think-cell Software GmbH>
Chausseestr. 8/E        phone / fax     +49 30 666473-10 / -19
10115 Berlin, Germany   US phone / fax  +1 800 891 8091 / +1 212 504 3039
Amtsgericht Berlin-Charlottenburg, HRB 85229 | European Union VAT Id DE813474306
Directors: Dr. Markus Hannebauer, Dr. Arno Schödl

Geometry list run by mateusz at