vignette("polyCub")
now uses the lightweight"knitr::knitr"
engine rather than"knitr::rmarkdown"
.
-
polyCub.exact.Gauss()
is defunct. It may be resurrected in future versions, using a reliable replacement forgpclib::tristrip()
(#2). -
Removed remaining references to archived packages gpclib and rgeos.
-
polyCub now requires R >= 3.2.0.
- Accommodate CRAN checks with
_R_CHECK_DEPENDS_ONLY_=true
.
-
Support
"(MULTI)POLYGON"
geometries from package sf as integration domains (#3). Since these classes do not strictly enforce a particular ring direction, the vertex order is checked when the polygon coordinates are extracted for cubature. Thus, sf polygons are a less efficient choice for polyCub input than polygons from sp or spatstat.geom. Note that"POLYGON"
objects were already accepted in previous versions of polyCub but this was undocumented and didn't check the vertex order. -
The suggested package spatstat was split into several packages. Package polyCub now only suggests spatstat.geom (to handle
"owin"
polygons).
-
Added a getting started
vignette("polyCub")
(suggested by @wrathematics in openjournals/joss-reviews#1056). -
Fix minor compiler warning about missing
types
field inR_CMethodDef
(@wrathematics, #1).
-
Package polyCub no longer attaches package sp (moved from "Depends" to "Imports").
-
The R code of the examples is no longer installed by default. Use the
--example
flag of R CMD INSTALL to achieve that. -
The README now exemplifies the four different cubature rules.
-
The exported C-function
polyCub_iso()
...-
did not handle its
stop_on_error
argument correctly (it would always stop on error). -
now detects non-finite
intrfr
function values and gives an informative error message (rather than just reporting "abnormal termination of integration routine").
-
-
Package polyCub no longer strictly depends on package spatstat. It is only required for
polyCub.midpoint()
and for polygon input of class"owin"
.
-
Added full C-implementation of
polyCub.iso()
, which is exposed as"polyCub_iso"
for use by other R packages (notably future versions of surveillance) viaLinkingTo: polyCub
and#include <polyCubAPI.h>
. -
Accommodate CRAN checks: add missing import from graphics, register native routines and disable symbol search
-
polyCub.midpoint()
works directly with input polygons of classes"gpc.poly"
and"SpatialPolygons"
, since package polyCub now registers correspondingas.owin
-methods. -
polyCub.exact.Gauss()
did not work if thetristrip
of the transformed input polygon contained degenerate triangles (spotted by Ignacio Quintero). -
Line integration in
polyCub.iso()
could break due to division by zero if thecenter
point was part of the polygon boundary.
-
Nodes and weights for
polyCub.SV()
were only cached up tonGQ=59
, not 60 as announced in version 0.5-0. Fixed that which also makes examples truly run without statmod. -
In
polyCub.SV()
, the new special settingf=NULL
means to only compute nodes and weights. -
Internal changes to the
"gpc.poly"
converters to accommodate spatstat 1.39-0.
-
polyCub.SV()
gained an argumentengine
to choose among available implementations. The new and faster C-implementation is the default. There should not be any numerical differences in the result of the cubature. -
Package statmod is no longer strictly required (imported). Nodes and weights for Gauss-Legendre quadrature in
polyCub.SV()
are now cached in the polyCub package up tonGQ=60
. statmod::gauss.quad
is only queried for a higher number of nodes.
-
polyCub.iso()
...-
could not handle additional arguments for
integrate()
given in thecontrol
list. -
now applies the
control
arguments also to the numerical approximation ofintrfr
.
-
-
The
checkintrfr()
function is exported and documented. -
Added a CITATION file.
-
plotpolyf()
...-
gained an additional argument
print.args
, an optional list of arguments passed toprint.trellis()
ifuse.lattice=TRUE
. -
passed a data frame of coordinates to
f
instead of a matrix as documented.
-
- This version solely fixes a missing NAMESPACE import to make package polyCub again compatible with older versions of spatstat (< 1.33-0).
-
rgeos (and therefore the GEOS library) is no longer strictly required (moved from "Imports" to "Suggests").
-
Added
coerce
-methods from"Polygons"
(or"SpatialPolygons"
or"Polygon"
) to"owin"
(as(..., "owin")
). -
S4-style
coerce
-methods between"gpc.poly"
and"Polygons"
/"owin"
have been removed from the package (since we no longer import the formal class"gpc.poly"
from gpclib or rgeos). However, there are two new functionsgpc2owin
andowin2gpc
similar to those dropped from spatstat since version 1.34-0. -
Moved
discpoly()
back to surveillance since it is only used there. -
The latter two changes cause surveillance version 1.6-0 to be incompatible with this new version of polyCub. Appropriate modifications have been made in the new version 1.7-0 of surveillance.
-
thorough optimization of
polyCub.SV()
-related code resulted in about 27% speed-up:-
use
mapply()
instead of afor
-loop -
avoid
cbind()
-
use
tcrossprod()
-
less object copying
-
-
xylist()
is now exported. It simply extracts polygon coordinates from various spatial classes (with same unifying intention asxy.coords()
). -
A
polyregion
of class"SpatialPolygons"
of length more than 1 now works inpolyCub
-methods. -
Use aspect ratio of 1 in
plotpolyf()
.
- This version solely fixes a few typos and a technical note from
R CMD check
in the current R development version (also import packages into the NAMESPACE which are listed in the "Depends" field).
-
New cubature method
polyCub.iso()
specific to isotropic functions (thanks to Emil Hedevang for the basic idea). -
New function
plotpolyf()
to plot a polygonal domain on top of an image of a bivariate function. -
The package now depends on R >= 2.15.0 (for
.rowSums()
). -
The package no longer registers
"owin"
as an S4-class since we depend on the sp package which does the job. This avoids a spurious warning (in.simpleDuplicateClass()
) upon package installation. -
In
discpoly()
, the argumentr
has been renamed toradius
. This is backward compatible by partial argument matching in old code.
-
This is the initial version of the polyCub package mainly built on functions previously maintained within the surveillance package. These methods for cubature of polygonal domains have been outsourced into this separate polyCub package since they are of general use for other packages as well.
-
The polyCub package has more documentation and tests, avoids the use of gpclib as far as possible (using rgeos instead), and solves a compatibility issue with package maptools (use
setClass("owin")
instead ofsetOldClass("owin")
).