[GIS] way to “disperse markers” across multiple point layers

arcgis-desktoparcmapcartographymarkerspoint

I have a bunch of point layers which often have overlapping features. The disperse markers geoprocessing tool works within a layer but is there a way to do it across more than one layer, so none of the points are overlapping? Using ArcMap 9.3.

Best Answer

I don't see any direct way, but it'd be easy enough to perform a Merge (docs) on the input data, mapping a field to retain information about the origin layer. In some cases, you may be able to use this merged layer directly, and symbolize the different features within it. Perform disperse markers on the merged set, and use as-is or split on the unique features mapped from fields.

If you only care about making them non-overlapping, and not their specific location, you could displace each layers positions by some systematic amount below the actual mapped resolution of your data, so that they were naturally clustered when mapped. For example, if you had layers A and B, you could make the least two significant figures of A something independent from B:

layer    lat     lon    rule perturbed_lat perturbed_lon
    A   33.0  -120.0  +0.033        33.033      -119.967
    B   33.0  -120.0  +0.011        33.011      -120.989

Now if you perform disperse on one of these layers, the data will already be clustered into distinct areas of the map. You'd have to play with the offset values and figure out an appropriate offset. But this approach would give you a systematic way of preventing collisions between layers.

Related Question