ArcGIS - displace point markers in order to display all

benbakelaar

Posted 17 February 2007 - 01:26 PM

benbakelaar

Ultimate Contributor

Associate Admin

658 posts

Gender:Male

Location:North Brunswick, NJ

Interests:maps, information, technology, scripting, computers

United States

I might have asked this question before, but I don't think I ever found a good solution. Let's say I have a list of 70 hospital locations, with only city and state. Since there may be more than 1 hospital per city, I end up with a map displaying 40 points. There must be some automated way of displacing the points that are on the same location, so that, if not all, at least closer to 70 points are displayed. Typically I do my geocoding outside of ArcGIS and then use Display X Y data, but I have no problem using the Arc geocoder. Does anyone know a solution or workaround for this?

Posted 17 February 2007 - 04:00 PM

Exactly, sorry for not being clearer. Since the points all end up on top of each other, only 40 are visible.

These are geocoded with city/state, so of course they all have the same point. But I am also interested in why no GIS software I've used yet has this feature in general for displaying points - at least an option, because as you zoom out, points obviously begin to coalesce, and I think it's not too hard of a programming task to have them "spread out" so that all (or a certain percentage) are still displayed. Obviously this technique is useless in extreme examples - i.e. showing 70 points in a state when zoomed out to the national level.

Ben,

I'm a little confused as to why you would end up with only 40 points rather than 70? Are the points falling on top each other and only 40 are visible? Or are you missing 30 points?

danielle

Posted 20 February 2007 - 10:41 AM

danielle

Key Contributor

Validated Member

52 posts

Location:NYC

United States

We had written an Avenue script to deal with this problem. For points with the same location, we added an offset of a specified distance. You should be able to write a new script for ArcGIS, or maybe someone has already? I can email you the Avenue code to get you started if you'd like.

I think the true ArcGIS "solution" would be to store customized cartographic placements in a geodatabase, but that requires ArcEditor/Info. (ESRI, it would be nice to have these features in ArcView! Also storing table relationships.)

pghardy

Posted 20 February 2007 - 12:19 PM

... There must be some automated way of displacing the points that are on the same location, ... Does anyone know a solution or workaround for this?

You are not alone in wanting this, and there is some research work gone on recently in ESRI to prototype some point dispersal tools that might evolve to see the light of day in some future release of ArcGIS. The concept is to identify point clusters, then displace the clustered points into a regular distribution (ring, circle, cross, square, etc), centered on the cluster center

The trouble is, its one of those tasks that sounds simple, but making a generic tool is harder than it sounds.It would be a bit too restrictive to insist that the input points are totally identical, and if you allow a tolerance, what does it mean if you have a set of points where each is within the tolerance distance of a neighbour, but together they stretch over a long distance. Is that one cluster or several? For the dispersal, what should you do if there are several thousand superimposed points all on the same spot, so displacing them would over-fill the map? Do you allow two adgacent clusters to interleave when dispersed? Should this be one single geoprocessing tool that does clustering and dispersal, or should there be a one cluster tool and a separate dispersal tool, so that you could cluster things by attribute as well as distance? Do people mind if points are dispersed symmetrically, or do they need to apply barriers (keep dispersed cluster points on the same side of the road), or to disperse only within a polygon (keep dispersed points in the right state)?

Cartisan Maps

Posted 20 February 2007 - 11:40 PM

Cartisan Maps

Contributor

Validated Member

24 posts

Location:Washington, DC

United States

Ben, I suggest the dispersal tool that Pghardy provided. I used it over a year ago, and I recall it getting the job done. I didn't use it for long, as it was a stop gap solution until I could get UN information officers to do QA/QC on their haphazardly produced datasets.

Also, I don't have the link offhand, but I recently came across a write-up on using the ArcMap Label Engine to disperse points. It may have been a Cartotalk or ESRI Forums thread. I'll see if I can dig it up again for you.

majose

Posted 02 June 2010 - 11:21 AM

majose

Newbie

New Member

1 posts

Chile

About Paul Hardy said, I saw the edndoc, but in How to use> "Register PointDispersalVB.dll and double-click the PointDispersalVB.reg file to register to component categories". Where can I get these files to enable the "Custom renderers" option??

frax

Posted 03 June 2010 - 02:15 AM

I just did this - and I used the disperse markers toolbox for cartographic representations, worked without a problem! Here is another solution, but it requires that they have exactly the same coordinates, which you can first get with collect events, if you don't have it already. http://arcscripts.es....asp?dbid=15365

We just received a bunch (50,000 records) of accident data for our region that I am working on mapping. I'll post some in a bit, but here is a pic of a map I made a bit ago using this method. It involved thousands of overlapping point features (taxlot centroids) depicting different urban amenities for a revitalization discussion.

We just received a bunch (50,000 records) of accident data for our region that I am working on mapping. I'll post some in a bit, but here is a pic of a map I made a bit ago using this method. It involved thousands of overlapping point features (taxlot centroids) depicting different urban amenities for a revitalization discussion.