Dynamic Solution for Overlapping Points

3882
19
03-17-2022 06:10 AM
Status: Open
Labels (1)
TanGnar
Occasional Contributor

It would be wonderful to have a dynamic solution for dispersing overlapping markers for point data. This could work similar to the way Labels in Maplex can be configured for placement. If the Maplex Label engine can do this dynamically, and we have other symbol effects that work dynamically, it seems possible to have a dynamic disperse points option.

This could be very helpful for our mapping workflows, where we have data in an enterprise database and we make many maps with lots of markers. Instead of having to maintain separate data for cartography, or fiddle with 'labelized' versions of the symbology, this solution would make our mapping easier. 

19 Comments
KyleWikstrom

Looking for dynamic point feature dispersal capability in order to disperse point features that are stacked or within close proximity to others and dynamically update the dispersal based on map scale. A use case for this is in public works and highway where we map the inventory of road signs. Each sign is effectively mapped as a single point feature, and often multiple signs are placed on the same post. Being able to disperse or offset the display of these stacked sign points, or sign points that are too close to each other to see the complete symbol, helps all of our stakeholders to:

  1. More completely understand the concentration of sign assets
  2. Better understand the situation along a roadway (communicating that a discrete location is informing travelers of multiple pieces of information)
    1. Example: Travelers at a specific location are informed to Stop AND of the names of two intersecting streets
    2. Example: Travelers at a specific location are informed of the route number AND that they are approaching a junction
    3. Example: Travelers at a specific location are informed of the name and direction of an upcoming intersection AND the names of tourist attractions in the same direction AND that a public water access in the same direction exists
  3. Take advantage of the map layout space and communicate more information in it without having to filter off features (definition query) in order to see what other types of signs are communicating information to travelers at a location - losing the complete context of what information is shared at a single location
  4. Supporting this capability dynamically so that users do not have to create multiple feature classes using the Disperse Markers geoprocessing tool for use at multiple map scales. Providing this visualization seamlessly, and removing the time it takes for the map author to create these feature classes manually for multiple scales.

The option to "explode" a cluster of point features when a user hovers over the cluster may have value when trying to declutter the map. However, this does not enable users with the ability to understand the entire situation in a neighborhood or along a roadway if they have to manually over a cluster in order to disperse a point cluster's features and when they are comparing and visualizing multiple locations simultaneously along a roadway. I am not looking for the point symbols to change size, but for the symbols to disperse or offset dynamically as the user zooms in and out on the map.

I do anticipate that beyond a certain scale that point dispersal will make the mapped features' locations indistinguishable from others and this would have to be considered for any such capability or by the map author, but it's a place to start.

Below is an initial rough diagram of the type of desired dynamic point feature dispersal capability we're looking for.

KyleWikstrom_0-1658352139598.png

Additional use cases for this capability include, but are not limited to:

  • Visualizing stacked or proximal assets
  • Asset inspection condition records over time
  • Weather and forecasting (ex: sunny AND cloudy)
  • Soil types at a drill sample site
  • Crime incidents and types

I have not seen this capability described in ArcGIS, but have received requests for it and understand the value. Looking forward to hearing what others have to share.

@KoryKramer @GregoryLehner 

jcarlson

I regularly use both ArcGIS Pro and QGIS in my work, and point dispersal symbology is one of the things that QGIS does very well, and has for some years now. I bet it's only a matter of time. I mean, Pro finally got blend modes, too.

I would definitely use this if it were implemented.

KoryKramer

@jcarlson make sure to add your Kudos if you'd like to see this 😉 

@KyleWikstrom what you're asking for specifically sounds a lot like https://community.esri.com/t5/arcgis-pro-ideas/dynamic-solution-for-overlapping-points/idi-p/1154730 I think that the original understanding on our side was to have a <some action like hover, etc.> to dynamically and temporarily "explode" the points apart. From your detailed (and excellent by the way) description, it actually sounds like you're looking for what is described in that other idea.

Please review that and let us know. It doesn't mean that both can't be done - we're not designing a solution just yet... just trying to fully understand the use case and your idea outlines that well. Let me know about that other idea. 

Cheers

KyleWikstrom

@KoryKramer The idea described in https://community.esri.com/t5/arcgis-pro-ideas/dynamic-solution-for-overlapping-points/idi-p/1154730 sounds like what we are looking for as well. I had not considered an action like <hover> to dynamically and temporarily "explode" the points apart, and while this may be beneficial in some use cases, our users have a need to "explode" the points apart based on an action more like <zoom> and <pan>. An action like <zoom> and <pan> should "explode" all of the points apart that are in the visible map extent.

I see value for both <hover> and <zoom/pan> actions, however, our users have a greater need for all visible clusters to explode simultaneously in order to understand the entire situation of all the data in the map extent/area versus a single cluster.

Your speedy response is much appreciated! 🙂

JesseWickizer

@KyleWikstrom, I realize this isn't exactly what you're asking for, but I'll offer this workaround to use in the meantime that uses Maplex labeling settings.

  1. Build label classes for each sign type. 

    JesseWickizer_0-1658526202939.png  JesseWickizer_2-1658526336800.png 

  2. Configure the placement settings for sign labels. Note how the center position is top priority so it places on top of the point if there is only 1 sign point at a given location. Use these properties for all signs except street names.

    JesseWickizer_3-1658526392068.png

  3. To put the street names at the top, I made them the highest priority label class, and used slightly different placement properties. 

    JesseWickizer_4-1658526584064.png

 

End results:

Large Scale:

JesseWickizer_7-1658526723209.png

Small scale:

JesseWickizer_6-1658526695399.png

 

GISJess

Sometimes when creating a report map in Layout, a few points will share the exact same lat/longs. Displaying this on a report can be tricky. In the past, I just have made the point that is in the background slightly bigger. I really don't care for how this looks. And I don't like moving points around, since that is not giving the true story.

It would be nice if there was a tool that could separate points that share the same coordinates, but create an extent indicator showing the locations the points share. Google Earth does this when you hover over points that are close to each other. I would also like if the points could keep their original lat/longs. 

I am attaching an example of Google Earth, and my work around in Pro.

If there is a tool for this already, please let me know. I tried playing with Offset and Disperse Markers, and I couldn't get those tools to work for me. 

JesseWickizer

@GISJess, using labeling for the points like described in my earlier post has the benefit of the point data keeping the original lat/longs like you're looking for. If you don't want actual number labels on the points like in this example below, change the label expression to something simple like "o" and set the color to 100% transparent.

JesseWickizer_0-1683556154764.png

 

GISJess

@JesseWickizer Thanks for a quick reply.

Quick question, how did you get the Leader line to from the symbol to the label. I played with the different settings and I cannot get the line to connect to the new blue square label symbol. 

Thanks!

GISJess_0-1683585854894.png

 

DanLee
by Esri Regular Contributor
JesseWickizer

@GISJess, do you have a Gap set on the Point symbol callout? A Gap value greater than zero would cause the leader to start away from the point marker. Below are the callout settings I used in my example map.

JesseWickizer_0-1683642712308.png