I am working on parcel and point data. I converted polygon (parcel) to point features using ARctool box i.e. feature to point (Original labelled in picture). After this step I want to bring all point on edge of each polygon (Final Result picture). I tried to use snap tools (from Arctool box ), it gives output on nearest edge (shown in picture After Snap) but I need all points on front edge (Final Result Picture).

If there is any existing tool or script (python or VB) which can give me desired output?

Sample Data of Final Output

  • Probably you should snap points to lines that can be made from polygons. Try to convert polygons to lines then make a dissolve layer from polygons and get lines that are on the edge of dissolved polygon (Intersect). Finally snap points to these intersections layer. – Pavel Pereverzev Aug 14 '17 at 13:38

The would be a four step process, involving determining which polygons don't have overlapping sides.


enter image description here

  1. Initiate a feature to line on your parcel feature class.

enter image description here

  1. Perform a spatial join on the line feature class created in step one. Match option is SHARE_A_LINE_SEGMENT_WITH.

enter image description here

  1. Perform a Select By Attributeon the spatial join feature class using the SQL where clause Join_Count = 1.

enter image description here

  1. Perform your snap on the spatial join feature class with the above selection applied.

enter image description here


enter image description here

Quick and dirty script:

lineFc = r"C:/Users/e1b8/Documents/ArcGIS/Default.gdb/Test_FeatureToLine"
arcpy.FeatureToLine_management("Test", lineFc)
sjLineFc = r"C:/Users/e1b8/Documents/ArcGIS/Default.gdb/Test_FeatureToLine_SpatialJoin"
arcpy.SpatialJoin_analysis(lineFc, lineFc, sjLineFc, match_option = "SHARE_A_LINE_SEGMENT_WITH")
arcpy.MakeFeatureLayer_management (sjLineFc, "Test_FeatureToLine_SpatialJoin", "Join_Count = 1")
arcpy.Snap_edit("Test_FeatureToPoint", "Test_FeatureToLine_SpatialJoin EDGE '500 Feet'")
  • Thanks Brundage this method really reduced my effort up to 90%. Thanks you so much. – Munawar Hussain Aug 17 '17 at 11:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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