PPOL 6805 / DSAN 6750: GIS for Spatial Data Science
Fall 2025
Wednesday, September 25, 2024
library(rnaturalearth)
library(tidyverse)
library(sf)
library(mapview)
library(leaflet.extras2)
africa_sf <- ne_countries(continent = "Africa", scale = 50) |> select(iso_a3, geounit)
africa_map <- mapview(africa_sf, label="geounit", legend=FALSE)
N <- 10
africa_union_sf <- sf::st_union(africa_sf)
sampled_points_sf <- sf::st_sample(africa_union_sf, N) |> sf::st_sf() |> mutate(temp = runif(N, 0, 100))
sampled_points_map <- mapview(sampled_points_sf, label="Random Point", col.regions=cbPalette[1], legend=FALSE)
countries_points_sf <- africa_sf[sampled_points_sf,]
filtered_map <- mapview(countries_points_sf, label="geounit", legend=FALSE) + sampled_points_map
(africa_map + sampled_points_map) | filtered_map
POINT
s are not merged into data attributes of POLYGON
sPOINT
Attributes
geom | temp |
---|---|
POINT (27.08501 8.151116) | 6.7348056 |
POINT (44.94241 10.18856) | 0.7728503 |
POINT (17.22098 -4.448239) | 59.0227748 |
POINT (18.72111 30.36353) | 18.1021065 |
POINT (-9.142789 16.71712) | 55.9965106 |
POINT (25.34225 21.54918) | 69.1987649 |
st_join()
iso_a3 | geounit | temp | geometry | |
---|---|---|---|---|
44 | TZA | Tanzania | 63.7779831 | MULTIPOLYGON (((39.49648 -6… |
52 | SSD | South Sudan | 6.7348056 | MULTIPOLYGON (((33.97607 4…. |
53 | SDN | Sudan | 69.1987649 | MULTIPOLYGON (((34.07812 9…. |
53.1 | SDN | Sudan | 62.4328422 | MULTIPOLYGON (((34.07812 9…. |
59 | -99 | Somaliland | 0.7728503 | MULTIPOLYGON (((48.93857 11… |
112 | MRT | Mauritania | 55.9965106 | MULTIPOLYGON (((-16.37334 1… |
Assume the extensive attribute \(Y\) is uniformly distributed over a space \(S_i\) (e.g., for population counts we assume everyone is evenly-spaced across the region)
We first compute \(Y_{ij}\), derived from \(Y_i\) for a sub-area of \(S_i\), \(A_{ij} = S_i \cap T_j\):
\[ \hat{Y}_{ij}(A_{ij}) = \frac{|A_{ij}|}{|S_i|}Y_i(S_i) \]
where \(|\cdot|\) denotes area.
Then we can compute \(Y_j(T_j)\) by summing all the elements over area \(T_j\):
\[ \hat{Y}_j(T_j) = \sum_{i=1}^{p}\frac{|A_{ij}|}{|S_i|}Y_i(S_i) \]
\[ \hat{Y}_{ij} = Y_i(S_i) \]
\[ \hat{Y}_j(T_j) = \sum_{i=1}^{p}\frac{|A_{ij}|}{|T_j|}Y_j(S_i) \]
Introducing the spdep
library!
PPOL 6805 Week 5: Spatial Joins