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!
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!
Thanks Ted. This is very helpful. So it makes sense to make each bus route a separate Route Feature Class?
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
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
Hello,
Look Transportation Data Model - GIS for Transportation for learn about data model construction using features, tables and relationships in geodatabase. 😉
Thanks Claudio. This is a very helpful resource.
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!
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
Thank you very much for all your help!