If the 5K_ID for related points in two files don't match, are there any other criteria or conditions (spatial or attribute information) that can be used to "match" them? If not, you may need to step back and look into the processes that have caused the unmatched IDs. Sometimes the problem occurs in early processes and may be solved more easily.
Are the 5k_ID values unique for each of the point feature classes?
If possible, could you please share your data (keeping only the 5k_ID field)? You can send the data to my email as well: nahmed@esri.com
It will be easier if you use Python script - do you want that?
import arcpy proposed = r'D:\data\f.gdb\points_A' original = r'D:\data\f.gdb\points_B' # create an empty dictionary to store shapes proposed_points = {} with arcpy.da.SearchCursor(proposed, ("5k_ID", "Shape@")) as cursor: for row in cursor: # populate the dictionary # use 5k_ID field value as the key of the dictionary proposed_points[row[0]] = row[1] # create another dictionary original_points = {} with arcpy.da.SearchCursor(original, ("5k_ID", "Shape@")) as cursor: for row in cursor: # populate the dictionary # use 5k_ID field value as the key of the dictionary original_points[row[0]] = row[1] # iterate one of the dictionaries with ID values for id_5k in proposed_points: # get proposed and original points with same ID orig = original_points[id_5k] prop = proposed_points[id_5k] # now find the distance dist = prop.distanceTo(orig) print dist
That is an important piece of information.
I would think you can use the link table to assign the equivalent 5_k IDs to the points with 6_K IDs; and then use the 5_k IDs in both point sets to do what you need to do.
If that's the case, try Join Field tool to transfer the equivalent 5_K IDs to the points through the common 6_K IDs.
In case you do not find a way to get a solution using the system tool, here is a python script you can try on.import arcpy proposed = r'D:\data\f.gdb\points_A' original = r'D:\data\f.gdb\points_B' # create an empty dictionary to store shapes proposed_points = {} with arcpy.da.SearchCursor(proposed, ("5k_ID", "Shape@")) as cursor: for row in cursor: # populate the dictionary # use 5k_ID field value as the key of the dictionary proposed_points[row[0]] = row[1] # create another dictionary original_points = {} with arcpy.da.SearchCursor(original, ("5k_ID", "Shape@")) as cursor: for row in cursor: # populate the dictionary # use 5k_ID field value as the key of the dictionary original_points[row[0]] = row[1] # iterate one of the dictionaries with ID values for id_5k in proposed_points: # get proposed and original points with same ID orig = original_points[id_5k] prop = proposed_points[id_5k] # now find the distance dist = prop.distanceTo(orig) print dist
hmm... sorry but I don�??t get it ... I do the join and then what? I can´t find a way to calculate distance between the two related points, a near analysis will give me the closest point but that point may not be the one I´m interested on. Using distance tools I´ll get the huge distance matrix again...
That script looks good... i´ll try to look intoit and let you know how it goes... THX a lot!!