4

I have a line dataset that was produced from ModelBuilder (not built by me) that involves splitting lines into individual segments using existing Point dataset in between as the split zone. However, the process has a little "flaw" and it created two extra duplicates that retains the incorrect attributes from other Point on the original line.

So what I ended up with is 3 short lines (with identical length but incorrect attributes) on top of each points and only one of them has the correct attributes that I want to keep.

I've attached couple images below for clarity-

Figure 1: 3 Line feature stacked atop a single Point feature.

3 lines stacked on a single point

Figure 2: Table for the 3 selected identical lines

Table for the 3 identical lines

If you look to the far right of the table, the Shape_Length are identical, but the 3rd from the top is the only attribute that is correct based on its location. The other two lines have CROSS_PRCN and LENGTH taken from the purple Point to the right on the same original Line shown in Figure 1 which I want to remove.

Is there any way to remove the other two lines that have the incorrect attributes? There are over 600,000 line segments so I can't remove them manually. I tried using Delete Identical but because of their identical shape length, it doesn't select the ones I want to remove correctly. The single Point has one field (SplitID) that matches the correct Line segment but I'm still quite an amateur at GIS so I don't know if there is a tool that can select matching attributes from two dataset and delete the duplicates.

I have ArcGIS 10.2.2 w/ ArcInfo license installed. Available extensions are - 3D Analyst, ArcScan, Geostatistical Analyst, Network Analyst, Publisher, Schematics, Spatial Analyst, and Tracking Analyst.

PolyGeo
65.5k29 gold badges115 silver badges350 bronze badges
asked Dec 14, 2014 at 17:35
9
  • 1
    Can you edit your question using the button at the lower left to add which version, license level, and extensions you have available? Those details may affect the solutions available. Because you've mentioned trying Delete Identical I assume you have an Advanced license, but it's best to state that in your question. Is there anything that uniquely identifies correct records? For example the bad ones have null values for a particular field but the good one has something. Screenshots of the attribute tables with duplicate records highlighted might also help explain the relationships better. Commented Dec 14, 2014 at 17:47
  • i was afraid it might get too cluttered but since you mentioned it I'll go ahead and put in all the information! Commented Dec 14, 2014 at 18:15
  • So if I understand correctly, the segments only intersect the point that has the correct attribute data, but you've got two extra segments with attribute data from an adjacent point. CROSS_PRCN would match between the correct segment and intersecting point, but not the two incorrect segments and intersecting point. The first idea that comes to mind is Spatial Join the points to the lines, select all records where both CROSS_PRCN fields match, and export to a new set (or select where they don't match and delete). Commented Dec 14, 2014 at 18:50
  • Is it always the last out of 3 lines that you want to keep? Commented Dec 14, 2014 at 21:16
  • @ChrisW the routine was more flawed than I expected because your solution would've worked otherwise. The Model resulted in "phantom" lines (lines with NULL attributes) at the end of each sidewalk block so I tried your solution and use spatial join with MATCH_OPTION = CLOSEST to give the phantom lines their attributes. But now I end up with certain lines not getting the correct CROSS_PRCN as there are two different type of Point in the dataset...feel like I almost have to rewrite the whole question to include all the different little details that is affecting the output. Commented Dec 16, 2014 at 1:02

1 Answer 1

1

If I understand your question correctly, you may try this:

  1. Make copy of line layer
  2. Join (non spatial) point layer to line layer by SplitID fields
  3. Apply select by attribute on line joined table to "splitID_pole" IS NULL

This should select all the duplicate lines b/c their splitID value does not match the point layer splitID value.

answered Dec 15, 2014 at 2:20
2
  • I don't really get what you mean by Step 2. Do you mean Join Field or Spatial Join? Commented Dec 16, 2014 at 1:58
  • @blackeyez, updated answer. Commented Dec 16, 2014 at 13:03

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.