NEWS
spacescans 0.3.4
- Tests only; nothing in the package changed. One test expected
/bin/sh back
unchanged from the interpreter lookup, which canonicalises the directory: on
a Linux with a merged /usr (current Ubuntu) that is /usr/bin/sh. It now
uses a file of its own. The tests that need a POSIX shell, 0700 permissions
or POSIX paths are skipped on Windows, which is not a supported platform.
(Seen in the R-universe checks of 0.3.3.)
spacescans 0.3.3
Bug fixes
- With Python 3.13 or later, interrupting
ss_link() could, rarely, leave
the Python bridge hung: R stopped it only after spacescans.interrupt_grace
(10 s), and a bridge whose R session had died stayed behind. A cancelled job
could also be reported as failed instead of interrupted. Fixed in the Python
package.
spacescans 0.3.2
New features
workers now also covers the raster weights (NPS Soundscape Noise, VIIRS
Nighttime Lights, TEMIS UV Exposure, ACAG), the distances of NHD Bluespace
and TIGER Road Distance, and the HDF4 path of the TEMIS reader: Step 1 of
every catalog source uses the workers. The result still does not depend on
their number.
spacescans 0.3.1
New features
ss_link(workers =) and ss_run(workers =): worker processes per
pipeline step for the polygon-overlap weights (block groups, tracts,
ZCTAs) and ACAG's NetCDF files. The default NULL is one process, as in
0.3.0. The result does not depend on the number of workers; each worker
adds memory.
spacescans 0.3.0
Breaking change
ss_link() returns one row per participant by default. The new argument
output_level = c("participant", "episode") chooses the level; use
output_level = "episode" for the behaviour of 0.2 (your data frame with
the exposure columns added, one row per location episode).
output_level is the third argument of ss_link(): a call that passed
data_dir by position must name it (data_dir = ).
New features
- Participant level:
pid (in the type of your id column) and one column
per exposure, one row per participant in order of first appearance,
including participants without any value. Each value is the mean of the
participant's episode values weighted by contributing days, counted per
variable (see ?ss_link). The result carries attr(, "output_level").
- Linkage rates (
attr(res, "coverage")) and the warning for a variable
with a value for fewer than 90% of the rows count participants at
participant level and episodes at episode level. ss_coverage() still
estimates per location episode.
- Registered datasets:
ss_register_dataset() checks and prepares your own
data once (polygon tables keyed by a Census geography, static, yearly or
daily; GeoTIFF rasters, static, yearly, biweekly or daily; point, line or
polygon features, linked as the distance to the nearest feature) and
stores it with its metadata in a registry shared with the Python package.
ss_datasets(), ss_dataset(), ss_update_dataset() and
ss_remove_dataset() list, show, change and remove datasets; the option
spacescans.datasets_dir (or the environment variable
SPACESCANS_DATASETS_DIR) chooses the registry.
ss_link(custom = ) and ss_coverage(custom = ) take registered dataset
names, ids, variable keys or records, alone or together with
ss_custom_polygon() and ss_custom_raster() definitions, in the order
given; variables may then be empty.
- Jobs (
ss_link(wait = FALSE), ss_job_attach()) work at both levels;
job.json records the level and counts, never participant ids. A job
directory written by 0.2 is read as episode level.
ss_link() refuses, with an ss_install() hint, a Python package that
returns episodes when participants were asked for.
ss_install() works after an install from r-universe: it reads the
repository from RemoteUrl and installs the Python package from the
recorded commit (RemoteSha), or from the tag of the package version when
no commit is recorded.
Package
- Released under the MIT License (
LICENSE).
- Title: "Link Time-Referenced Geolocation Data to the Spatial and
Contextual Exposome".
Documentation
- The vignette and the README use the terms location episode, participant
and time-referenced geolocation data, explain both output levels, and
show two example scripts installed with the package:
inst/examples/minimal-example.R (three synthetic participants and the
NPS noise model, the catalog source whose files are all on the project
mirror) and inst/examples/registered-dataset.R (a registered features
dataset, no catalog data needed). The live tests run both.
?ss_link and the vignette state two rules of the participant level:
overlapping location episodes each contribute their own days, and
variables derived after aggregation (the FARA flags, the ACAG _nbm
columns) are derived from the participant's means.