I'm a new user to ArcGIS and I'm trying to match a polygon to a point that's nearby. To be more specific, the blue area are the census tracts that get polluted. The green spots are the factories, the potential sources of the pollution. I would like to take every census tract and match it with the nearby factory (basically assuming the nearby factory is the culprit). If the census tract itself contains one factory, I want them to get matched. If the census tract itself contains more than one factory as in the highlighted area on the image, I'd like this census tract get matched to all the factories within it. If the census tract itself contains no factory, I'd like to match it with the closest factory.
I tried 'Join' from 'Join and relates' and 'Spatial Join' and 'Near' from the toolbox. It looks like 'Spatial Join' does what I want (one to many, closet). But when the census tract has two factories in it, it only gets matched to one of them, not both. I also exported the attribute table of the spatial join and the one to many match is still not there.
I'm not sure what I did wrong or maybe it can be achieved by some other function that I'm aware of. I'm currently working with ArcGIS desktop 10.3