[GIS] ERROR 000800 when trying to snap points layer to line or buffer layer

arcgis-10.0arcgis-desktopbuffererror-000800snapping

I am using ArcCatalog 10.0 and trying to snap a set of points to another layer that has roads in it. The points represent 10th miles along the road.

Here are the general steps for what i am doing:

  1. create a new local geodatabase
  2. copy my points and road layers into new GDB via copy/paste.
  3. double click the snap tool in toolbox -> Editing tools
  4. enter points layer as "input features", and line layer as "Snap environment".

These steps result in this error:

ERROR 000800 The value is not a member of END | VERTEX | EDGE.

I have googled all over and read all the docs I could find on the ESRI site, but i can't make sense of what this error is telling me to do.

Does anyone have any ideas?

I also tried to create a buffer layer from the line layer using toolbox -> Analysis tools -> Proximity -> buffer and using that in the "snap environment" paramater, but i get the exact same error.

I suspect my line layer is in the wrong format, but I am stumped on my next steps.

Best Answer

Just encountered this myself. Got it working by putting an extra set of brackets [] around my env settings. The Arc help example is misleading because they use two sets of env settings, each defined in a variable with brackets, and then they nest these variables inside brackets.

Here is the code that wasn't working:

maxDist = str(maxDist + 1) + " Meters"        
arcpy.Snap_edit(pntFile,["E:/geoProjects/scaling/input/networks/HPN_split.shp","EDGE",maxDist])

...and the code that is working:

maxDist = str(maxDist + 1) + " Meters"        
arcpy.Snap_edit(pntFile,[["E:/geoProjects/scaling/input/networks/HPN_split.shp","EDGE",maxDist]])