I have two line features about road in a city, one layer A contains some road's speed limit information, and another one B doesn't. Now I want to assign layer A's speed limit to layer B according to the location of the roads. Somehow, the two layers are from different sources, and the accuracy are different. I have already uniform the coordinate system, but the two layers cannot coincide with each other perfectly.
What tool can I use in ArcGIS to solve this problem? Thank you very much.
Give a try to Spatial Join Tool .
If you have an Advanced license you should use the Detect Feature Changes tool, especially if the lines have some common attributes like Street Name, The tool works fairly well, although it still requires a fair amount of manual checking to validate, but that is true of all conflation approaches with data like what you described. This tool does account for the line bearings, so generally its results will not include false matches of east/west roads with north/south roads.
Take a look at the conflation toolset, especially the Transfer Attributes tool:
Transfer Attributes—Help | ArcGIS for Desktop
Jay Sandhu