The Spatial join function does not document the units that the distance value will be returned in. Furthermore the units returned are not the units of the join feature, target features, data frame or the cartographic coordinate system.
What are the units and how can they be set to the desired projection?
To ensure that you know what units your are working in, project all data sets to a common projection...close arcmap...then add the projected data back in, in that situation the dataframe coordinate system and its units and the coordinate system and the units of all the participating layers will be the same. Projection-on-the-fly is only useful for data exploration and should be avoided at all costs when one goes to the analysis phase.
I am actually in a similar situation to the original post on this forum, and could use a better response.
I have 2 X/Y files that I did a Spatial Join on, both of them with an Angular Unit = degree. The distance values I got were decimal numbers that make no sense whatsoever, and I have no idea as to how to convert them to miles.
I have tried Help, I have tried a field calculator, tried multiplying and/or dividing by 43,360, but no luck.
Run all geoprocessing analysis on planar projected sources that are in the same projection to get any sense out of the results. You cannot use unprojected sources and expect a useful result.
You have ended up with a planar distance calculation using a source layer in distorted spherical coordinates which have no meaning. You cannot just calculate the equivalent kilometres for a degree of latitude because the longitude scale is not constant. You might not notice this near the equator but in the temperate zone the difference in scale is 50%. Does the tolerance use a circle or an ellipse?
[The only tools that handle geodetic calculations are Project (of course) and Buffer of points with the geodetic option.]
I see the suggestion that you can set the output projection and let ArcGIS do the projection on the fly, but in my experience that is just asking to find subtle bugs and a lot longer processing. Since I live very very near the dateline +/-180 and do work across the boundary, it would be tempting fate for me.