I have a point shapefile of about 100 points and a polyline shapefile of about 200 lines and I am interested in finding the distance between every point and each individual polyline. My polyline shapefile represents individual fault lines in a region. So for each polyline (or fault line) I want to calculate the distance to each of my points. I know that I can calculate the distance between the points and the closest polyline to each point but I'm not sure how to go about calculating the distance between my points and each individual line. Any ideas?
2 Answers
You can turn your polyline shapefile into a route using Create Routes in the Linear Referencing Toolbox. Then use the tool, Locate Features Along Routes, also in the Linear Referencing toolbox, to find the distance to the nearest routed polyline and it's nearest perpendicular location along the route. I always use ArcMap's Search button or key Ctrl+F while in your mxd and just type in whatever tool you're looking for.
You'll need to set a large enough search radius so that all your points are captured when using Locate Features Along Routes (and search radius only works for locating points.)
The MEAS field will be the point's perpendicular location along the route in whatever map units your mxd is set in (feet, meters, etc.), and the Distance field, what you're interested in, will contain the nearest distance from the route. A negative (-) number is west of the route, and a positive number is east of the route.
If you have an ArcInfo/Advanced license then the Generate Near Table tool will calculate the distance (NEAR_DIST) between every point and line combination - with options to output the location of x- and y-coordinates (NEAR_X and NEAR_Y) and angle (NEAR_ANGLE) - be sure to uncheck the closest option to find all. You can use the Join Field tool twice to copy the original attributes from the IN_FID to the in_features object ID, and the NEAR_FID to the near_features object ID.
If you don't need those extra fields calculated and/or for any license level use @caitriggs clever linear referencing answer.
-
Thanks for the help! I do not have an ArcInfo license so I used @caitriggs Create Routes method and it worked. That was exactly what I was looking for. Thanks again.– djdMar 11, 2013 at 16:44