Skip to content

Geographical Masking methods. Applicable to discrete confidential-private-sensitive geodata.

Notifications You must be signed in to change notification settings

okounadi/Geoprivacy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 

Repository files navigation

Adaptive Geographical Masking

Introduction

This repository contains a set of codes to perform adaptive geographical masking.

Geographical masking alters the precision or accuracy of geographical data for the purpose of anonymization.

In adaptive geographical masking the degree of "alteration" or "masking" is not a fixed value but is adapted based on the density of the underlying risk of re-identification information (RORI). Lower density requires higher masking degree and vice versa.

RORI can be the number of people, number of households, number of residential addresses, or other. If RORI is not considered and applied in geographical masking, then data linkage can occur between a private-sensitive-confidential information and the RORI. Such linkage could lead to re-identification.

To apply the codes you need the following datasets:

  1. Original data: a point shapefile with the locations of private-sensitive-confidential information (e.g., locations of domestic violence events, addresses of patients with a desease).

  2. RORI polygons: a polygon shapefile with the attribute RORI (e.g., postcodes with the number of households in each polygon)

  3. Streets: a line shapefile that represents the road network of the study area. This is needed only for the Voronoi Masking Method.

A brief description of the codes

First, create spatial k-anonymized polygons - SKApoly (three options below):

Scope: aggregate polygons to create new polygons that have attribute values that are equal or greater than a minimum value

  1. AdaptiveElimination: Creates spatial K-anonymized polygons by eliminating irregular polygons; iterates through each set of polygons of the same RORI value starting from the minimum value

  2. AdaptiveDissolvingID: Creates spatial K-anonymized polygons by dissolving regular polygons; iterates through each polygon based on its ID attribute

  3. AdaptiveDissolvingMin: Creates spatial K-anonymized polygons by dissolving regular polygons; iterates through each set of polygons of the same RORI value starting from the minimum value

Second, mask original data (three options below):

  1. PointAggregation: original points are displaced to the centroid of their corresponding SKApoly.

  2. RandomPerturbation: original points are randomly displaced (distance + direction) within their corresponding SKApoly.

  3. AdaptiveVoronoiMasking: original data are displaced to the closest segment of their corresponding Voronoi polygon which is laying within their corresponding SKApoly. Two exceptions apply. If a Voronoi segment lies outside its SKApoly, the point is displaced to the boundary of the SKApoly. If there is only one point within the SKApoly, then it is randomly displaced within the SKApoly. Last, displaced points are further displaced to the closest street intersection.

Further information

References

Kounadi, O., & Leitner, M. (2016). Adaptive areal elimination (AAE): A transparent way of disclosing protected spatial datasets. Computers, Environment and Urban Systems, 57, 59-67

Polzin, Fiona (2020) Adaptive Voronoi Masking: A method to protect confidential discrete spatial data. MSc Thesis, GIMA – Geographical Information Management and Applications. University of Utrecht – TU Delft – Wageningen University – University of Twente.

Charleux, L., & Schofield, K. (2020). True spatial k-anonymity: adaptive areal elimination vs. adaptive areal masking. Cartography and Geographic Information Science, 1-13.