Population Downscaling Using Areal Interpolation - A Comparative Analysis author: Marios Batsaris
Areal Interpolation may be defined as the process of transforming data reported over a set of spatial units (source) to another (target). Its application to population data has attracted considerable attention during the last few decades. A massive amount of methods have been reported in the scientific literature. Most of them focus on the improvement of the accuracy by using more sophisticated techniques rather than developing standardized methods. As a result, only a few implementation tools exists within the R community.
# install.packages("devtools")
library(devtools)
::install_github("mbatsaris/populR") devtools
This is a basic example which shows you how to solve a common problem:
library(populR)
library(areal)
library(sf)
# load data
data('src')
data('trg')
<- src
source <- trg
target
# populR - awi
<- pp_estimate(target = target, source = source, spop = pop, sid = sid,
awi method = awi)
# populR - vwi
<- pp_estimate(target = target, source = source, spop = pop, sid = sid,
vwi volume = floors, method = vwi)
# areal - sum weights
<- aw_interpolate(target, tid = tid, source = source, sid = 'sid',
aws weight = 'sum', output = 'sf', extensive = 'pop')
# areal - total weights
<- aw_interpolate(target, tid = tid, source = source, sid = 'sid',
awt weight = 'total', output = 'sf', extensive = 'pop')
# sf - total weights
<- st_interpolate_aw(source['pop'], target, extensive = TRUE)
sf
# sum initial values
sum(source$pop)
# populR - awi
sum(awi$pp_est)
# populR - vwi
sum(vwi$pp_est)
# areal - awt
sum(awt$pop)
# areal - aws
sum(aws$pop)
# sf
sum(sf$pop)