linear referencing for public bus routes

4303
9
01-27-2016 06:03 PM
JohnLowry
New Contributor III

I am working with a group of students to create a geodatabase of bus routes for the local transport authority.  I am looking for suggestions on the best way to proceed.  My plan was for each student to create a Route FC for each bus route (there are about 40 bus routes).   All the bus routes start in the same place and return to the same place. We would then convert GPS data of bus stops to point event tables, one for each bus route.  Is this a good way to proceed, or is there a better approach?  Advice from people who have used Linear Referencing for a bus routes  would be most appreciated.  My students and I are in Suva, Fiji so this is not a developed country context, if that makes a difference. Many Thanks!

0 Kudos
9 Replies
TedKowal
Occasional Contributor III

John,

Your approach is good as any.  Some things to watch out for:

1.  You have a circular reference -- one recommendation is to stop the end point slightly before the start leaving a small gap.  Have that embedded in you rules.

2.  Create your Route naming convention before you collect your gps data.

3.  Assign your route number to your GPS points when collected (very important)

4.  Milepost or you linear unit of measure can be obtained by

     Filtering your GPS points to the route then "snapping" the point to the Linear Referenced line (all points snapped belong to the same route) then pick off the measure.  (Examples/Scripts/Code available on Geonet) but the trick is to filter the snapping to only the lines where the route numbers are the same as the routes in the GPS. -- (Avoidance of using the Near tool which snaps to the closest line)

-- my 2 cents

Good luck!

JohnLowry
New Contributor III

Thanks Ted.  This is very helpful.  So it makes sense to make each bus route a separate Route Feature Class?

0 Kudos
TedKowal
Occasional Contributor III

John,

This can be combined into one feature Class... say for example:

Feature Class:  BusRoutes  (PolylineM)

ObjectID

Route (Identifies specific Bus Routes  eg.. Route1, Route1A,Route2 [your names may differ])

AnyInfo pertaining to the complete BusRoute

Length

ObjectID     Route     Length     Status     WeekendOnly

1                 Route1      10.5          A               False

2                 Route1A     15.6         A               True

3                 Route2       8.5            I                 False

Additonally you may have other tables relating to the bus route say BusStops

Table BusStops (tabular data aka spreadsheet)

ObjectID,Route,Bus_MilePost,Location,Sheltered .....

Now comes the power of linear referencing.....

You can take your spreadsheet and "event map" them to the BusRoute Line.  the result will be a point feature of all your bus stops!

Ted

0 Kudos
JohnLowry
New Contributor III

Hi Ted,

Many thanks.  So if each student were to make a bus route as a Route FC, is there an easy way to combine them all into one Route FC with many bus routes as linear event tables?  

I see how we could use the Locate Features Along Route tool to generate the event table for each route based on a line, but creating the Route FC with measures that would work for all the bus route event tables eludes me, since all the buses start at the same place and branch off in different directions, then return to the bus terminal.

Thanks again,

John

ClaudioMontoni_Rios
New Contributor II

Hello,

Look Transportation Data Model - GIS for Transportation for learn about data model construction using features, tables and relationships in geodatabase. 😉

JohnLowry
New Contributor III

Thanks Claudio.  This is a very helpful resource.

0 Kudos
ChadwickJones
New Contributor

Hi Claudio.  I've been searching all over for the TDM.  All the links I've found end at a 404 error.  Could you provide a link to the schema, please?  Thanks!

0 Kudos
TedKowal
Occasional Contributor III

Yes ... append all the individual centerlines into one Feature Class (assuming they are all defined the same way) and they all contain a field identifying what route the line is.

busline1,busline2,buline3, ....  ---> append to a fc called Buslines

Once you have the Buslines FC (my example above) create a Linear Reference Feature Class (or use the create routes tool) from that identifying the route field and the length as your measure ---> Busroutes

-- Be sure when you QA your individual centerlines segments are drawn in the same direction (my personal rule is the direction of travel)

Some references

About creating routes from existing lines—Help | ArcGIS for Desktop

Create Routes—Help | ArcGIS for Desktop 

JohnLowry
New Contributor III

Thank you very much for all your help!

0 Kudos