Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

A friend of mine created a network of polylines that were all supposed to be connected. However, he just realized that many of the endpoints of the lines aren't connected, but are very close. I told him there should be a tool to snap the endpoints of the polylines if they are very close to each other, but I can't seem to find it. Does anyone know an easy way to do this?

share|improve this question
    
The Snapper and AnchoredSnapper transformers in the Data Interoperability Extension will also do this. –  Mark Ireland Nov 16 '10 at 19:04
add comment

5 Answers

up vote 5 down vote accepted

The direction of the answer would depend on the license level of your ArcMap. ArcInfo does have this capability built in. Even Editor has some tools to accomplish this task. However with ArcView level you would need to depend on other tools to do this. Not sure if it has changed in 10. I have ArcMap editor 10 and the snap command

Summary

Moves points or vertices to coincide exactly with the vertices, edges, or end points of other features. Snapping rules can be specified to control whether the input vertices are snapped to the nearest vertex, edge, or endpoint within a specified distance.

is what I would use. If you need other tools I think there are some free tools in et-geotools that will do it.

share|improve this answer
add comment

You can use the geoprocessing "Integrate" tool which clusters vertices in the same way that topology validate does (without the need of creating a topology).

At ArcGIS 10.0 there is a new tool called "Snap" in the Editing toolbox. The tool snaps the feature's vertices from 1 layer to the edge, vertex, endpoint of another feature. See link below.

Desktop Help - Snap (Editing) Tool

share|improve this answer
add comment

Depending on the distance identified as "close" there are tools. If you have at least an ArcEditor License for ArcGIS Desktop then you could create a Topology on the data. Once done during validation process the lines will move the distance of the cluster tolerance to snap to each other. By default the cluster tolerance is .001 m which is 10 times the default resolution of your data.

If this automatic process does not do all of these it will identify where the errors are, in ArcMap there is an Error Inspector which will allow you to extend bulk lines so that it can then connect where possible. this will then enable you to have as many automated as possible.

Hope this helps, CDB

share|improve this answer
add comment

Assuming your at the ArcView license and on 9.3, I would take a look at putting together a script in VBA. I would start off by taking some inspiration from some existing scripts at ArcScripts.

For instance, this QuickSnap script may be of use? Open it up and see if you can fiddle it to do what you want. Or maybe this Snap & Split script.

Id imagine you could run a script behind a UI control, to start an edit session, set a tolerance, cycle through features and snap endpoints of nearest other endpoints.

If you can find a copy of ArcView 3.2, then there are plenty of Avenue scripts to choose from:

Hope that helps :)

share|improve this answer
add comment

You can create a geometric network from those polylines and during the creation wizard you can enable feature snapping:

  1. Create geodatabase
  2. Create feature dataset
  3. Import your polylines
  4. Right-click on the feature dataset
  5. New -> Geometric Network
  6. Select your feature class
  7. When asked if the features are to be snapped, click yes and define a snapping tolerance
  8. Click through the rest of the wizard

The wizard will move your lines to match the endpoint of other lines in that feature class within the given snapping distance. HTH

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.