I've got stream reaches and basins. The basins have a mean slope class which I need to transfer to the stream reaches. Some stream reaches are outside the basin feature class, so those reaches need the closest basin's attributes.
Any ideas why the output of my Spatial Join (target features: reaches, join features: basins, join operation JOIN_ONE_TO_ONE, keep all target features: true, match option: closest, search radius: blank, distance field name: blank) turns out like the attached image? Both basins and reaches are colored by slope class.
edit: Could it be something to do with trying to join 20,000 basins to 250,000 stream reaches? Is there a limit to how many shapes are considered in a Spatial Join?
I reproduced your case with just two polygons and a line inside one polygon, doing the same operation; the line finds the other polygon, not the one it's in. We will try to fix the bug. You may submit a bug if you would like to keep track on it. Thanks for bringing this up.
You may be able to work around it: using the INTERSECT option for streams inside the basins, and try CLOSEST for those outside. Sorry about the inconvenience.
OK, at least I'm not going crazy. It seemed to work for all of the segments outside of polygons. Luckily, I only have 3 slope class (high, medium, low) so I was able to spatial select/field calculate the lines inside.