spatialEco_0.1-1 ================= * Fixed bug in logistic.regression where autocovariance function did not recognize the specified variable * Added an automatic all-neighbour minimum distance for autocovariance in logistic.regression function * Added function "csi" for cosine similarity index and angular similarity index * Added function "local.min.max" for finding local minimum and maximum values in a numeric vector * Added function "outliers" for identifying outliers using modified z-score spatialEco_0.1-2 ================= * Added argument in "o.ring" for inhomogeneous (TRUE/FALSE) to account for different point processes * Added function "kl.divergence" for the Kullback-Leibler divergence (relative entropy) metric * Added function "loess.boot" for bootstraping a loess regression, with associated print and plot functions * Added function "loess.ci" for calculating a confidence interval for a loess regression, with associated print and plot functions * Added function "raster.vol" for generating percent volume from a raster * Added function "tpi" for calculating the topographic position index * Added function "concordance" that performs a concordance/ disconcordance (C-statistic) test on binomial models. spatialEco_0.1-3 ================= * Bug fix in "land.metrics" that addressed error when more than one class was present * Bug fix in "land.metrics" that addressed trace error * Enhancement to "land.metrics" function now accepts multiple classes * Added function "gaussian.kernel" Creates a Gaussian Kernel of specified size and sigma * Added function "tri" Implementation of the Riley et al (1999) Terrain Ruggedness Index * Added function "sample.poly" for creating samples for each polygon in a SpatialPolygons class object * Added function "similarity" implementing row imputation to identify "k" ecological similar observations * Added function "dispersion" for calculating the dispersion ("rarity") of targets associated with ecological planning units * Added function "shannons" for calculating the Shannon's diversity index * Added function "insert.values" for inserting new values into a vector at specified positions spatialEco_0.0.1-4 ================= * Enhancement to sp.an.omit that allows for removal of columns with NA's * Added function to identify daymet tiles from sp, raster, extent or coordinates * Added function for point download of DAYMET climate data * Added function for distance lagged sampling spatialEco_0.1-5 ================= * Bug fix in "stratified.random" function. * Added function "rasterCorrelation" for calculating "pearson" or "spearman" correlations or "covariance" between two rasters within a specified moving window. * Added function "mwCorr" for calculating Dutilleul's modified t-test between two rasters within a specified moving window. * Added function "polyPerimeter" for calculating polygon perimeters spatialEco_0.1-6 ================= * Enhancement to "raster.entropy" for recognizing continuous verses nominal data in deriving entropy. Also allows for global or local definition of entropy constant. * Added function "raster.mds" for calculating a focal multidimensional scaling * Added function "rasterZscore" for calculating cell-level modified z-scores (not memory safe) * Added function "sobel" for calculating the Sobel-Feldman isotropic image gradient operator (intensity and direction) spatialEco_0.1-7 ================= * Bug fix in "download.daymet" function to account for change in HTML structure on the ORNL website * Modified function "trig.trans" and changed to "sa.trans" for calculating slope, aspect transformations and interactions * Added function "hli" for calculating the Heat Load Index * Added function "sar" for calculating Surface Area Ratio * Added function "curvature" for calculating Surface Curvature * Added function "srr" for calculating Surface Relief Ratio * Added function "dissection" for calculating the Dissection coefficient * Added function "raster.gaussian.smooth" for applying a Gaussian smoothing kernel to a raster * Added function "raster.transformation" for applying statistical transformations to a raster * Added function "raster.invert" for inverting the values in a raster * Added function "raster.moments" for calculating a variety of focal statistical moments on a raster * Added function "trasp" for calculating the Solar-radiation Aspect Index spatialEco_1.0-0 ================= * Deprecated function "kde2D" and replaced with "sp.kde" which accepts weights * Deprecated function "mwCorr" and replaced with "raster.modified.ttest" * Changed the "point.in.poly" function so that it retains columns containing all NA's * Added added optional poly.id argument to "point.in.poly" function so a specific column can be define from the SpatialPolygonsDataFrame object * Added function "class.comparison" Compares two nominal rasters * Added function "erase.points" Erases points inside or outside a polygon feature class * Added function "focal.lmetrics" Landscape metrics using a focal window * Added function "oli.aws" Download Landsat 8 - OLI from AWS. * Added function "raster.downscale" Downscale raster to a higher resolution raster using robust regression * Added function "raster.modified.ttest" Bivariate moving window correlation using Dutilleul's modified t-test * Added function "sp.kde" A weighted or un-weighted kernel density estimate spatialEco_1.1-0 ================= * Fixed bug in "pseudo.absence" that was throwing an error when a raster class mask was defined * Fixed bug in "land.metrics" that was producing incorrect class enumeration * Feature Enhancement and bug fix in "point.in.poly" function so that polygon attributes are added to the points, also added support for sf classes * Added function "raster.kendall" Calculates Kendall's tau trend with continuity correction for raster time-series * Added function "optimized.sample.variance" Draws an optimal sample that minimizes or maximizes the sample variance * Added function "fuzzySum" Calculates the fuzzy sum of a vector * Added function "remove.holes" Removes all holes (null geometry) in polygon sp class objects * Added function "winsorize" Removes extreme outliers using a winsorization transformation * Added function "crossCorrelation" Calculates the partial spatial cross-correlation function spatialEco_1.1-1 ================= * Fixed bug in raster.modified.ttest due to changes in output from SpatialPack * Modified "crossCorrelation" function to be consistent with Chen (2015) GSCI metric * Modified function "raster.kendall" to return Z-value raster * Added function "classBreaks" for finding class breaks in a distribution * Added function "smooth.time.series" for imputing NA or smoothing time-series raster data. * Added function "hybrid.kmeans" for clustering using hierarchical clustering to define cluster-centers in k-means * Added function "morans.plot" for Autocorrelation plot (Anselin 1996), following Chen (2015), aka, Moran's-I plot (univariate or bivariate) * Added function "optimized.sample.variance" for drawing an optimal sample that minimizes or maximizes the sample variance * Added function "swvi" for Senescence weighted MSAVI or MTVI * Added function "smooth.time.series" for smoothing pixel-level data in raster time-series and imputing missing (NA) values using LOESS regression * Added function "poly.regression" for smoothing data in time-series and imputing missing (NA) values using polynomial regression * Added function "sg.smooth" for smoothing time-series data using a Savitzky-Golay filter * Added function "subsample.distance" - Minimum, and optional maximum, distance constrained sub-sampling spatialEco_1.2-0 ================= * Modified function "curvature" to clarify output * Fixed bug in "sp.kde" so that coordinates are parsed correctly * Fixed introduced bug in "stratified.random" * Fixed bug in "bearing.distance" * Added function "kendall" and modified raster.kendall to call it * Added function "raster.change" for change detection between two rasters * Added function "topo.distance" for evaluating topographically correct distance * Added function "focal.lmetrics" for calculating moving window landscape metrics * Added function "sample.distance" for distance lagged sampling * Added function "wt.centroids" Creates centroid of [x,y] coordinates based on a weights field spatialEco_1.2-1 ================= * Added function "parse.bits" for pulling value(s) for a bit(s) based on integer value * Added function "annulus.matrix" creates a [0,1] matrix based on defined annulus parameters. * Bug fix to "trasp" Missing parenthesis, thanks to Monika Anna Tomaszewska for reporting this mistake. * Added function "knn" to find nearest neighbors between two spatial objects, with optional search radius spatialEco_1.3-0 ================= * Added function "spatial.select" to perform a selection (subset) of a feature class based on a polygon(s) feature * Added function "random.raster" for creating various random rasters or stacks * Added function "shift" for shifting a vector by specified positive or negative lag * Added function "explode" for exploding multipart to singlepart feature geometry * Added function "nth.values" for returning the Nth highest or lowest value(s) in a vector * Added function "overlap" comparing the similarity of two niche estimates using Warren's-I * Feature Enhancement "knn" expanded to accept "weights" or covariates for multivariate case * Fixed bug "sp.ked" Error with defined extent in newdata * Feature Enhancement "sp.ked" added row (nr) and column (nc) dimension arguments, replacing n. * Enhancement to "zonal.stats" leveraging velox extract speed * Added function dependencies from orphaned CRAN package SDMTools (attributed to original author) Associated SDMTools functions include: - connected.pixels - ClassStat - PatchStat - asc.from.raster - spheroid.distance - grid.info spatialEco_1.3-1 ================= * Due to package depreciation, changed velox dependency to exactextractr for raster extraction * Depreciated two functions "land.metrics" and "focal.lmetrics" as there are now better alternatives in the landscapemetrics package. This removed the need for a C++ compile and also removed the associated SDMTools functions * Depreciated "download.daymet" function due to the THREDDS server moving to a NetCDF Markup Language (NcML) format spatialEco_1.3-2 ================= * Feature Enhancement "hli" added support for southern hemisphere * Bug fix "raster.change" was not correctly evaluating raster in memory * Feature Enhancement "erase.points" changed the function to account for single and multi geometry * Feature Enhancement "hli" added support for southern hemisphere * Added function "background" for generating background point samples often used in SDM's * Added function "cross.tab" cross tabulation of two nominal rasters * Added function "extract.vertices" for extracting (x,y) vertices coordinates from polygons and lines * Added function "geo.buffer" that buffers data in geographic projection * Added function "insert" that inserts a row or column into a data.frame * Added function "is.empty" method that evaluates if a vector is empty * Added function "is.whole" method that evaluates if a numeric vector is whole or float spatialEco_1.3-3 ================= * Added function "built.index" remote sensing built-up index * Added function "chae" Canine-Human Age Equivalent (for fun) * Added function "dahi" Diurnal Anisotropic Heat Index * Added function "impute.loess" for imputing NA's or smoothing data * Added function "max_extent" returns polygon representing maximum extent of defined rasters * Added function "quadrats" for quadrat sampling or analysis * Added function "rotate.polygon" rotates a polygon by specified angle (also used by quadrats function) * Bug fix "smooth.time.series" was not accepting smoothing parameter (thanks to Eileen Perry) spatialEco_1.3-4 ================= * Added function "rasterDistance" for calculating fast point to raster distances * Bug fix in print method for crossCorrelation function spatialEco_1.3-5 ================= * Fixed bug in crossCorrelation print method spatialEco_1.3-6 ================= * Addressed changes to spatstat package dependencies spatialEco_1.3-7 ================= * Added function "polygon_extract" for a fast method for extracting raster values to polygons * Added function "time.to.event" returning the time (sum to position) to a specified value * Added function "cgls_urls" for returning download URL from CGLS query * Fixed bug in insert associated with MARGIN argument * Fixed bug in crossCorrelation where the I value was being erroneously corrected for population (thanks to GitHub user MarHer90). spatialEco_1.3-8 ================= * Added zero covariance error check in collinear * Added support for terra class objects in rasterCorrelation * Added silhouettes to optimal.k output spatialEco_2.0-0 ================= **** Jumped to major version release * Converted all functions that historically relied on sp, raster, rgeos, rgdal and maptools packages to sf and terra and optimized code structure in many functions. * Function enhancement raster.downscale to expand to multivariate model with optional output for confidence/prediction intervals and MSE rasters. * Added function "remove_duplicates" for removing duplicate duplicate feature geometries * Added function "all_pairwise" creates a list of all pairwise combinations of a vector * Added function "sieve" that creates a MMU for an integer raster * Added function "bbox_extent" creates a bounding box polygon representing the extent of a feature or raster * depreciated a few functions in lue of efficient alternatives in sf and terra spatialEco_2.0-1 ================= * Fixed bug in sf.kde (thanks to Dirk Pflugmacher for pointing out rotation issue) * Added function sf_dissolve for dissolving polygon features * Added function squareBuffer for creating square buffers * Fixed bug in raster.downsample where plot returned error when scatter=TRUE with one covariate * Added function aspline.downscale for downscaling rasters using multivariate adaptive regression splines (thanks to discussion with Felipe Benavides) * Fixed a bug in breeding.density (thanks to Eric Newkirk) where st_distance was resulting in a units class object and crashing the function. * Feature request (Alessandro Mondanaro), added an argument/option in sf_kde for using ks or the modified MASS kde2d function that facilitates weights. The MASS kde2d was the KDE function in the sp.kde function. * Fixed a bug in curvature (thanks to Rachel Wright) where type="mcnab" was returning source raster values * Updated knn function to use sf class objects * Fixed bug in wt.centroid when sf object is tibble (thanks to Andrew Gustar for drawing my attention to the bug) * Added new function for deriving Leaf Area Index (LAI) * Fixed bug in stratified.random where if there are no replicates with replace = FALSE no results returned * Enhancement added support for prewhiting of autocorrelated time-series in kendall function spatialEco_2.0-2 ================= * Added suggest for the lwgeom package after sf dropped as dependency * Added function to derive LAI (leaf area index) from NDVI * Fixed bug in sf.de where bandwidth was not being reconized as argument * Reverted sf.kde to use modification of MASS 2dkde as, ks methods are somewhat questionable with spatial data.