This function is meant to go hand in hand with a webapp that hosts a GUI for interacting with this function.
The function takes 2 inputs via the semantic connect/invoke.
One of the inputs is expected to be encrypted while the other one represents the users' own location.
It doesn't really matter which location data is passed in first as the function does not distinguish between the two locations, after receiving two inputs, the function will return a value.
Just follow steps from this blog post!