8/29/2023 - CRAN version
- removed 'data' folder
8/27/2023
- changed
proj4string()
toprojection()
- change C++ requirement from C++14 to C++17 (it was failing to build on Debian Linux with
CXX_STD = CXX14
in 'src/Makevars')
- all raster functionality now uses
terra
instead ofraster
(#19) - added conversions to other spatial formats (#15, #16, #17)
12/3/2022 - submitted to CRAN
- changed
|
to||
inQuadtree.cpp
(this was causing a build warning) - fixed issue where
plot(<Quadtree>)
was throwing an error whenzlim
specified a range smaller than the range of the z values
1/31/2022 - CRAN version
- removed
write_quadtree_ptr()
- this was causing a memory leak. I did not intend for users to ever use this function (it's for my own use) so I simply removed it.
1/13/2022 - CRAN version
- Updated documentation for
find_lcp()
andlcp_finder()
. - Switched to importing
extract()
andextent()
fromraster
rather than setting the generics ingenerics.R
- this is to reduce namespace conflicts withraster
.
12/3/2021 - development version
- In the LCP functionality, added the ability to manually set the points use to represent cells (by default the centroids are used). This is especially useful for setting the start and end points of a LCP to the user-specified points - it helps reduce error caused by large cell sizes.
- Added a
new_points
parameter that accepts a matrix of points to be used instead of the cell centroids. - Removed the
use_original_end_points
parameter. This modified the end points after the LCP functionality had already been run. This is inferior to what I have now implemented, so I removed it. This can now be achieved using thenew_points
parameter oflcp_finder()
. - Modified the LCP generics. For
lcp_finder()
andfind_lcp()
reduced the number of arguments used for method selection to one. I changed the name of the parameter no longer used for method selection to be more descriptive. - Created an overload of
find_lcp()
that accepts aQuadtree
. It allows for LCPs to be found in one step (rather than having to uselcp_finder()
and thenfind_lcp()
). While it means that theLcpFinder
object can't be reused, it is more convenient in cases where only a single LCP needs to be calculated. - In
find_lcp(<LcpFinder>)
, added theallow_same_cell_path
, which allows for paths to be found between points that fall in the same cell.
- Added a
11/30/2021 - development version
- Fixed issues #8 and #9 (see issues for details)
- Fixed error in the unit test for
projection()
11/16/2021 - development version
- Neighbor relationships were not being assigned when reading a quadtree from file - this was causing functionality like LCP to fail. Fixed this by using
assignNeighbors()
inQuadtreeWrapper::readQuadtree()
. Also added unit tests to detect this bug.
- Added
write_quadtree_ptr()
for writing only theQuadtree
pointer to file (write_quadtree()
writes theQuadtreeWrapper
object to file). This is for my own use - the average user will never need to use this. - Added additional attributes to
Quadtree::serialize()
(previously, some attributes were not being serialized). - Added
NodeWrapper::toString()
and made it available to R - this simply prints a summary of aNodeWrapper
object. - Stopped importing the
extent()
andprojection()
generics fromraster
. Relying on theextract
generic fromraster
had caused the code to break (see news for previous version). I decided to stop importing generics from raster to avoid any future issues like this. This has the disadvantage of maskingextent()
andprojection()
fromraster
. This means users will need to preface the functions with the package names when using both packages, but it'll hopefully avoid issues caused by changes inraster
.
11/9/2021 - development version
- No longer exports the
extract()
generic fromraster
- instead, it is set viasetGeneric()
in "R/generics.R". This is an attempted fix for an error - in some cases theextract()
generic with signature "Quadtree", "matrix" was not being found.
development version
- In
add_legend()
, added parameters for controlling text color, font, and size. Also renamedticks_x_pct
parameter totext_x_pct
parameter for consistency. - Changed default border width of plots (
border_lwd
parameter ofplot(<Quadtree>)
) to .4, since that typically looks nicer. - Added a 'coefficient of variation' split function (used when
split_method
parameter ofquadtree()
is"cv"
)
CRAN version
Responded to comments after CRAN submission. This led to the following changes:
- In
plot(<Quadtree>)
, switched to resettingpar()
usingon.exit()
. - In all examples, added code to reset
par()
if it was changed. - Removed the 'rapidjson' and 'rapidxml' libraries from within 'cereal'.
- Added additional copyright holder in 'DESCRIPTION'.
development version
- Added a missing
#include
inMatrix.cpp
that appeared to be causing the CRAN build to fail. - Cleaned up
#include
s in C++ files - removed unnecessary#includes
and order them in a way that is more readable. - Removed
PointUtilities.h
andPointUtilities.cpp
. Only a single function (distBtwPoints()
) in this namespace was being used (inLcpFinder.cpp
), and only once. - Switched C++ functions to consistently require
Point
objects as parameters (rather than havingdouble x
anddouble y
parameters). - Removed unnecessary member functions of
Point
. - Cleaned up C++ comments.
- Changed output of
makeNeighborList()
(fromQuadtreeWrapper
) - removed ambiguoushasChildren
column and instead addedhasChildren0
andhasChildren1
columns. Modifiedplot_Quadtree.R
to work with the new columns. - Added unit tests for
summary(<Quadtree>)
,summary(<LcpFinder>)
,lines(<LcpFinder>)
, andpoints(<LcpFinder>)
. Also added a unit test forsearch_by_centroid
option oflcp_finder()
.
- initial release