I need to create multiple connector lines from a suburb centroid point to closest two or three road lines in arcmap.

How can I go about this?

  • What have you attempted? You give no indication of how many need doing, if it is just a few why not simply digitize by hand? – Hornbydd Nov 15 '15 at 20:07
  • @ Hornbydd.. I am dealing with a large transport network dataset..and i have about 1800 zone centroids to create connectors from. – Aivin Nov 15 '15 at 20:37

Assuming you have an Advanced license, you can do the following:

  1. Dissolve your roads by road name with the line ends option if they split at each intersection to avoid joining to a road more than once.
  2. Use the Generate Near Table tool with the location option to get the X and Y coordinates from the points to the nearest location on all the dissolved road features that fall within a specified distance of your centroids.
  3. Use the XY to Lines tool to use the coordinate fields in the table to create a lines feature class.

If you do not have an Advanced License, you should use Linear Referenced routes.

  1. Create the routes using the Create Routes tool from your network to make routes with measures. You should be able to use the Street name as the Route ID, but use the gap option in case there are multiple roads with same name.
  2. Add a pair of double fields called FROM_X and FROM_Y to the centroids and calculate them with the Geometry Calculator.
  3. Add a pair of double fields called TO_X and TO_Y to the centroids and leave them blank.
  4. Use the Locate Features Along Routes tool with the centroids as the input features to get the route ID and measure of the nearest position on each route to the centroids within a specified distance and be sure to use the ALL route locations option and the keep fields option.
  5. Make a point event layer from the output event table of step 4 without any offset distance so they fall on the routes.
  6. Export the layer from the table of contents to make a real point layer (for speed of the next step).
  7. Calculate the TO_X and TO_Y fields of each point using the Geometry Calculator.
  8. Join the points of step 7 to the event table created in step 4 on the ObjectID field.
  9. calculate the TO_X and TO_Y fields from the points into the table.
  10. Break the join.
  11. Use the XY to Lines tool to use the coordinate fields in the table to create a lines feature class.

Lines may be created that cross outside of blocks, so a clean up process will be needed. If you have an Advanced license, you can make block polygons from the network using the Features to Polygons tool and find all lines that are fully contained within each block. Non-rectangular blocks may need special manual corrections, since lines may cross other roads before connecting to some roads within the block.

  • Thanks for your help! It worked with my advanced license. – Aivin Nov 16 '15 at 4:34
  • Glad it worked. Please mark my response as the answer so that your post does not continue to show up as an unanswered question. – Richard Fairhurst Nov 16 '15 at 15:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.