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.
- data/CHANGELOG.md +18 -0
- data/README.md +26 -15
- data/doc/schema.graffle +67 -69
- data/doc/schema.png +0 -0
- data/lib/translink/cli.rb +35 -9
- data/lib/translink/crawler.rb +41 -8
- data/lib/translink/db.rb +46 -2
- data/lib/translink/model/route.rb +14 -6
- data/lib/translink/model/stop.rb +2 -3
- data/lib/translink/model/stop_time.rb +3 -2
- data/lib/translink/model/trip.rb +11 -9
- data/lib/translink/page.rb +16 -6
- data/lib/translink/page/route.rb +41 -2
- data/lib/translink/page/timetable.rb +13 -6
- data/lib/translink/page/trip.rb +13 -19
- data/lib/translink/version.rb +1 -1
- data/test/fixtures/sample/route.html +1 -1
- data/test/fixtures/verbatim/route.html +294 -270
- data/test/fixtures/verbatim/route/date_from_anchor.html +2727 -0
- data/test/fixtures/verbatim/timetable/duplicate_routes.html +2293 -0
- data/test/fixtures/verbatim/trip/duplicate_stop_times.html +589 -0
- data/test/unit/cli_test.rb +26 -7
- data/test/unit/model/route_test.rb +3 -2
- data/test/unit/model/trip_test.rb +3 -3
- data/test/unit/page/route_test.rb +36 -5
- data/test/unit/page/timetable_test.rb +29 -0
- data/test/unit/page/trip_test.rb +12 -5
- data/translink.gemspec +3 -3
- metadata +62 -21
data/CHANGELOG.md
CHANGED
@@ -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
|
[](http://travis-ci.org/tatey/translink)
|
4
4
|
|
5
|
-
[
|
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 [
|
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
|
-
|
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
|
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
|
42
|
-
|
43
|
-
INNER JOIN
|
44
|
-
INNER JOIN
|
45
|
-
|
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.
|
50
|
-
INNER JOIN stop_times ON stop_times.stop_id = stops.
|
51
|
-
INNER JOIN trips ON stop_times.trip_id = trips.
|
52
|
-
INNER JOIN routes ON routes.
|
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
|

|
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.
|
data/doc/schema.graffle
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
<key>ApplicationVersion</key>
|
8
8
|
<array>
|
9
9
|
<string>com.omnigroup.OmniGraffle</string>
|
10
|
-
<string>139.
|
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.
|
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\
|
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.
|
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\
|
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.
|
183
|
-
<string>{514.
|
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.
|
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\
|
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.
|
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\
|
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.
|
334
|
-
<string>{359.
|
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.
|
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\
|
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.
|
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\
|
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.
|
485
|
-
<string>{204.
|
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\
|
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,
|
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\
|
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
|
579
|
+
\f0\b\fs24 \cf0 \ul \ulc0 arrival_time
|
580
580
|
\b0 \ulnone \
|
581
|
-
arrival_time\
|
582
581
|
stop_sequence\
|
583
|
-
\
|
584
|
-
|
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,
|
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\
|
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,
|
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\
|
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
|
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,
|
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\
|
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,
|
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\
|
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
|
769
|
+
\f0\b\fs24 \cf0 \ul \ulc0 trip_id
|
768
770
|
\b0 \ulnone \
|
769
771
|
direction\
|
770
|
-
\
|
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,
|
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\
|
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,
|
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\
|
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
|
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,
|
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\
|
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-
|
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>{{
|
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}, {
|
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>
|