sample_JamPolygon: Sample points within JamPolygon

sample_JamPolygonR Documentation

Sample points within JamPolygon

Description

Sample points within JamPolygon

Usage

sample_JamPolygon(
  jp,
  n = 100,
  xyratio = 1.1,
  spread = FALSE,
  pattern = c("offset", "rectangle"),
  buffer = 0,
  byCols = c("-y", "x"),
  do_plot = FALSE,
  verbose = FALSE,
  ...
)

Arguments

jp

JamPolygon

n

integer number of points required

xyratio

numeric adjustment for the x/y ratio, numbers larger than 1 make the x-axis spacing larger than the y-axis spacing.

spread

logical when more then n points can be fit inside jp, spread=TRUE spreads the points evenly across the available points, while spread=FALSE only takes the first n points.

byCols

character passed to jamba::mixedSortDF() to determine how to sort the resulting coordinates. Default byCols=c("-y", "x") sorts top-to-bottom, then left-to-right.

do_plot

logical indicating whether to create a plot to illustrate the process.

verbose

logical indicating whether to print verbose output.

...

additional arguments are ignored.

Details

This function arrays points across solid portions of polygons provided in jp.

Todo:

  1. Enable polygon buffer to guarantee minimum spacing from borders.

  2. Allow different spatial patterns, currently square or rectangular. In future, consider hexagonal, diamond, or diagonal.

See Also

Other JamPolygon: JamPolygon-class, Venndir-class, add_orientation_JamPolygon(), area_JamPolygon(), bbox_JamPolygon(), buffer_JamPolygon(), check_JamPolygon(), check_Venndir(), eulerr_to_JamPolygon(), farthest_point_JamPolygon(), find_venn_overlaps_JamPolygon(), has_point_in_JamPolygon(), intersect_JamPolygon(), label_fill_JamPolygon(), label_outside_JamPolygon(), label_segment_JamPolygon(), labelr_JamPolygon(), minus_JamPolygon(), nearest_point_JamPolygon(), plot,JamPolygon,missing-method, plot.JamPolygon(), point_in_JamPolygon(), polyclip_to_JamPolygon(), split_JamPolygon(), union_JamPolygon(), update_JamPolygon()

Examples

df3 <- data.frame(name=c("polygon1", "polygon2"),
   label=c("polygon1", "polygon2"),
   x=I(list(
      list(c(1, 6, 6, 1),
         c(2, 5, 5, 2),
         c(3, 4, 4, 3)),
      list(#c(11, 16, 16, 11),
         c(12, 15, 15, 12),
         c(13, 14, 14, 13))
      )),
   y=I(list(
      list(c(1, 1, 6, 6),
         c(2, 2, 5, 5),
         c(3, 3, 4, 4)),
      list(#c(1, 1, 6, 6),
         c(2, 2, 5, 5),
         c(3, 3, 4, 4))
      )),
   fill=c("gold", "firebrick"))
jp3 <- new("JamPolygon", polygons=df3);

sample_JamPolygon(jp3[1,], n=40, do_plot=TRUE)
sample_JamPolygon(jp3[1,], n=80, do_plot=TRUE)

sample_JamPolygon(jp3[1,], n=40, xyratio=1.5, do_plot=TRUE)

sample_JamPolygon(jp3[1,], n=40, xyratio=1/1.5, do_plot=TRUE)


jmw86069/venndir documentation built on June 15, 2024, 1:52 p.m.