Select to view content in your preferred language

Fuzzy Geocoding

656
6
04-12-2024 09:15 AM
Status: Open
Labels (1)
Sarah_of_Lubbock
Occasional Contributor

It would be super beneficial to have a geolocator that will fuzzy up the actual locations within a tolerance setting.
For example - you have all the exact locations of each crime, and you need to make a map where each point is represented and the user will need to know about where (like the neighborhood) the activity happened, but they don't need to know the exact house it happened at.  So the first crime spot would be geolocated 50 feet to the left of the actual location and the second crime point will be geolocated 200 feet to the southwest.  

Something like that would be super amazing and help with a lot of workflows where you need to keep a level of privacy up.

Tags (1)
6 Comments
clt_cabq

This is an interesting idea and i understand the reasoning. However, it would worry me that the information would not be useful for other spatial analysis and the 'fuzziness' of the data might get not be understood or well documented and then those locations get somehow enshrined as being 'real'. I think it would be a better approach to have a deliberate method for aggregating points in a way that is useful for a particular analysis.

Sarah_of_Lubbock

The idea isn't really for internal analysis - it would be more geared to the public being able to see data, without them being able to tell who is who kinda thing.
We still need individual points, and not an aggregation, so the public can view the specifics they are interested in.
An example that already uses a fuzzy location:
https://cityoflubbock.maps.arcgis.com/apps/webappviewer/index.html?id=d72017d8d36143949cc921a02bd247...

There is a lot of coding to make that map work though, so it would be nice if it was just a tool that was available.  In the data itself for the example above - the addresses only show the block range, the actual address to point at a home is hidden.  So that could also be done with the fuzziness tool - so that all identifying information is hidden, and then anyone analyzing the data would also be aware that it was not precise.

BobBooth1

Making a displaced set of points is covered as one option in this tutorial:

https://learn.arcgis.com/en/projects/de-identify-health-data-for-visualization-and-sharing/#generali...

You could do something similar to your points (including adding some random value to point X and Y using a calculation).

BobBooth1

To make it more efficient, if it is a task you do regularly, you could build a model to do it in ModelBuilder.

MErikReedAugusta

Based on what I see there, it's fundamentally just a block polygon that's condensed down to a point.

A built-in tool would be nice, but in the interim if someone's wanting to build a custom tool to do the job, here's what I'd do (roughly):

  1. Convert the full address down to just a block
    1. 1274 Broadway -> 1200 Block, Broadway
  2. If your road centerline database is already broken into blocks, then just select that segment.  If it's not, then you'll need to somehow approximate this step.
  3. Return that Centerline segment.  If you want a point (or a polygon), generate one from the midpoint of that Centerline.

 

The one question I have both about your example map and implementation like the tool I'm describing:
What happens if you have a robbery at 1274 Broadway and an assault at 1269 Broadway, both within the relevant time window.

 

Both are going to be condensed down to 1200 Block, Broadway, so it would seem you'd have to have some sort of aggregation going on.

ShanaBritt

If you build a locator that supports the StreetAddress role you will be able to search for street blocks like 100 block of New York St, Redlands, CA or 200-500 block Taylor St, San Francisco and new for ArcGIS Pro 3.3 you can search for streets in between other streets,for example, 5th St between Victoria Ave & Roberts St, Highland, CA or I-10 W between Exit 75 and Exit 76, Redlands, CA.