-
Fixed documentation for
gh_encodeprecision limit (was incorrectly stated as 28, corrected to 25). -
Added bounds checking to
gh_deltato validate precision is between 0 and 25, preventing silent incorrect results for invalid inputs. -
Updated CRS specification from deprecated PROJ.4 string to EPSG:4326 for better compatibility with modern PROJ versions.
-
Optimized duplicate detection in
gh_to_sp,gh_to_spdf.default, andgh_to_spdf.data.frameto use single-pass algorithm instead of double-scan, improving performance ~2x when duplicates are present.
Drop references to deprecated rgdal.
gh_coveringwould fail withminimal=TRUEforSpatialPointsDataFrameinput, #30. Thanks @dshkol for the report and working example.
- Fix compilation issue under
-Wstrict-prototypes. Thanks CRAN team.
gh_decodeaccepts and efficiently processesfactorinput by only decoding each level one time, #17. If you're likely to have a fair number of duplicate geohashes in your input, consider storing them as a factor for efficiency. In a few representative on 5-20M-size datasets, I saw roughly 5x speed-up from this approach; however, the time to convert from string to factor out-weighed this gain, so it's best deployed on data where the geohashes are stored as factor anyway.
-
gh_decodeerrors early on non-ASCII input to prevent out-of-memory access, #19. -
Dependency upgrade of
r-spatialto PROJ 6 revealed a test failure ingeohashToolsthat has now been corrected, #23. Thanks @rsbivand for his diligence and proactivity in identifying the failure, to @Nowosad for providing helpful Docker images for testing, and @mdsumner for helpful comments. -
Input with longitude< -180 (which should be wrapped again around the Earth) was calculated incorrectly, #27.
- Removed
mockeryfrom Suggests. It may later be restored, but currently it's not used.
- Complete overhaul of source code; C++ --> C & changed algorithm
gh_neighborsincorrectly returnedNAfor geohashes whose first component is a boundary but whose higher components do indeed have neighbors, #14.
gh_coveringworks with input fromsf. Thanks to @dshkol for the PR.
gh_coveringfailed on input with missingproj4string, #13. Thanks @dshkol for the report.
-
CRAN submission again detected memory issues (accessing memory beyond which was declared for an array), reproduced & fixed for #6; the original fix also led to an uninitialized access error, #12.
-
CRAN submission also detected a type mismatch error, #11.
gh_coveringfor generating a covering of an input polygon in geohashes, #4.