Use Proximity Tracing to Identify Possible Contact Events

05-06-2020 11:25 AM
Esri Contributor

The GeoAnalytics development team had just release out a new sample tool called Proximity Tracing. The Proximity Tracing tool uses time-enabled point data to trace entities based on proximity in space (location) and time. You can read about the tool in a blog post here: Use Proximity Tracing to Identify Possible Contact Events 

Visualizing Proximity Tracing through time

This tool looks for entities that are within proximity of each other and that are downstream from an entity of interest. 

How to access the tool:

Sample applications: 

  • An organization monitors company-issued devices carried by workers. The company is interested in determining which employees were near someone that is known to have COVID-19. Using the point layer representing device locations and time, they look to find devices that have been within 6 meters and 5 minutes of the contagious person and other possibly contagious employees. 
  • An NGO is monitoring salmon populations using GPS and are interested in tracking the spread of salmon lice between escaped farmed salmon and wild populations. Some GPS-tagged farmed salmon were tracked to see if they come in close proximity with tagged wild populations, and how those wild populations may further spread the disease. The measurements also include a depth field, and the NGO uses the Attribute Constraint parameter to only find fish at a similar depth.

We'll be monitoring GeoNet (including this post)  and the ArcGIS Online item to help troubleshoot any issues you may have. 

Sarah Ambrose

Product Engineer, Esri

6 Replies
New Contributor II

Hi Sarah,

I am interested in using this tool but have a couple of limitations in terms of tracking data and was hoping that you could please advise.

I manage the GIS for a company that does coal mining and hires over 20 000 people. Because we do not have access to individuals tracking information, i thought that we could use information based on which areas you access in the mine areas based on your employee badge. The mine is segregated into different areas where you gain access by tagging your badge. I understand the guidelines from WHO specify contact as space: 2 meters and time: 2 minutes but i was hoping that could help us identify possible contact based on people who tagged in the same area and possibly infected other people in another area and so on.

Do you think this could be a viable solution to utilize the tool?

Looking forward to your response.  

Real-Time & Big Data GIS‌ 

0 Kudos
Esri Contributor

Hi Lebogang Mashishi‌,

This tool probably won’t work exactly for your use case, but I’m interested in a few questions to see if there is similar analysis we can look at to find when people are in the same room. Is the data you have spatial, or tabular? Based on what values you have, I think I can suggest some workflows. I’m interested to know what of the following is included in the tagging data:

  • Employee id or identifier?
  • Door ID (how much information is returned – do doors tag both ways, so you might not know which room someone is in, or do you know the room)?
  • Does the door location data get plotted on a map, or is it just an ID? 
  • Do you have room exit information, or only entrance?
  • Time – does this have entrance and exit, or only entrance?

Please let me know if you any of the questions don't make sense


0 Kudos
New Contributor II

Hi Sarah,

Thanks for the speedy response.

The data is in a tabular format. I already started plotting the locations of the entry and exit points. Each point has a unique ID that matches to the employees data on the tabular dataset. I join these two together.

The data has the following attributes: 

  • Employee ID 
  • Door Name/ID - The doors tag both ways so you will know if someone entered or exited a room
  • Entry or Exit
  • Exact date and time for both entrance and exit

The dataset has other information but i do not think it will be relevant just as yet.


0 Kudos
Esri Contributor

Hi Lebogang Mashishi‌,

Sorry for the delayed reply. In this case I think you can use the tool Join Features to find where people are in the same room at the same time.

For example, with Join Features you could do something like this:

  • Target layer and join layer are the same layer of features. The layer has a feature for each person (employee ID), the room (room ID - generated from the door name + entry/exit) they are in and the start and end time they entered and exited that room.
  • An attribute join to match the room ID
  • Temporal join to see when the times overlap. For the temporal join, if you had a field for the time they entered the room, and the time they exited the room you could do a intersect temporal join operation ().
  • Do a join condition like so: $target[“userID”] != $join[“userID”] to make sure the same individual doesn’t join to themselves – only others.

I realize this might not fit your data exactly as is, so there will need to be some tweaks made to join correctly or some data prep (Jon Feature might be helpful in this step as well!).

Here is a previous example using Join Features that might be helpful to understand the parameters . This example used GeoAnalytics Server, but that same tool is available in Pro and doesn’t require a Server.

- Sarah

0 Kudos
Occasional Contributor

Hi @Sarah,

very interesting tool, but I am having problems with the example that is already being sent ... I am not able to see the results after the execution a message always appears that the tool was unable to locate the user, see below:

The TraceEventTracks is empty

I've tested other users, but the result is always the same, , What can it be? Would you help me?


0 Kudos
Esri Contributor

Hi Sorato Souza e Silva‌, can you verify that you don't have a definition query or extent set that would cause all of the input features to be filtered out? Otherwise it may be bug in the tool - can you try running the same job without a specifying a date for the Entity of Interest? For example:

0 Kudos