[GIS] Spatial Join on two point featureclasses produces empty output featureclass

analysisarcgis-10.0attribute-joins

I have two point featureclasses that intersect each other. They are in the same projection and dataframe. The issue is, when I perform a Spatial Join the output point featureclass is empty. The file is created and the attribute table contains fields, but the points are not created where they intersect.

In reverse this operation works successfully (proving they do intersect), but I obviously end up with the wrong attributes in the output file. I have searched this issue, but have yet to come up with a plausible solution.

I suspect this may have something to do with the fields used to uniquely identify the points within each featureclass, but so far I have yet to find a problem. I even attempted to delete extraneous fields from each file, since I only really want to transfer one attribute field across the featureclasses.

Edit: This questions is related to my previous post.

Edit 2: As some have suggested I have incremented the search tolerance without change.

Best Answer

Strange that you can do this one way but not the other. That would leave me a bit concerned as to whether the spatial join was correct for every point?

So this doesn't get confusing lets be specific about the datasets. You want to join data set "A"'s attributes to dataset "B" but you can only do it the other way round?

A quick solution would be to :

1) Copy the FID of dataset A to a new field e.g. "A_FID2" 2) Spatially join B to A. 3) Copy the A_FID2 value to a new field in dataset B. 4) Table Join A to B via the common FID2 value.

5) If there is not an equal number of points in each dataset sum the A_FID2 values in each table. If all points have been successfully joined the values will be equal.

NB: FIDs are cannot be relied on to be stable when a dataset is edited - hence the copying to FID2 to fix the number for use as a key.

Also, the process above will create allot of redundant data in the intermediate steps, so use an "in memory" workspace.