Linear Referencing Connexion between Route

483
3
10-13-2011 06:23 PM
SchoppMatthieu
New Contributor III
Hello,

I work for a Motorway Maintenance Organisation.
We use the Linear Referencing System as base of our location system.
Our network is divided in many "Routes" (LRS Model).

I want to implement a geoprocessing tool that allow the users to generate "Lines" features automatically, based on start and end points they define.

Concept:
The user enter a "start" and "end" point (Click on the Map)
The geoprocessing tool locates these points (Locate feature along route) and then generate a new line feature (Make Route Event Layer).


This is my problem:
I don't know how it is possible to manage the "connexions" between the "Routes" with the Linear Referencing System.

If the start and end points are on differents routes that are connected in the real world, how is it possible for the Linear Referencing System to detect this connection and for the "make route event layer" to "jump" from one Route to another ?

Has someone have already work on that ?
Tags (1)
0 Kudos
3 Replies
RichardFairhurst
MVP Honored Contributor
Hello,

I work for a Motorway Maintenance Organisation.
We use the Linear Referencing System as base of our location system.
Our network is divided in many "Routes" (LRS Model).

I want to implement a geoprocessing tool that allow the users to generate "Lines" features automatically, based on start and end points they define.

Concept:
The user enter a "start" and "end" point (Click on the Map)
The geoprocessing tool locates these points (Locate feature along route) and then generate a new line feature (Make Route Event Layer).


This is my problem:
I don't know how it is possible to manage the "connexions" between the "Routes" with the Linear Referencing System.

If the start and end points are on differents routes that are connected in the real world, how is it possible for the Linear Referencing System to detect this connection and for the "make route event layer" to "jump" from one Route to another ?

Has someone have already work on that ?


What you are wanting is a Network Analyst function rather than a something you would do with a pure Linear Referencing interface.  Linear Referencing is designed for facility management of a single route, bot not on an interconnected network of routes that can be traversed in numerous ways.  However, Network Analyst can easily generate a multi-street route (with M values I believe) between any end points you may set on different roads according to whatever network connectivity and turn restriction configurations you want to set up.  Of course you have to have licenses for that extension and have to build a Network Analyst network to use it.  Effectively you would have to reconstruct all of the Network Analyst functionality to develop an interface that does what you want if you tried to do it with just a Linear referenced network, so instead you should just purchase licenses for Network Analyst and not reinvent the wheel.  Perhaps a geometric network could also do some of what you want, but it follows rules that are more oriented to Utility Networks, while Network Analyst is more oriented to transportation networks.

I have limited experience with Network Analyst, but I beleive the output initially would create a single route ID on multiple line segments with one segment for each road traversed.  However, that output could be combined into a new single line Route using the Create Route tool on the Network Analyst output's Route ID.  That new Route could be then used for placing Linear Referencing events that could fall anywhere along those connected streets between the two end points.

If you restrict your users to working within a single predefined Linear Referenced route, I might be able to assist you with interfaces and code for creating line events that fall along it, but not to generate new routes that logically traverse a network across multiple streets.
0 Kudos
SchoppMatthieu
New Contributor III
Thank you very much.

Yes I thought about this possibility. The Linear Referencing model we use is not suitable for Network Analyst (Route not connected) and it's managed externaly, we can't modify it.

However I can create a network that interconnect my LRS model and define rules and direction of travel (for a motorway it shouldn't be to hard).

Then I can create a geoprocessing tool that draws the "shortest route" based on the user defined "start" and "end" points and relocate the linear result on my LRS Route Model.

It's sounds a bit like a makeshift job and I wanted to know if anyone knows another way of doing it.
0 Kudos
RichardFairhurst
MVP Honored Contributor
Thank you very much.

Yes I thought about this possibility. The Linear Referencing model we use is not suitable for Network Analyst (Route not connected) and it's managed externaly, we can't modify it.

However I can create a network that interconnect my LRS model and define rules and direction of travel (for a motorway it shouldn't be to hard).

Then I can create a geoprocessing tool that draws the "shortest route" based on the user defined "start" and "end" points and relocate the linear result on my LRS Route Model.

It's sounds a bit like a makeshift job and I wanted to know if anyone knows another way of doing it.


If by your Routes are not connected you mean that you do not have intersection breaks, that is not necessary for Network Analyst.  It can detect and use joins where lines cross if you configure it that way.  Also if you can create a network that interconnects your LRS model that should work equally well as an input to Network Analyst.  Also the resulting route you want will not be able to keep the original measures of your Routes without being screwed up anyway, and you would have to use a Route transfer tool to take events from one Route and apply them to the other to match between these new Routes and your original Routes.

The bigger problem is that you do not control the network, so some method of incremental updates of a derivative in-house network would be necessary to integrate it with Network Analyst.  That is acheivable by making a copy of the original network and adding a field that keeps track of the end coordinates and length of each line, which can be calculated on your copy and joined to your own in-house-network.  Using that field you can easily detect lines that have changed each time you get a new update of the Routes.

Again, your idea that this is somehow a simple geoprocessing tool to create is incorrect.  The amount of time you will spend to orient the routes, identify join points and then deal with the user failing to follow your orientations when they set beginning and ending points alone will give you headaches.  I doubt Python can really do the interface you want.  Every step you have described that you would do with your network is how you set up Network Analyst and Network Analyst has already overcome all of the logic it takes to traverse a network from any point to any point, even on networks without line breaks at each intersection, so again why reinvent the wheel?
0 Kudos