Find the Pole of Inaccessibility (Visual Center) of a Polygon

A wrapper around the C++ library 'polylabel' from 'Mapbox', providing an efficient routine for finding the approximate pole of inaccessibility of a polygon, which usually serves as an excellent candidate for labeling of a polygon.


Travis buildstatus AppVeyor buildstatus Coveragestatus

polylabelr is an R wrapper for the polylabel package from Mapbox. It currently contains a single function, poi() that finds the pole of inaccessibility of a polygon, which usually makes for a good place to put a label on a polygon—hence the name.

Usage

# a concave polygon
x <- c(0, 4, 1, 6, 7, 7, 0, 0)
y <- c(0, 0, 1, 2, 1, 3, 2, 0)
 
# locate the pole of inaccessibility
p <- polylabelr::poi(x, y, precision = 0.01)
 
plot.new()
plot.window(range(x, na.rm = TRUE), range(y, na.rm = TRUE))
polypath(x, y, col = "grey", border = FALSE)
points(p)

Installation

Development version

devtools::install_github("jolars/polylabelr")

Modifications

The source code from polylabel and geometry.hpp has been modified in a few ways to compile properly with c++11 using the standard flags required by CRAN policies. polylabel has also been modified to return the distance from the chosen point to the enclosing polygon, in case it is of value to users.

News

polylabelr 0.1.0

  • First release.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("polylabelr")

0.1.0 by Johan Larsson, 8 months ago


https://github.com/jolars/polylabelr


Report a bug at https://github.com/jolars/polylabelr/issues


Browse source code at https://github.com/cran/polylabelr


Authors: Johan Larsson [aut, cre] , Mapbox [cph] (polylabel , variant , and geometry libraries)


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports Rcpp

Suggests covr, testthat, spelling

Linking to Rcpp


Imported by eulerr.


See at CRAN