Subject: [ggl] "touches" in boost.geometry?
From: Mateusz Åoskot (mateusz)
Date: 2011-10-19 20:25:58
On 19 October 2011 23:15, Adam Wulkiewicz <adam.wulkiewicz_at_[hidden]> wrote:
> Mateusz Loskot wrote:
>> On 09/10/11 21:30, Adam Wulkiewicz wrote:
>>> Barend Gehrels wrote:
>>>> Hi Aleksandar,
>>>> The touches algorithm is planned but not included, also not in the
>>>> extensions. I once started it and today looked at it, but it is not
>>>> suitable for inclusion yet. However it is on the list.
>>>> As far as I know it cannot be done by using existing algorithms.
>>> Hi Barand,
>>> Please add to the todo list an algorithm checking if geometries
>>> intersects but not taking boundries into account (intersects()&&
>> It's imprecise, though it may be understood as self-contradicting.
>> touches(A, B) is true if and only if
>> intersect(interior(A), interior(B)) is empty
>> intersect(boundary(A), boundary(B)) is non-empty
>> I think in terms of the DE-9IM and I believe it's a good
>> idea to consider or DE-9IM ?as basis of all the geometric
>> relation predicates. It's a generic technique.
> It would definietly increase expressiveness of GGL. I feel lack of some
> functions describing relations between geometires. In terms of geometries
> which are interiors+boundires there is no touches()/meets() and this
> intersects_without_boundry() i mentioned earlier. And in terms of boundries
> we have only overlaps().
> It would be nice if default versions of algorithms worked on geometries
> (interiors+boundries) and there would be additional wrappers to pass
> specific parts of the geometry.
> But is it possible with current design of GGL Barend?
Yes, I'd let Barend to answer/decide as it's quite substantial issue
for overall library.
There could be an utility that calculates the intersection matrix for
And a generic relate(A, B) predicate resulting in the intersection
-- Mateusz Loskot, http://mateusz.loskot.net Charter Member of OSGeo, http://osgeo.org Member of ACCU, http://accu.org
Geometry list run by mateusz at loskot.net