Skip to main content

Hi. I have a feature class (ESRI filegeodatabase) with lines and one with points. The tolerence of the featureclasses are 0.02m, and I need to disperse/move some points which are within the tolerence of each other (or else they are overlapping according to ESRI Utility Network).

 

valves

 

I want to disperse/move the points by 0.025m so they no longer overlap. Just like this:

 

valves2How can I accomplish this? What I've tried so far is finding overlapping points with a neighborfinder and creating a custom transformer for moving the points. The custom transformer uses a snipper (with a set distance) and coordinateExtractor to get new coordinates for the points, vertexcreator for replacing the actual point and then another neighborfinder to find out if the point has other overlapping points. The distance used in the snipper is incremented by each iteration. But this isn't working. Am I maybe overcomplicating things? :)custom_transformer

 

Perhaps find all neighbors with your initial neighborfinder by leaving the number of neighbors to find blank. Select generate list. Then use the list index value as the multiplier for your snipper?


I made this thing. Maybe you can make it fit your data. The key to this working will be sorting your data and using a count to set your snipping as a percentage with some math. In my quick run through, I simply set the count as the percentage to demonstrate how it could work for you.

 

Attached FMWT.

 

Process

Created an arbitrary dataset of spikes

 

Image1

Densify to visualize distances

 

Image2

Snipped by percentages based off the count of the line

Image3

 

Workbench

WB


@torbjornd​  We have accomplished something similar in the Utility Network Migration workspace that we developed. See this article: Esri ArcGIS Pro Utility Network Migration Tools. If you download the workspace electricv34 the logic is in the bookmark "Clip & Snap Lines at Assemblies (complex devices)".

In this case though we are clipping the original ArcGIS conductors. We create a clip circle centered on the original ArcGIS device. The clip circle is scaled for each conductor line to give the affect you're after. Feel free to contact me directly if you want - mark at safe.com


Reply