Select to view content in your preferred language

Click/provide two locations on LRS line network and highlight/select any points (or point events) between them along it

1029
6
Jump to solution
08-17-2022 10:51 PM
GraemeBrowning_Aurizon
Occasional Contributor II

I am testing a new workflow using ArcGIS Pro 3.0.1 and a File Geodatabase.

I have a working LRS Dataset and Line Network in that File Geodatabase that represents a rail network.

I have a point feature class (perhaps signals) with all those points being along the rail network but they are not modeled as point events.

I want to select all the points along the rail network between a measure on one route and second measure on another route when both of those routes are part of the same line.

I have a workflow, within an ArcPy script, that does this but I want to make sure that I am using my LRS Dataset and Line Network in the way that it is designed to be used.

My workflow uses these steps:

  1. Use the Create LRS Event tool to create an empty line event feature class registered to my LRS Line Network with options for those line events to span routes and to be defined using from/to measures along from/to route names
  2. Use the Create Table and Add Field tools to create an empty event table with from/to measure, from/to route name, and any other fields required by the Append Routes tool
  3. Use an InsertCursor to insert one row into the event table that stores a from-measure on a from-route-name and a to-measure on a to-route-name.  The LRS line network knows that the two routes are part of the same line.
  4. Use the Append Events tool to create a single line event feature from that one row event table
  5. Use Select Layer By Location to select the points that intersect the line event feature

This works, and impressively includes all the whole routes along the line between the two with from and to measures, but it seems cumbersome.

If I were to store the LRS Line Network in an Enterprise Geodatabase with a Location Referencing service published from it (which I've already prototyped), and convinced my client that the point features would be better modelled as point events, would that unlock a simpler and faster workflow to simply click two locations on a line network and highlight/select any point events between them along it?

0 Kudos
1 Solution

Accepted Solutions
GraemeBrowning_Aurizon
Occasional Contributor II

I now understand what @AyanPalit was getting at with this suggestion.  I had overlooked that point events have both RouteName and Measure fields that make selecting events between them easy using Select By Attributes and an expression like:

RouteName = 'GA-07ML_0037KM' And Measure >= 100 And Measure <= 800

GraemeBrowning_Aurizon_0-1670468617661.png

 

View solution in original post

6 Replies
AyanPalit
Esri Regular Contributor

There are several options to this:

  1. Event Editor web app: Selecting events by route
  2. ArcGIS Pro: Select by Attributes (measure range) or Select by Location
  3. REST API: Spatial query of events
Ayan Palit | Principal Consultant Esri
0 Kudos
GraemeBrowning_Aurizon
Occasional Contributor II

I'm not convinced that any of those three options can be used to meet my requirement but I don't want to discount them without appropriate investigation so I hope you don't mind me discussing each option in a separate reply/thread.

First I should probably rephrase my requirement from:

"click two locations on a line network and highlight/select any point events between them along it"

to be that I want to be able to:

"provide a pair (or pairs) of locations (by clicking, using a form, or perhaps a CSV file), when those pairs of locations will often span two or more LRS Routes along the same LRS Line, and to use the part/whole routes to select (so as to produce reports) point features/events (and later part/whole line features/events) along the LRS Routes between them".

The requirement will later expand into those pairs of locations being able to span lines and crossovers between them but I'm expecting to need to generate a second Location Referencing Model to handle those so I'm keeping that more complex requirement in the background for now.

 

0 Kudos
GraemeBrowning_Aurizon
Occasional Contributor II

I don't think:

  1. Event Editor web app: Selecting events by route

will work because the Select by Route widget seems to only allow two measures to be provided along the same route, and not along two LRS routes from the same LRS Line.

Is there additional documentation that may show that using from/to measures from along two LRS routes from the same LRS Line to report on (not edit) events between them is supported by either Roadways Reporter or Event Editor?

I'm seeing this requirement as needing an event overlay operation but I'm not seeing support for point events in Overlay Events (Location Referencing)—ArcGIS Pro | Documentation

0 Kudos
GraemeBrowning_Aurizon
Occasional Contributor II

I don't think:

3. REST API: Spatial query of events

will be useful to me because that demo only allows me to click on a single location.

I don't code in JavaScript, and at the moment, unless it's ArcPy, I'm only look at OOTB functionality.

0 Kudos
GraemeBrowning_Aurizon
Occasional Contributor II

I don't think:

2. ArcGIS Pro: Select by Attributes (measure range) or Select by Location

will help me without writing considerable ArcPy code around them.

I wasn't aware of being able to use a measure range in Select By Attributes but even if I investigate this I think it will only select whole features which means that I'll still need to create line events for part features - which takes me back to the current workflow that I described in my initial question.

Select By Attributes and Select By Location don't seem to have any LRS Line Network awareness, and even though I''m impressed that Create LRS Events has a SPANS_ROUTES option I wish I could learn more about How Lines manifest in Location Referencing?

0 Kudos
GraemeBrowning_Aurizon
Occasional Contributor II

I now understand what @AyanPalit was getting at with this suggestion.  I had overlooked that point events have both RouteName and Measure fields that make selecting events between them easy using Select By Attributes and an expression like:

RouteName = 'GA-07ML_0037KM' And Measure >= 100 And Measure <= 800

GraemeBrowning_Aurizon_0-1670468617661.png