Donut Geomask

The Donut Geomask computer programs written in the MATLAB© and Python programming language implement a useful method to protect the confidentiality of sensitive geocoded health data by randomly displacing the coordinate of each data point. The donut geomask approach consists in displacing each data point by a minimum amount, which provides adequate privacy protection without the loss of spatial information that results from aggregating.


Versions of donutGeomask

donutGeomask version 1.0 (works in MATLAB© 6.1 or higher)

pyDonutGeomask version 1.0 (works in ArcGIS© version 10 using Python 2.6.5)




Hampton, K.H., M.K. Fitch, W.B. Allshouse, I.A. Doherty, D.C. Gesink, P.A. Leone, M.L. Serre, W.C. Miller (2010) Mapping Health Data: Improved Privacy Protection with Donut Method Geomasking, American Journal of Epidemiology, Vol. 172(9), pp. 1062-1069. doi:10.1093/aje/kwq248


Allshouse, W.B., M.K. Fitch, K.H. HamptonM, D.C. Gesink, I.A. Doherty, P.A. Leone, M.L. Serre, W.C. Miller (2010) Geomasking sensitive health data and privacy protection: an evaluation using an E911 database, Geocarto International, Vol. 25(6), pp. 443–452. doi:10.1080/10106049.2010.496496



Project: Spatial Epidemiology of Syphilis and Gonorrhea in North Carolina
NIH/NIAID grant number 5 R01 A10679130102, PI William C Miller