<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic network analyst route offset points in ArcGIS Online Questions</title>
    <link>https://community.esri.com/t5/arcgis-online-questions/network-analyst-route-offset-points/m-p/1700345#M68622</link>
    <description>&lt;P&gt;I'm attempting to use Network Analyst to route points offset from a centerline.&lt;/P&gt;&lt;P&gt;I'd like to create a route of these points but using the centerline not the lines along which they lie.&lt;/P&gt;&lt;P&gt;Is this possible?&lt;/P&gt;&lt;P&gt;Thanks to all.&lt;/P&gt;</description>
    <pubDate>Wed, 06 May 2026 14:07:37 GMT</pubDate>
    <dc:creator>temprobertcottreau131313</dc:creator>
    <dc:date>2026-05-06T14:07:37Z</dc:date>
    <item>
      <title>network analyst route offset points</title>
      <link>https://community.esri.com/t5/arcgis-online-questions/network-analyst-route-offset-points/m-p/1700345#M68622</link>
      <description>&lt;P&gt;I'm attempting to use Network Analyst to route points offset from a centerline.&lt;/P&gt;&lt;P&gt;I'd like to create a route of these points but using the centerline not the lines along which they lie.&lt;/P&gt;&lt;P&gt;Is this possible?&lt;/P&gt;&lt;P&gt;Thanks to all.&lt;/P&gt;</description>
      <pubDate>Wed, 06 May 2026 14:07:37 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-online-questions/network-analyst-route-offset-points/m-p/1700345#M68622</guid>
      <dc:creator>temprobertcottreau131313</dc:creator>
      <dc:date>2026-05-06T14:07:37Z</dc:date>
    </item>
    <item>
      <title>Re: network analyst route offset points</title>
      <link>https://community.esri.com/t5/arcgis-online-questions/network-analyst-route-offset-points/m-p/1700711#M68642</link>
      <description>&lt;P&gt;I'd think your best bet is to clone your points to a temporary layer and attempt to 'snap' the points to the nearest centerline, then use those temporary points as inputs for your routing.&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;You can use 'Generate Near Table' and some scripting to calculate the distance between the point and the line, and the vector along which to move the point.&lt;BR /&gt;&lt;BR /&gt;I asked Google Gemini if it could write that workflow -- from the response, as it turns out, you don't even need any algebra in the flow, as the GenerateNearTable tool will provide a NEAR_X and NEAR_Y fields with the 'location' parameter.&amp;nbsp; So if you're not comfortable with Python, you should be able to pull off a two-step 'model':&lt;BR /&gt;&lt;BR /&gt;1. Generate Near Table (with location parameter); then, use the output with&amp;nbsp;&lt;BR /&gt;2. XY Table to Point (using the NEAR_X and NEAR_Y).&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;LI-CODE lang="python"&gt;import arcpy

# Define inputs
point_fc = "Original_Points"
line_fc = "Reference_Lines"
near_table = "memory/near_results" # Using memory for speed
shifted_output = "Shifted_Points_Copy"

# 1. Generate the Near Table with location coordinates
# The 'LOCATION' parameter ensures NEAR_X and NEAR_Y fields are created
arcpy.analysis.GenerateNearTable(
    in_features=point_fc,
    near_features=line_fc,
    out_table=near_table,
    location="LOCATION", 
    closest="CLOSEST"
)

# 2. Store coordinates in a dictionary {IN_FID: (NEAR_X, NEAR_Y)}
near_coords = {row[0]: (row[1], row[2]) 
               for row in arcpy.da.SearchCursor(near_table, ["IN_FID", "NEAR_X", "NEAR_Y"])}

# 3. Create a copy of the points to avoid modifying the original data
arcpy.management.CopyFeatures(point_fc, shifted_output)

# 4. Use UpdateCursor to move the points to the nearest line location
with arcpy.da.UpdateCursor(shifted_output, ["OID@", "SHAPE@XY"]) as cursor:
    for row in cursor:
        oid = row[0]
        if oid in near_coords:
            # Update the point's XY to the nearest line's XY
            cursor.updateRow([oid, near_coords[oid]])

print("Points successfully shifted to nearest lines.")&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 07 May 2026 18:15:21 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-online-questions/network-analyst-route-offset-points/m-p/1700711#M68642</guid>
      <dc:creator>D_Atkins</dc:creator>
      <dc:date>2026-05-07T18:15:21Z</dc:date>
    </item>
  </channel>
</rss>

