[GRASS-dev] vlib api: is area an isle?

Markus Metz markus.metz.giswork at gmail.com
Tue Mar 26 05:09:43 PDT 2013

On Tue, Mar 26, 2013 at 1:00 PM, Martin Landa <landa.martin at gmail.com> wrote:
> Hi,
> 2013/3/25 Markus Metz <markus.metz.giswork at gmail.com>:
> [...]
>> All areas also form isles. You probably want to skip areas that are
>> part of isles which in turn are inside another area. The easiest way
> I was not precise enough in my question. But you are right. That's
> what I want (concretely for simple feature output defined by
> `v.external.out`).

For simple feature output this is a bit more complicated. The easy
part is to check inner rings of polygons. The more difficult part is
to check if a polygon is inside another polygon. Here you would need
to select all polygons that overlap with the current polygon, then
check if the current polygon is inside any of the overlapping polygons
(the outer ring of the current polygon must be inside the outer ring
of the test polygon and outside any inner rings of the test polygon).

Markus M

>> to find out if an area is part of an isle inside another area is to go
>> through the area's boundaries, get for each boundary the areas on the
>> left and right and check if one of them is an isle. Then use
>> Vect_get_isle_area() and check if this is > 0.
> Thanks, I just wondered if there is more straightforward approach.
> Martin
> --
> Martin Landa <landa.martin gmail.com> * http://geo.fsv.cvut.cz/~landa

More information about the grass-dev mailing list