[gdal-dev] Ogr: Is an OGR::Geometry::InteriorPoint() method ?
Even Rouault
even.rouault at mines-paris.org
Thu Aug 16 05:09:25 PDT 2012
Selon Benjamin <benjamin.lux at maxsea.fr>:
> Hi,
>
> Is an OGR::Geometry method which compute an interior point exist ?
To my knowledge there is no such method. If you don't have particular
constraints on the point except that it must be at the interior of the polygon,
you could take a random vertex of the boundary, compute the distance D to the
next point, and then compute various points located on a circle centered on that
vertex and of radius D/2 until the IsPointOnSurface() returns TRUE. Not very
efficient, there are likely better methods...
> I have just found a Centroid() method but "The centroid is not necessarily
> within the geometry".
>
> So the centroid of:
> POLYGON ((0 0,0 5, 5 5, 5 4, 1 4, 1 1, 5 1, 5 0, 0 0)) is near to (2 2.5),
> it's within the polygon.
> _____
> | ___|
> | |___
> |_____|
>
> (ASCII fan-art o/)
>
> For example, with JTS (Java Topologie Suite) we can obtain an interior point
> (0.5 2.5).
Do you know the name of the JTS method ? It might also exist in GEOS, the C++
port of JTS that GDAL relies on to do geometry related computations.
More information about the gdal-dev
mailing list