The Privacy Run

Sritoma Bhattacharjee
Data Mining the City
3 min readSep 25, 2019

Shailee Kothari and Sritoma Bhattacharjee

In a world with increasing data collection and varying worth of one’s data privacy, the simulation exposes the possible absurdities of the future by simulating pedestrian pathways that would be influenced by one’s concern over data protection.

Along with constant data monitoring through our phones and social media, there exist high data collection points in our urban environment. Tourist popular, insta-worthy, highly reviewed locations all become prone to higher data sharing due to the large population of people in the space. A higher population increases the likelihood of one being seen on somebody else’s social media or photographs and hence leading to less privacy in these locations. Our simulation studies pedestrian movement patterns in a typical block with a few insta-worthy and highly reviewed restaurants. How would the pedestrian movement be affected if some people move to avoid the data collection spots radius v.s those that want to be captured in these data collection spots vs. those that just don’t care.

So how does it work?

Agents : Pedestrians walking on the streets

Environment : The simulation uses a few downtown Manhattan blocks as the environment

Behavior : The agents either evade or get attracted to the zones of high data collection

Parameters: The percentage of pedestrians(agents) avoiding or forcing data collection + position and radius of data collection devices

Inputs:

a. Insta-worthy spot locations and a high data collection zone radius adjacent to it.

b. % of pedestrians preferences

Output: A simulation of observable pedestrian movement pattern based on data privacy preferences

Privacy influencing Path
//the script PlayerController controls the behaviour of our agents = people
//navmesh is used to determine the pathways that the agents will be walking on
using UnityEngine;
using UnityEngine.AI;
//defining the variables public class PlayerController : MonoBehaviour
{
public Camera cam;
public NavMeshAgent agent; //The agents are given a target = destination (position) to move to through the city set by the click of a mouse button // Update is called once per frame
void Update()
{
if(Input.GetMouseButtonDown(0))
//the camera is used to send a ray to the detected position of the mouse click
{
Ray ray = cam.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
//we use an if function to move the agents to the ray hitting point through the shortest pathif(Physics.Raycast(ray, out hit))
{
agent.SetDestination(hit.point);
}
}
}
}

The next step would be to increase the density of the data capturing devices over time and changing the data privacy preference probability of the agents over time thus depicting possible scenarios.

using System.Collections;using System.Collections.Generic;using UnityEngine.AI;public class Path : MonoBehaviour{public float timer;public int newtarget;public float speed;public UnityEngine.AI.NavMeshAgent nav;public Vector3 Target;// Start is called before the first frame updatevoid Start(){nav = gameObject.GetComponent<UnityEngine.AI.NavMeshAgent>();}// Update is called once per framevoid Update(){timer += Time.deltaTime;if(timer >= newtarget){newtarget();timer = 0;}}void newTarget (){float myX = gameObject.transform.position.x;float myZ = gameObject.transform.position.z;float xPos = myX + Random.Range(myX — 100, myX + 100);float zPos = myZ + Random.Range(myZ — 100, myZ + 100);Target = new Vector3(xPos, gameObject.transform.position.y, zPos);nav.SetDestination(Target);}}

--

--