Improves the behaviour of bounds() and points() by making it less likely that a lookup table will be created that does not match a geo data field
Internally, shared code within bounds() and points() has been refactored out into a common function (not user-facing), making bounds() and points() more like wrapper functions.
Several helper functions have been tidied up and some unnecessary duplication of functionality across helpers for lookup table creation and spatial data retrieval has been removed, making fewer and leaner helper functions and removing a chunk of code from the package.
cli has been used to produce user-facing error messages, in place of usethis.
The function that allows the user to supply their own lookup table and have boundr automatically add geo data to it to create an sfc object has now been improved and should be functional as intended.
Linting has been added to the development process through the adoption of lintr.
The convoluted process for handling MSOA-based lookups has now been obviated entirely - the ONS site now seems to support MSOA-based lookups much better.
Internal copy of the schema data updated.
boundr v0.3.6 (November 15, 2023)
Enables bounds() query to shortcut the lookup table step and just return all boundaries at that level (just call the function with a single lookup argument)
Improved README with examples
Added pkgdown site, thanks to Tom Smith (closes issue ## boundr v2)
Improve some function param documentation
Update schema data (10 Nov 2023)
boundr v0.3.5 (June 24, 2023)
Some work to improve the handling of MSOA queries
Create points() function to handle centroids queries more neatly
Update package internal data (mirror of ONS API schema)
boundr v0.3.4 (as at May 3, 2023)
Deleted all tests as they were useless. Will start again from scratch.
Added add_bounds_to_table() function - for when you already have a lookup table and you just want to add geo data to it. It uses the lefthandmost column as the source for the geometry codes, so if they are not there it will just fail - that’s for the user to sort out.
This version adds centroid support and some fixes to the MSOA-LSOA-MSOA round trip hack
The opengeo_schema internal data object has been refreshed
I can’t remember what happened to 0.3.3
boundr v0.3.2 (February 25, 2023)
After a lot of intervals of not working on this very much, I have finally pushed a lot of further work on the new style. The package is now named boundr and the work has been done in the main branch.
Functions are now better documented and the core workflow is quite nice now.
Basic tests are written but further tests of core behaviours need to be written still.
TODO: Make centroid queries eg MSOA centroids work
boundr v0.3.0 (January 18, 2022)
Rebuilt whole program around a schema approach (git branch: schema)
It’s rough but it sort of works for now.
TODO: Make MSOA queries work (not supported by ONS lookups)
TODO: Function documentation
TODO: Testing and undoubtedly more fixes
boundr v0.2.20 (November 30, 2021)
Updates to API addresses, mostly relating to more area codes moving to 2021 codes
used package doc file for %>% and other imports, and removed pipe.Rd etc
Still some bugs that need fixing
TODO I need to write more tests!
TODO build local copy of whole API schema and work out a way of querying that rather than manually updating URLs and codes
boundr v0.2.16
Simplifies treat_results routine and use of oa_lad21_lookup custom lookup
boundr v0.2.15
Fixes internal data issue where datasets weren’t being found
Adds more internal datasets to internal package data
Upgrades LAD boundaries query to 2021 boundaries
Simplifies LSOA:MSOA lookup by using internal data for HoCL names CSV
boundr v0.2.13
Fixes a bug where within_cd and return_style = minimal – a non-functional combination – was allowed through.
Fixes an earlier mistake where I thought that all API URLs were “FeatureServer” now - but centroid queries still need “MapServer”.
boundr v0.2.12
Enables population-weighted centroid queries for OA and LSOA as well as MSOA now
Fixes OA:LAD queries returning wards as intermediate levels instead of MSOAs
boundr v0.2.11
Removes the returnGeometry option previously added, as this was seemingly causing a problem with centroid retrieval? I don’t think it was really needed anyway
boundr v0.2.10
adds the ability to retrieve lookups and geometries at a single level, i.e. where bounds_level and within_level are the same.
boundr v0.2.9.5
tweaks to make the within_cd parameter actually work (I don’t think I had tested this properly before).
some tweaks to how the query URL string is built, replacing %3D with plain =. In attempt to simplify error-hunting. But worried that this may not work with all endpoints. Had to do some tweaking to get OA:WD lookup to work.
changes to the extract_lookup function as the previous pluck call did not always work. New combination of pluck and map_df hopefully will work OK. But again, worried that this may break things that were previously working.
This is why we should have proper tests in place, and I should be using git branches to test things I’m not sure about…
boundr v0.2.9.4
Added in result_type parameter to build_api_query as I noticed that some queries weren’t working properly. Turned out that lookups with more than 2000 results were being truncated. The way to fix this (see examples six and seven) is to specify a resultType of "standard" which allows responses up to 32,000 long. jogger’s spatial queries were already batched into batches of 25/50 so this didn’t come up as an issue.