4 Replies Latest reply on Jan 17, 2017 9:58 PM by Mark Wu

    Solution to Geocoding Privacy Concerns


      Some institutions are uncomfortable with the geocoding of address information, because they feel that exact latitude/longitude location (obtained by uploading address information to a geocoding service) can constitute an invasion of privacy.

      On the other hand, showing the location of various members of an institution (i.e. alumni/ae of a given university), at least by zip code, can be useful.


      Geocoding services can give you the "centroid" latitude/longitude position of any zip code.


      The problem is that, if I have 450 people with the same zip code, I get a single dot for all 450 people.  Thus, appropriate tooltip information for each person is not available (because all 450 dots are stacked).


      Solution?  I figured out a way to split the dots into concentric rings around the center of the zip code, by offsetting them in a circle whose radius is about 367 feet (for the first 20), then 730 feet (for the next 20), etc.  For 400 people, I get 22.5 concentric circles with 20 dots per circle.




      1) Each degree of latitude represents 69.444 miles (25,000 / 360 degrees).  69.444 miles x .001 = 366.667 feet. 


      2) At the 34-degree latitude, each degree of longitude represents about 57.572 miles (cos(radians(34)) = .82903757 * 69.444 = 57.572 miles x .001 = 303.98 feet.


      3) Using the radians, sin, and cos functions, I can calculate the Y- and X-axis distances necessary to plot each dot at angles of 18, 36, 54, 72, 90 (for each quadrant of the clock, starting at 12 o'clock).


      4) To make the circle perfect, I need to expand the distance along the X-axis (east-west) by 69.444/57.572 (because of the difference represented by each degree of latitude vs. longitude when you're not at the equator).


      I can apply the math to nearly 20,000 records (using FileMaker Pro) in about 90 seconds, then export to Excel in a split second, then refresh in Tableau with Command-R (Mac).


      The result is the attached screen shot for a Los Angeles zip code with 450 members of the class.


      If there is interest in this solution, I am happy to document the script that applies that math, and eventually post a workbook on Tableau Public for general downloading.


      Vince Lackner

      Pittsburgh, PA