Submitted:
28 February 2023
Posted:
01 March 2023
You are already at the latest version
Abstract
Keywords:
Introduction:
Implementation:
Use:
- Start with your addresses in a .csv file, with the complete address in one column called “address”. For this example, that file will be called “sample_addresses.csv”.

- On your machine, open a command-line shell and navigate to the folder where the address file is stored. This is often completed using the “cd” command followed by the name of the target directory. Generally, navigation-based commands are the same across different shells and operating systems, but there can be small differences. For DeGAUSS commands, specific instructions for different operating systems are provided on the DeGAUSS website.
- 2.
- Use a DeGAUSS Docker command to geocode the addresses using version 3.0.2 of “degauss/geocoder”:
- docker run --rm -v $PWD:/tmp degauss/geocoder:3.0.2 sample_addresses.csv
- If you have not previously used this version of this image, Docker will first download it, which can take several minutes, depending on the size of the image and internet speeds. Docker will then create and run a container to geocode the addresses. DeGAUSS relies on parallel processing where possible so length of time required to geocode will vary based on the host machine’s number of cores it has made available to Docker. For example, 50,000 addresses were geocoded in about 30 minutes using Docker Desktop with 6 cores and 10 GB of RAM on a 15-inch, 2019 MacBook Pro with a 2.6 GHz Intel Core i7 processor.
- 3.
-
The results file, called “sample_addresses_geocoded_v3.0.2.csv”, will be written to the same folder where the input CSV file is located.
- This file is the same as the input CSV file, but with appended columns for matched address components, geocoding score and precision, latitude, longitude, and a categorical geocoding result. The geocoder will recognize invalid street addresses, such as PO boxes, known foster addresses and non-address text, and alert the user in the “geocode_result” column. The “matched_” columns can be used to verify the accuracy of results, while the “score” and “precision” columns are used to determine the category of the geocode result, precise or imprecise. A geocode will be categorized as imprecise if the precision level is one of intersection, zip or city and/or the score, which is the percentage of text match between the input address and matched address, is less than 0.5. However, the user can specify a custom score threshold by including a number argument between 0 and 1 in their Docker command, placing it after the name of the address file.

- 4.
- Now that we have geocoded addresses, we can use DeGAUSS to add a geomarker. In this example we will use the DeGAUSS images for the proximity to major roadways and greenspace, DeGAUSS/roads version 0.1 and DeGAUSS/greenspace version 0.2. The programs can either be run in parallel on the geocoded file or they can be run sequentially, creating one file with both geomarkers. Here, we first added the roadway geomarker and then add greenspace to that result. This is done using the following commands while in the directory of the geocoded .csv file:
- docker run --rm -v "$PWD":/tmp degauss/roads:0.1 sample_addresses_geocoded_v3.0.2.csv

- docker run --rm -v $PWD:/tmp degauss/greenspace:0.2
- sample_addresses_geocoded_v3.0.2_roads_400m_buffer.csv

- 5.
- These two DeGAUSS containers append new columns to our dataset with their respective geomarkers, while keeping intact our original dataset. Now that we have added our geomarkers, we can remove the addresses to create a geomarker dataset without geographic PHI.

Discussion
References
- Beck, A.F., et al., Housing code violation density associated with emergency department and hospital use by children with asthma. Health Aff (Millwood), 2014. 33(11): p. 1993-2002.
- Goldberg, D.W., J.P. Wilson, and C.A. Knoblock, From text to geographic coordinates: the current state of geocoding. URISA journal, 2007. 19(1): p. 33-46.
- Lemke, D., et al., [Who Hits the Mark? A Comparative Study of the Free Geocoding Services of Google and OpenStreetMap]. Gesundheitswesen, 2015. 77(8-9): p. e160-5.
- Act, A., Health insurance portability and accountability act of 1996. Public law, 1996. 104: p. 191.
- Redhead, C.S. The Health Information Technology for Economic and Clinical Health (HITECH) Act. 2009. Congressional Research Service, Library of Congress.
- Porter, J.P., Protecting Human Research Subjects: The Office for Protection from Research Risks. Kennedy Institute of Ethics Journal, 1992. 2(3): p. 279-282.
- Brokamp, C., et al., Decentralized and reproducible geocoding and characterization of community and environmental exposures for multisite studies. J Am Med Inform Assoc, 2018. 25(3): p. 309-314.
- Boettiger, C., An introduction to Docker for reproducible research. ACM SIGOPS Operating System Review, 2015. 49(1): p. 71-79.



Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).