Select to view content in your preferred language

Finding lines that do not touch others by a small amount

1799
1
09-03-2011 07:20 PM
CiroPabón
Emerging Contributor
I build road networks. Sometimes the data comes from different sources. One of the most time-consuming processes is to find lines that apparently touch each other but in reality do not, because they are not well drawn. They do not touch by very small amounts.

I guess sometimes this error happens when the person drawing the line forgets to snap properly. I've also seen people (me included) moving lines inadvertently by small amounts when clicking on them in an editing session.

I know I can select all dangles in a topology, but many of them (actually, most of them) are "valid" dangles, that is, places where a road actually ends. So, when you check the topology you end with a lot of "false positives".

In short, I want to find the "false" dangles, that is, lines whose end is at a small distance from another line because of drawing errors.

As you can imagine, when I say "small distance" it means one thing, and when other person says the same he can mean a different thing. I can be talking of meters, millimeters or kilometers, it depends on the application you're working in.

I just created a topology, took the dangles that result from the topology, converted them to a layer, created a buffer for the line feature and found which dangles fall within the buffer. As usual. It is a time consuming process and you are never sure you've found all errors.

This process took me the best part of today, given the complexity of the network I'm working in and the amount of editing it has "suffered" by four different contractors (and the topology editing I had to make because of other errors).

After checking for lines at less than 5 meters, I just found a site where the lines are 10 meters apart, God knows why. Then, I threw my hands up in the air and started this thread.

Simple: has anyone ever achieved such a revision of a network in less than half a day?

Why is that I cannot find a tool or topology rule that allows me to do such a process? I mean: to find lines whose non-connected ends are at an arbitrary distance from another line. Please, enlighten me.
Tags (2)
1 Reply
JonWebb
Emerging Contributor
Hmmm... tricky. Here's my idea.

I used Xtools -Intersection tool to create a point file of all points where there were intersections in the road FC. i.e a point was only produced where the roads touched.

Next I used the Buffer tool to produce a polygon of 1m diameter around the intersection points. Within this FC was an attribute called "Buff_dist" with a value of 1.

Then I used ET Geowizards Polyline to Point tool (set to nodes) to produce a point file of the line ends of the roads.

Next I did a spatial join with the Road Node points as the target and the 1m buffer polygon as the join feature. This produced a new point file where only the points within 1m of an road intersect had the Buff_dist attribute set to 1. If the end of the line was further than 1m from a road intersection the value was NULL.

I then set the spatial join points layer symbology to show a dot only at points with a Buff_dist attribute of 1. Now when I looked at the map if I saw a road intersection WITHOUT a dot I knew that the roads were further than a metre apart.
0 Kudos