translink 2.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## 2012-12-14 / v3.0.0
4
+
5
+ * Update Mechanize to 2.5.1.
6
+ * Add version command. Prints the current version.
7
+ * Drop auto incrementing primary keys.
8
+ * Add uniqueness constraints to primary keys.
9
+ * Rename routes.id -> routes.route_id. Type changed to TEXT. Value is short name provided by Translink.
10
+ * Rename trips.id -> trips.trip_id. Value is trip id provided by Translink.
11
+ * Rename stops.id -> stops.stop_id. Type changed to TEXT. Value is stop id provided by Translink.
12
+ * Primary key on stop_times is now composite of stop_times.arrival_time, stop_times.trip_id and stop_times.stop_id.
13
+ * Change Page::Route#trip_pages to only return trips for the given date.
14
+ * Schema is created with SQL as opposed to DM's automatic migrations.
15
+ * Change short name for some routes. CGLD -> CityGlider, LOOP -> City Loop and SHLP -> Spring Hill City Loop.
16
+ * Some routes and stop times have duplicates. Only persist unique sets.
17
+ * Add exception handling. Retry HTTP requests with bad responses. Skip and output page if it cannot be resolved.
18
+ * Enforce integrity with foreign key constraints.
19
+ * Resume scraping from a specific route and limit number of subsequent routes.
20
+
3
21
  ## 2012-07-21 / v2.0.0
4
22
 
5
23
  * Add headsign column to trips table.
data/README.md CHANGED
@@ -2,17 +2,16 @@
2
2
 
3
3
  [![Build Status](https://secure.travis-ci.org/tatey/translink.png)](http://travis-ci.org/tatey/translink)
4
4
 
5
- [Translink](http://translink.com.au/) (Organisation) coordinates public transport operations in
5
+ [TransLink](http://translink.com.au/) (Organisation) coordinates public transport operations in
6
6
  South-East Queensland. Their website has an abundance of data with no easy way for a developer
7
7
  to query it.
8
8
 
9
9
  Translink (Program) scrapes bus routes, trips, stops and times into a relational database.
10
10
  The schema is a subset of the [General Transit Feed Specification](https://developers.google.com/transit/gtfs/reference).
11
- Data is sourced from the [Translink website](http://translink.com.au/).You should be
11
+ Data is sourced from the [TransLink website](http://translink.com.au/).You should be
12
12
  aware their data is protected by [copyright](http://translink.com.au/site-information/legal/copyright).
13
13
 
14
- I created Translink (Program) to solve my problem of getting lost on new routes. With this data I
15
- have been working on an app for iOS called [Next Stop](http://nextstop.me).
14
+ Translink (Program) was created to provide data for my iOS app, [Next Stop](http://nextstop.me).
16
15
 
17
16
  ## Installation
18
17
 
@@ -32,24 +31,31 @@ them into a SQLite database named "2011-11-24.sqlite3" in the current working di
32
31
 
33
32
  Change the path to the SQLite database.
34
33
 
35
- $ translink scrape 2011-11-24 --uri=sqlite:///Users/Tate/Downloads/translink.sqlite3
34
+ $ translink scrape 2011-11-24 ~/Downloads/translink.sqlite3
35
+
36
+ Get a specific route.
37
+
38
+ $ translink scrape 2011-11-24 ~/Desktop/translink.sqlite3 http://jp.translink.com.au/travel-information/network-information/buses/435/2011-11-24 0"
36
39
 
37
40
  ## Queries
38
41
 
39
42
  Stops the 130 visits on the outbound trip.
40
43
 
41
- SELECT DISTINCT(stops.id), stops.stop_name, stops.stop_lat, stops.stop_lon FROM routes
42
- INNER JOIN trips ON trips.route_id = routes.id
43
- INNER JOIN stop_times ON stop_times.trip_id = trips.id
44
- INNER JOIN stops ON stop_times.stop_id = stops.id
45
- WHERE routes.short_name = '130' AND trips.direction = 'outbound';
44
+ SELECT stops.*, stop_times.*
45
+ FROM routes
46
+ INNER JOIN trips ON trips.route_id = routes.route_id
47
+ INNER JOIN stop_times ON stop_times.trip_id = trips.trip_id
48
+ INNER JOIN stops ON stops.stop_id = stop_times.stop_id
49
+ WHERE routes.short_name = '130' AND trips.headsign = 'outbound'
50
+ GROUP BY stops.stop_id
51
+ ORDER BY stop_times.stop_sequence;
46
52
 
47
53
  Routes that visit the 'Calam Rd near Honeywood St' stop.
48
54
 
49
- SELECT DISTINCT(routes.id), short_name FROM stops
50
- INNER JOIN stop_times ON stop_times.stop_id = stops.id
51
- INNER JOIN trips ON stop_times.trip_id = trips.id
52
- INNER JOIN routes ON routes.id = trips.route_id
55
+ SELECT DISTINCT(routes.short_name) FROM stops
56
+ INNER JOIN stop_times ON stop_times.stop_id = stops.stop_id
57
+ INNER JOIN trips ON stop_times.trip_id = trips.trip_id
58
+ INNER JOIN routes ON routes.route_id = trips.route_id
53
59
  WHERE stops.stop_name = 'Calam Rd near Honeywood St';
54
60
 
55
61
  ## Schema
@@ -59,6 +65,11 @@ defined by Google for [Google Transit](https://developers.google.com/transit/goo
59
65
 
60
66
  ![Class Analysis Diagram](https://github.com/tatey/translink/raw/master/doc/schema.png)
61
67
 
68
+ ### Deviations from the General Transit Feed Specification
69
+
70
+ * `trips.service_id` is omitted. This cannot be extracted from the dataset.
71
+ * `routes.agency_id` is omitted. There is only one agent. The agent is Brisbane Transport.
72
+
62
73
  ## Contributing
63
74
 
64
75
  If you would like to help, please browse the [issues](https://github.com/tatey/translink/issues).
@@ -76,4 +87,4 @@ If you would like to help, please browse the [issues](https://github.com/tatey/t
76
87
  Doing something interesting with this data? Shoot me an [e-mail](mailto:tate@tatey.com). I'd love to see how
77
88
  this is being used. An acknowledgement of this project is appreciated, but not required.
78
89
 
79
- Copyright © 2011 Tate Johnson. Released under the MIT license. See LICENSE.
90
+ Copyright © 2011-2012 Tate Johnson. Released under the MIT license. See LICENSE.
@@ -7,7 +7,7 @@
7
7
  <key>ApplicationVersion</key>
8
8
  <array>
9
9
  <string>com.omnigroup.OmniGraffle</string>
10
- <string>139.7.0.167456</string>
10
+ <string>139.16.0.171715</string>
11
11
  </array>
12
12
  <key>AutoAdjust</key>
13
13
  <true/>
@@ -53,7 +53,7 @@
53
53
  <array>
54
54
  <dict>
55
55
  <key>Bounds</key>
56
- <string>{{493.23706937031238, 350.51866957905372}, {16, 14}}</string>
56
+ <string>{{493.07620422923145, 342.23403515968295}, {16, 14}}</string>
57
57
  <key>Class</key>
58
58
  <string>ShapedGraphic</string>
59
59
  <key>FitText</key>
@@ -98,8 +98,8 @@
98
98
  <key>Align</key>
99
99
  <integer>0</integer>
100
100
  <key>Text</key>
101
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
102
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
101
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
102
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
103
103
  {\colortbl;\red255\green255\blue255;}
104
104
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
105
105
 
@@ -110,7 +110,7 @@
110
110
  </dict>
111
111
  <dict>
112
112
  <key>Bounds</key>
113
- <string>{{462.76629588480574, 353.68516841247134}, {15, 14}}</string>
113
+ <string>{{462.65137810532838, 345.82730563367841}, {15, 14}}</string>
114
114
  <key>Class</key>
115
115
  <string>ShapedGraphic</string>
116
116
  <key>FitText</key>
@@ -155,8 +155,8 @@
155
155
  <key>Align</key>
156
156
  <integer>0</integer>
157
157
  <key>Text</key>
158
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
159
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
158
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
159
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
160
160
  {\colortbl;\red255\green255\blue255;}
161
161
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
162
162
 
@@ -179,8 +179,8 @@
179
179
  <integer>87</integer>
180
180
  <key>Points</key>
181
181
  <array>
182
- <string>{456.49999275129255, 368.94444378696022}</string>
183
- <string>{514.85421877508725, 369.25888085023411}</string>
182
+ <string>{456.49998236712037, 361.27562669605123}</string>
183
+ <string>{514.8542361855632, 360.78535600795692}</string>
184
184
  </array>
185
185
  <key>Style</key>
186
186
  <dict>
@@ -204,7 +204,7 @@
204
204
  </dict>
205
205
  <dict>
206
206
  <key>Bounds</key>
207
- <string>{{338.40940924489615, 352.82631853980075}, {15, 14}}</string>
207
+ <string>{{338.31344253872902, 346.75293510081792}, {15, 14}}</string>
208
208
  <key>Class</key>
209
209
  <string>ShapedGraphic</string>
210
210
  <key>FitText</key>
@@ -249,8 +249,8 @@
249
249
  <key>Align</key>
250
250
  <integer>0</integer>
251
251
  <key>Text</key>
252
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
253
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
252
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
253
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
254
254
  {\colortbl;\red255\green255\blue255;}
255
255
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
256
256
 
@@ -263,7 +263,7 @@
263
263
  </dict>
264
264
  <dict>
265
265
  <key>Bounds</key>
266
- <string>{{309.87998214947055, 349.34968958084983}, {16, 14}}</string>
266
+ <string>{{309.7456362270371, 343.59928755895874}, {16, 14}}</string>
267
267
  <key>Class</key>
268
268
  <string>ShapedGraphic</string>
269
269
  <key>FitText</key>
@@ -308,8 +308,8 @@
308
308
  <key>Align</key>
309
309
  <integer>0</integer>
310
310
  <key>Text</key>
311
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
312
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
311
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
312
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
313
313
  {\colortbl;\red255\green255\blue255;}
314
314
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
315
315
 
@@ -330,8 +330,8 @@
330
330
  <integer>75</integer>
331
331
  <key>Points</key>
332
332
  <array>
333
- <string>{301.14577594844184, 367.9309845481327}</string>
334
- <string>{359.50002190686138, 368.22921864099538}</string>
333
+ <string>{301.14577222262562, 362.37250438371717}</string>
334
+ <string>{359.50001057832003, 361.99878605821311}</string>
335
335
  </array>
336
336
  <key>Style</key>
337
337
  <dict>
@@ -355,7 +355,7 @@
355
355
  </dict>
356
356
  <dict>
357
357
  <key>Bounds</key>
358
- <string>{{183.01258740646881, 352.34978008270264}, {15, 14}}</string>
358
+ <string>{{183.06749558062364, 346.96415429228767}, {15, 14}}</string>
359
359
  <key>Class</key>
360
360
  <string>ShapedGraphic</string>
361
361
  <key>FitText</key>
@@ -400,8 +400,8 @@
400
400
  <key>Align</key>
401
401
  <integer>0</integer>
402
402
  <key>Text</key>
403
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
404
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
403
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
404
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
405
405
  {\colortbl;\red255\green255\blue255;}
406
406
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
407
407
 
@@ -414,7 +414,7 @@
414
414
  </dict>
415
415
  <dict>
416
416
  <key>Bounds</key>
417
- <string>{{154.46613835322205, 349.01644611358643}, {16, 14}}</string>
417
+ <string>{{154.54299826675529, 343.44610658849467}, {16, 14}}</string>
418
418
  <key>Class</key>
419
419
  <string>ShapedGraphic</string>
420
420
  <key>FitText</key>
@@ -459,8 +459,8 @@
459
459
  <key>Align</key>
460
460
  <integer>0</integer>
461
461
  <key>Text</key>
462
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
463
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
462
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
463
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
464
464
  {\colortbl;\red255\green255\blue255;}
465
465
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
466
466
 
@@ -481,8 +481,8 @@
481
481
  <integer>72</integer>
482
482
  <key>Points</key>
483
483
  <array>
484
- <string>{145.79156494140625, 367.68311309814453}</string>
485
- <string>{204.14578247070312, 367.68311309814453}</string>
484
+ <string>{145.79155409933105, 362.00265871394515}</string>
485
+ <string>{204.14579179210202, 362.38712974459622}</string>
486
486
  </array>
487
487
  <key>Style</key>
488
488
  <dict>
@@ -533,8 +533,8 @@
533
533
  <key>Text</key>
534
534
  <dict>
535
535
  <key>Text</key>
536
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
537
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
536
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
537
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
538
538
  {\colortbl;\red255\green255\blue255;}
539
539
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
540
540
 
@@ -547,7 +547,7 @@
547
547
  </dict>
548
548
  <dict>
549
549
  <key>Bounds</key>
550
- <string>{{360, 333.68310546875}, {96, 70}}</string>
550
+ <string>{{360, 333.68310546875}, {96, 56}}</string>
551
551
  <key>Class</key>
552
552
  <string>ShapedGraphic</string>
553
553
  <key>FitText</key>
@@ -571,17 +571,20 @@
571
571
  <key>Align</key>
572
572
  <integer>0</integer>
573
573
  <key>Text</key>
574
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
575
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
574
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
575
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
576
576
  {\colortbl;\red255\green255\blue255;}
577
577
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
578
578
 
579
- \f0\b\fs24 \cf0 \ul \ulc0 id
579
+ \f0\b\fs24 \cf0 \ul \ulc0 arrival_time
580
580
  \b0 \ulnone \
581
- arrival_time\
582
581
  stop_sequence\
583
- \ul stop_id\ulnone \
584
- \ul trip_id}</string>
582
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
583
+
584
+ \b \cf0 \ul \ulc0 stop_id
585
+ \b0 \ulnone \
586
+
587
+ \b \ul trip_id}</string>
585
588
  <key>VerticalPad</key>
586
589
  <integer>0</integer>
587
590
  </dict>
@@ -605,7 +608,7 @@ stop_sequence\
605
608
  <array>
606
609
  <dict>
607
610
  <key>Bounds</key>
608
- <string>{{515.35421752929688, 320.36622619628906}, {96, 14}}</string>
611
+ <string>{{515.35421752929688, 318.36622619628906}, {96, 14}}</string>
609
612
  <key>Class</key>
610
613
  <string>ShapedGraphic</string>
611
614
  <key>FitText</key>
@@ -627,8 +630,8 @@ stop_sequence\
627
630
  <key>Text</key>
628
631
  <dict>
629
632
  <key>Text</key>
630
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
631
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
633
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
634
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
632
635
  {\colortbl;\red255\green255\blue255;}
633
636
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
634
637
 
@@ -641,7 +644,7 @@ stop_sequence\
641
644
  </dict>
642
645
  <dict>
643
646
  <key>Bounds</key>
644
- <string>{{515.35421752929688, 334.36622619628906}, {96, 70}}</string>
647
+ <string>{{515.35421752929688, 332.36622619628906}, {96, 56}}</string>
645
648
  <key>Class</key>
646
649
  <string>ShapedGraphic</string>
647
650
  <key>FitText</key>
@@ -665,14 +668,13 @@ stop_sequence\
665
668
  <key>Align</key>
666
669
  <integer>0</integer>
667
670
  <key>Text</key>
668
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
669
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
671
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
672
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
670
673
  {\colortbl;\red255\green255\blue255;}
671
674
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
672
675
 
673
- \f0\b\fs24 \cf0 \ul \ulc0 id
676
+ \f0\b\fs24 \cf0 \ul \ulc0 stop_id
674
677
  \b0 \ulnone \
675
- stop_id\
676
678
  stop_name\
677
679
  stop_lat\
678
680
  stop_lon}</string>
@@ -699,7 +701,7 @@ stop_lon}</string>
699
701
  <array>
700
702
  <dict>
701
703
  <key>Bounds</key>
702
- <string>{{204.64578247070312, 318.68311309814453}, {96, 14}}</string>
704
+ <string>{{204.64578247070312, 320.68311309814453}, {96, 14}}</string>
703
705
  <key>Class</key>
704
706
  <string>ShapedGraphic</string>
705
707
  <key>FitText</key>
@@ -721,8 +723,8 @@ stop_lon}</string>
721
723
  <key>Text</key>
722
724
  <dict>
723
725
  <key>Text</key>
724
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
725
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
726
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
727
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
726
728
  {\colortbl;\red255\green255\blue255;}
727
729
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
728
730
 
@@ -735,7 +737,7 @@ stop_lon}</string>
735
737
  </dict>
736
738
  <dict>
737
739
  <key>Bounds</key>
738
- <string>{{204.64578247070312, 332.68311309814453}, {96, 70}}</string>
740
+ <string>{{204.64578247070312, 334.68311309814453}, {96, 56}}</string>
739
741
  <key>Class</key>
740
742
  <string>ShapedGraphic</string>
741
743
  <key>FitText</key>
@@ -759,18 +761,15 @@ stop_lon}</string>
759
761
  <key>Align</key>
760
762
  <integer>0</integer>
761
763
  <key>Text</key>
762
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
763
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
764
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
765
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
764
766
  {\colortbl;\red255\green255\blue255;}
765
767
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
766
768
 
767
- \f0\b\fs24 \cf0 \ul \ulc0 id
769
+ \f0\b\fs24 \cf0 \ul \ulc0 trip_id
768
770
  \b0 \ulnone \
769
771
  direction\
770
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
771
- \cf0 service_id\
772
- \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
773
- \cf0 trip_id\
772
+ trip_id\
774
773
  \ul route_id}</string>
775
774
  <key>VerticalPad</key>
776
775
  <integer>0</integer>
@@ -795,7 +794,7 @@ direction\
795
794
  <array>
796
795
  <dict>
797
796
  <key>Bounds</key>
798
- <string>{{49.29156494140625, 318.68311309814453}, {96, 14}}</string>
797
+ <string>{{49.29156494140625, 319.68311309814453}, {96, 14}}</string>
799
798
  <key>Class</key>
800
799
  <string>ShapedGraphic</string>
801
800
  <key>FitText</key>
@@ -817,8 +816,8 @@ direction\
817
816
  <key>Text</key>
818
817
  <dict>
819
818
  <key>Text</key>
820
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
821
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
819
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
820
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
822
821
  {\colortbl;\red255\green255\blue255;}
823
822
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
824
823
 
@@ -831,7 +830,7 @@ direction\
831
830
  </dict>
832
831
  <dict>
833
832
  <key>Bounds</key>
834
- <string>{{49.29156494140625, 332.68311309814453}, {96, 70}}</string>
833
+ <string>{{49.29156494140625, 333.68311309814453}, {96, 56}}</string>
835
834
  <key>Class</key>
836
835
  <string>ShapedGraphic</string>
837
836
  <key>FitText</key>
@@ -855,14 +854,13 @@ direction\
855
854
  <key>Align</key>
856
855
  <integer>0</integer>
857
856
  <key>Text</key>
858
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
859
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
857
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
858
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
860
859
  {\colortbl;\red255\green255\blue255;}
861
860
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
862
861
 
863
- \f0\b\fs24 \cf0 \ul \ulc0 id
862
+ \f0\b\fs24 \cf0 \ul \ulc0 route_id
864
863
  \b0 \ulnone \
865
- route_id\
866
864
  short_name\
867
865
  long_name\
868
866
  route_type}</string>
@@ -884,7 +882,7 @@ route_type}</string>
884
882
  </dict>
885
883
  <dict>
886
884
  <key>Bounds</key>
887
- <string>{{49.291564470703122, 422}, {53, 22}}</string>
885
+ <string>{{49.291564470703122, 412.33333333333337}, {53, 22}}</string>
888
886
  <key>Class</key>
889
887
  <string>ShapedGraphic</string>
890
888
  <key>FitText</key>
@@ -927,8 +925,8 @@ route_type}</string>
927
925
  <key>Pad</key>
928
926
  <integer>0</integer>
929
927
  <key>Text</key>
930
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
931
- {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
928
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf340
929
+ \cocoascreenfonts1{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
932
930
  {\colortbl;\red255\green255\blue255;}
933
931
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural
934
932
 
@@ -989,7 +987,7 @@ route_type}</string>
989
987
  <key>MasterSheets</key>
990
988
  <array/>
991
989
  <key>ModificationDate</key>
992
- <string>2012-06-08 13:06:12 +0000</string>
990
+ <string>2012-09-23 02:49:00 +0000</string>
993
991
  <key>Modifier</key>
994
992
  <string>Tate Johnson</string>
995
993
  <key>NotesVisible</key>
@@ -1070,7 +1068,7 @@ route_type}</string>
1070
1068
  </dict>
1071
1069
  </array>
1072
1070
  <key>Frame</key>
1073
- <string>{{1362, 134}, {693, 874}}</string>
1071
+ <string>{{890, 226}, {1272, 1001}}</string>
1074
1072
  <key>ListView</key>
1075
1073
  <true/>
1076
1074
  <key>OutlineWidth</key>
@@ -1084,14 +1082,14 @@ route_type}</string>
1084
1082
  <key>SidebarWidth</key>
1085
1083
  <integer>120</integer>
1086
1084
  <key>VisibleRegion</key>
1087
- <string>{{0, 0}, {679, 735}}</string>
1085
+ <string>{{0, 0}, {838.66666666666663, 574.66666666666663}}</string>
1088
1086
  <key>Zoom</key>
1089
- <real>1</real>
1087
+ <real>1.5</real>
1090
1088
  <key>ZoomValues</key>
1091
1089
  <array>
1092
1090
  <array>
1093
1091
  <string>Canvas 1</string>
1094
- <real>1</real>
1092
+ <real>1.5</real>
1095
1093
  <real>1</real>
1096
1094
  </array>
1097
1095
  </array>