Creating A 'Smart' Linear Referencing Tool - Presentation Transcript
Automating the Sequencing for the Montgomery County Bus Stop Listing Written and Presented By: Matt Yeh
Overview
Montgomery County Transit publishes an annual report of all the bus stops in the County
Sorted by the on street of the bus stop in sequential order
Issues with the original process:
Used arbitrary search radius parameters that matched stops with the incorrect street
Separated state and non-state roads and arbitrarily removed duplicate linearly referenced bus stops
Based sequencing on direction values that were often erroneous
In essence, assumed far too much and outputted poor results
Data Sources
Bus Stop point feature class
Street name concatenated with type, direction
From GPS coordinates
County street centerlines
Street name, street type, route number
State street centerlines
Street name concatenated with type, direction, route number
Data Issues
Bus Stop data
Rife with street misspellings (name and type)
Unreliable direction values
Bus stop points do not intersect centerlines
County street data
Segmented (optimized for address locating)
Unique street type nomenclature
Does not include road segments outside of the County
State street data
Mostly designated by state route number
Unique street type nomenclature
Direction of polyline (to and from points) did not match direction attribute
Goals
Merge street nomenclatures
Digitize and append missing street segments
Correct street polyline direction
Match the bus stop with the correlating street centerline
Intersect bus stop points with street centerlines in preparation for accurate linear referencing
Generate a unique sequence number from linear referencing results
Interface
VBA form within the ArcGIS Desktop environment
Input parameters
Bus stop layer (user specifies street value)
Road layer (user specifies street and direction values)
Output file location
Options to correct bus stop street spellings and street polyline direction
1. Merge street nomenclatures
Checks the on street of each bus stop against a master list of all street names from the street centerlines
If a match is not found, then it displays a list of similar street names from the master list
The user can either select from the list or type their own value.
The on street of the bus stop is updated to the user-generated value.
2. Digitize and append missing street segments
State street data was ultimately used since it was not segmented.
Ride-On also serves stops outside of Montgomery County.
There were segments missing either because they were never digitized or they were lost when clipped.
3. Correct street polyline direction
In some instances, the direction of the street geometry did not match the direction value in the attribute table.
If the option was enabled, the script would flip the line when necessary.
Some line segments had to be merged and the direction fixed if the road was disjointed.
Direction is important for accurate m-values during linear referencing.
4. Match the bus stop with the street centerline
For each bus stop, the script would match the route number or street name to all streets within a 2000 foot radius.
This is to ensure that it does not get matched to another road with the same name.
This screenshot serves as a visualization.
5. Intersect bus stop points with centerlines
A new temporary feature class was created and populated with points that intersected the centerline at a 90 degree angle to the original bus stop feature.
The new feature class kept the unique bus stop ID and street name from the original bus stop feature.
The direction was calculated depending on if it was to the left or the right of the centerline and was based on the direction attribute of the street centerline.
6. Generate a unique sequence number
The script makes a call to the linear referencing tool from the geoprocessor object.
The results are filtered based on the unique road ID and the direction. It is then sorted by measure.
Sequence values are updated starting at 10 in increments of 10.
Presenting the data
The official bus stop listing consists of two elements:
The report listing
The appendix maps
The report listing
The listing was generated from a report created in Microsoft Access.
The report is filtered alphabetically by the “on street” of the bus stop and sorted by the sequence number.
Other information includes the unique bus stop ID, at street, direction, location, amenities, routes serving, and the appendix map grid.
2. The appendix maps
The appendix consists of maps and an index map of the bus stop locations using a clean cartographic style.
Maps are based on the ADC standards.
Utilized DS MapBook Extension
All geographic data is in Maryland State Plane, NAD83, US Survey Feet.
Summary
By automating the data behind the official bus stop listing, countless man-hours were no longer devoted to the QA/QC process.
A standardization of street data would have greatly improved the project with a very high degree of accuracy.
Further revisions:
Still a work in progress and sometimes buggy (i.e., matching street names and generating next best matches)
Sequence bus stops in relation to the bus routes (not only street centerlines)
Rely solely on County centerlines
Adopt another component software interface standards (eg, CORBA)
Leveraging ESRI geoprocessing tools and ArcObjects more
Leveraging ESRI geoprocessing tools and ArcObjects classes, a 'smart' linear referencing tool was created to increase the level of accuracy of the data contained in the annual Montgomery County Bus Stop Book. less
0 comments
Post a comment