translink 0.0.1 → 1.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.
Files changed (40) hide show
  1. data/CHANGELOG.md +12 -0
  2. data/README.md +44 -8
  3. data/doc/schema.graffle +396 -82
  4. data/doc/schema.png +0 -0
  5. data/lib/translink/cli.rb +10 -16
  6. data/lib/translink/crawler.rb +5 -6
  7. data/lib/translink/db.rb +6 -14
  8. data/lib/translink/model/route.rb +29 -18
  9. data/lib/translink/model/stop.rb +17 -19
  10. data/lib/translink/model/stop_time.rb +26 -0
  11. data/lib/translink/model/trip.rb +48 -0
  12. data/lib/translink/page/route.rb +42 -18
  13. data/lib/translink/page/timetable.rb +15 -18
  14. data/lib/translink/page/trip.rb +90 -17
  15. data/lib/translink/page.rb +1 -1
  16. data/lib/translink/version.rb +1 -1
  17. data/lib/translink.rb +2 -3
  18. data/test/fixtures/sample/route.html +401 -1049
  19. data/test/fixtures/sample/timetable.html +170 -216
  20. data/test/fixtures/verbatim/route.html +1976 -7178
  21. data/test/fixtures/verbatim/timetable.html +1501 -6165
  22. data/test/fixtures/verbatim/trip.html +311 -508
  23. data/test/unit/cli_test.rb +4 -20
  24. data/test/unit/crawler_test.rb +16 -36
  25. data/test/unit/model/route_test.rb +14 -25
  26. data/test/unit/model/stop_test.rb +6 -31
  27. data/test/unit/model/stop_time_test.rb +11 -0
  28. data/test/unit/model/trip_test.rb +28 -0
  29. data/test/unit/page/route_test.rb +38 -28
  30. data/test/unit/page/timetable_test.rb +12 -10
  31. data/test/unit/page/trip_test.rb +38 -22
  32. data/test/unit/page_test.rb +1 -1
  33. data/translink.gemspec +2 -2
  34. metadata +24 -27
  35. data/lib/translink/code.rb +0 -9
  36. data/lib/translink/model/service.rb +0 -20
  37. data/lib/translink/model/stop/extractor.rb +0 -67
  38. data/test/unit/code_test.rb +0 -12
  39. data/test/unit/model/service_test.rb +0 -23
  40. data/test/unit/model/stop/extractor_test.rb +0 -112
data/doc/schema.graffle CHANGED
@@ -7,14 +7,14 @@
7
7
  <key>ApplicationVersion</key>
8
8
  <array>
9
9
  <string>com.omnigroup.OmniGraffle</string>
10
- <string>138.33.0.157554</string>
10
+ <string>139.7.0.167456</string>
11
11
  </array>
12
12
  <key>AutoAdjust</key>
13
13
  <true/>
14
14
  <key>BackgroundGraphic</key>
15
15
  <dict>
16
16
  <key>Bounds</key>
17
- <string>{{0, 0}, {559, 783}}</string>
17
+ <string>{{0, 0}, {1118, 783}}</string>
18
18
  <key>Class</key>
19
19
  <string>SolidGraphic</string>
20
20
  <key>ID</key>
@@ -33,6 +33,8 @@
33
33
  </dict>
34
34
  </dict>
35
35
  </dict>
36
+ <key>BaseZoom</key>
37
+ <integer>0</integer>
36
38
  <key>CanvasOrigin</key>
37
39
  <string>{0, 0}</string>
38
40
  <key>ColumnAlign</key>
@@ -51,7 +53,64 @@
51
53
  <array>
52
54
  <dict>
53
55
  <key>Bounds</key>
54
- <string>{{213.29623, 311.6265}, {15, 14}}</string>
56
+ <string>{{493.23706937031238, 350.51866957905372}, {16, 14}}</string>
57
+ <key>Class</key>
58
+ <string>ShapedGraphic</string>
59
+ <key>FitText</key>
60
+ <string>Vertical</string>
61
+ <key>Flow</key>
62
+ <string>Resize</string>
63
+ <key>ID</key>
64
+ <integer>88</integer>
65
+ <key>Line</key>
66
+ <dict>
67
+ <key>ID</key>
68
+ <integer>87</integer>
69
+ <key>Offset</key>
70
+ <real>11.666666984558105</real>
71
+ <key>Position</key>
72
+ <real>0.76556950807571411</real>
73
+ <key>RotationType</key>
74
+ <integer>0</integer>
75
+ </dict>
76
+ <key>Shape</key>
77
+ <string>Rectangle</string>
78
+ <key>Style</key>
79
+ <dict>
80
+ <key>fill</key>
81
+ <dict>
82
+ <key>Draws</key>
83
+ <string>NO</string>
84
+ </dict>
85
+ <key>shadow</key>
86
+ <dict>
87
+ <key>Draws</key>
88
+ <string>NO</string>
89
+ </dict>
90
+ <key>stroke</key>
91
+ <dict>
92
+ <key>Draws</key>
93
+ <string>NO</string>
94
+ </dict>
95
+ </dict>
96
+ <key>Text</key>
97
+ <dict>
98
+ <key>Align</key>
99
+ <integer>0</integer>
100
+ <key>Text</key>
101
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
102
+ {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
103
+ {\colortbl;\red255\green255\blue255;}
104
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
105
+
106
+ \f0\fs24 \cf0 1}</string>
107
+ <key>VerticalPad</key>
108
+ <integer>0</integer>
109
+ </dict>
110
+ </dict>
111
+ <dict>
112
+ <key>Bounds</key>
113
+ <string>{{462.76629588480574, 353.68516841247134}, {15, 14}}</string>
55
114
  <key>Class</key>
56
115
  <string>ShapedGraphic</string>
57
116
  <key>FitText</key>
@@ -59,11 +118,105 @@
59
118
  <key>Flow</key>
60
119
  <string>Resize</string>
61
120
  <key>ID</key>
62
- <integer>55</integer>
121
+ <integer>89</integer>
63
122
  <key>Line</key>
64
123
  <dict>
65
124
  <key>ID</key>
66
- <integer>53</integer>
125
+ <integer>87</integer>
126
+ <key>Offset</key>
127
+ <real>8.3333330154418945</real>
128
+ <key>Position</key>
129
+ <real>0.23513978719711304</real>
130
+ <key>RotationType</key>
131
+ <integer>0</integer>
132
+ </dict>
133
+ <key>Shape</key>
134
+ <string>Rectangle</string>
135
+ <key>Style</key>
136
+ <dict>
137
+ <key>fill</key>
138
+ <dict>
139
+ <key>Draws</key>
140
+ <string>NO</string>
141
+ </dict>
142
+ <key>shadow</key>
143
+ <dict>
144
+ <key>Draws</key>
145
+ <string>NO</string>
146
+ </dict>
147
+ <key>stroke</key>
148
+ <dict>
149
+ <key>Draws</key>
150
+ <string>NO</string>
151
+ </dict>
152
+ </dict>
153
+ <key>Text</key>
154
+ <dict>
155
+ <key>Align</key>
156
+ <integer>0</integer>
157
+ <key>Text</key>
158
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
159
+ {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
160
+ {\colortbl;\red255\green255\blue255;}
161
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
162
+
163
+ \f0\fs24 \cf0 *}</string>
164
+ <key>VerticalPad</key>
165
+ <integer>0</integer>
166
+ </dict>
167
+ <key>Wrap</key>
168
+ <string>NO</string>
169
+ </dict>
170
+ <dict>
171
+ <key>Class</key>
172
+ <string>LineGraphic</string>
173
+ <key>Head</key>
174
+ <dict>
175
+ <key>ID</key>
176
+ <integer>65</integer>
177
+ </dict>
178
+ <key>ID</key>
179
+ <integer>87</integer>
180
+ <key>Points</key>
181
+ <array>
182
+ <string>{456.49999275129255, 368.94444378696022}</string>
183
+ <string>{514.85421877508725, 369.25888085023411}</string>
184
+ </array>
185
+ <key>Style</key>
186
+ <dict>
187
+ <key>stroke</key>
188
+ <dict>
189
+ <key>HeadArrow</key>
190
+ <string>0</string>
191
+ <key>Legacy</key>
192
+ <true/>
193
+ <key>LineType</key>
194
+ <integer>1</integer>
195
+ <key>TailArrow</key>
196
+ <string>0</string>
197
+ </dict>
198
+ </dict>
199
+ <key>Tail</key>
200
+ <dict>
201
+ <key>ID</key>
202
+ <integer>68</integer>
203
+ </dict>
204
+ </dict>
205
+ <dict>
206
+ <key>Bounds</key>
207
+ <string>{{338.40940924489615, 352.82631853980075}, {15, 14}}</string>
208
+ <key>Class</key>
209
+ <string>ShapedGraphic</string>
210
+ <key>FitText</key>
211
+ <string>YES</string>
212
+ <key>Flow</key>
213
+ <string>Resize</string>
214
+ <key>ID</key>
215
+ <integer>77</integer>
216
+ <key>Line</key>
217
+ <dict>
218
+ <key>ID</key>
219
+ <integer>75</integer>
67
220
  <key>Offset</key>
68
221
  <real>8.3333330154418945</real>
69
222
  <key>Position</key>
@@ -96,7 +249,7 @@
96
249
  <key>Align</key>
97
250
  <integer>0</integer>
98
251
  <key>Text</key>
99
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
252
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
100
253
  {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
101
254
  {\colortbl;\red255\green255\blue255;}
102
255
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
@@ -110,7 +263,7 @@
110
263
  </dict>
111
264
  <dict>
112
265
  <key>Bounds</key>
113
- <string>{{185.63945, 308.30548}, {16, 14}}</string>
266
+ <string>{{309.87998214947055, 349.34968958084983}, {16, 14}}</string>
114
267
  <key>Class</key>
115
268
  <string>ShapedGraphic</string>
116
269
  <key>FitText</key>
@@ -118,11 +271,11 @@
118
271
  <key>Flow</key>
119
272
  <string>Resize</string>
120
273
  <key>ID</key>
121
- <integer>54</integer>
274
+ <integer>76</integer>
122
275
  <key>Line</key>
123
276
  <dict>
124
277
  <key>ID</key>
125
- <integer>53</integer>
278
+ <integer>75</integer>
126
279
  <key>Offset</key>
127
280
  <real>11.666666984558105</real>
128
281
  <key>Position</key>
@@ -155,7 +308,7 @@
155
308
  <key>Align</key>
156
309
  <integer>0</integer>
157
310
  <key>Text</key>
158
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
311
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
159
312
  {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
160
313
  {\colortbl;\red255\green255\blue255;}
161
314
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
@@ -171,14 +324,14 @@
171
324
  <key>Head</key>
172
325
  <dict>
173
326
  <key>ID</key>
174
- <integer>38</integer>
327
+ <integer>68</integer>
175
328
  </dict>
176
329
  <key>ID</key>
177
- <integer>53</integer>
330
+ <integer>75</integer>
178
331
  <key>Points</key>
179
332
  <array>
180
- <string>{177.5, 326.97943}</string>
181
- <string>{234, 326.95386}</string>
333
+ <string>{301.14577594844184, 367.9309845481327}</string>
334
+ <string>{359.50002190686138, 368.22921864099538}</string>
182
335
  </array>
183
336
  <key>Style</key>
184
337
  <dict>
@@ -186,6 +339,8 @@
186
339
  <dict>
187
340
  <key>HeadArrow</key>
188
341
  <string>0</string>
342
+ <key>Legacy</key>
343
+ <true/>
189
344
  <key>LineType</key>
190
345
  <integer>1</integer>
191
346
  <key>TailArrow</key>
@@ -195,12 +350,12 @@
195
350
  <key>Tail</key>
196
351
  <dict>
197
352
  <key>ID</key>
198
- <integer>41</integer>
353
+ <integer>62</integer>
199
354
  </dict>
200
355
  </dict>
201
356
  <dict>
202
357
  <key>Bounds</key>
203
- <string>{{334.79999, 311.66666}, {15, 14}}</string>
358
+ <string>{{183.01258740646881, 352.34978008270264}, {15, 14}}</string>
204
359
  <key>Class</key>
205
360
  <string>ShapedGraphic</string>
206
361
  <key>FitText</key>
@@ -208,15 +363,15 @@
208
363
  <key>Flow</key>
209
364
  <string>Resize</string>
210
365
  <key>ID</key>
211
- <integer>46</integer>
366
+ <integer>74</integer>
212
367
  <key>Line</key>
213
368
  <dict>
214
369
  <key>ID</key>
215
- <integer>19</integer>
370
+ <integer>72</integer>
216
371
  <key>Offset</key>
217
372
  <real>8.3333330154418945</real>
218
373
  <key>Position</key>
219
- <real>0.3061947226524353</real>
374
+ <real>0.76637172698974609</real>
220
375
  <key>RotationType</key>
221
376
  <integer>0</integer>
222
377
  </dict>
@@ -245,7 +400,7 @@
245
400
  <key>Align</key>
246
401
  <integer>0</integer>
247
402
  <key>Text</key>
248
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
403
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
249
404
  {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
250
405
  {\colortbl;\red255\green255\blue255;}
251
406
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
@@ -259,7 +414,7 @@
259
414
  </dict>
260
415
  <dict>
261
416
  <key>Bounds</key>
262
- <string>{{360.14474, 308.33334}, {16, 14}}</string>
417
+ <string>{{154.46613835322205, 349.01644611358643}, {16, 14}}</string>
263
418
  <key>Class</key>
264
419
  <string>ShapedGraphic</string>
265
420
  <key>FitText</key>
@@ -267,15 +422,15 @@
267
422
  <key>Flow</key>
268
423
  <string>Resize</string>
269
424
  <key>ID</key>
270
- <integer>45</integer>
425
+ <integer>73</integer>
271
426
  <key>Line</key>
272
427
  <dict>
273
428
  <key>ID</key>
274
- <integer>19</integer>
429
+ <integer>72</integer>
275
430
  <key>Offset</key>
276
431
  <real>11.666666984558105</real>
277
432
  <key>Position</key>
278
- <real>0.76362365484237671</real>
433
+ <real>0.28574752807617188</real>
279
434
  <key>RotationType</key>
280
435
  <integer>0</integer>
281
436
  </dict>
@@ -304,7 +459,7 @@
304
459
  <key>Align</key>
305
460
  <integer>0</integer>
306
461
  <key>Text</key>
307
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
462
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
308
463
  {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
309
464
  {\colortbl;\red255\green255\blue255;}
310
465
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
@@ -320,14 +475,14 @@
320
475
  <key>Head</key>
321
476
  <dict>
322
477
  <key>ID</key>
323
- <integer>35</integer>
478
+ <integer>62</integer>
324
479
  </dict>
325
480
  <key>ID</key>
326
- <integer>19</integer>
481
+ <integer>72</integer>
327
482
  <key>Points</key>
328
483
  <array>
329
- <string>{325, 327}</string>
330
- <string>{381.5, 327}</string>
484
+ <string>{145.79156494140625, 367.68311309814453}</string>
485
+ <string>{204.14578247070312, 367.68311309814453}</string>
331
486
  </array>
332
487
  <key>Style</key>
333
488
  <dict>
@@ -335,6 +490,8 @@
335
490
  <dict>
336
491
  <key>HeadArrow</key>
337
492
  <string>0</string>
493
+ <key>Legacy</key>
494
+ <true/>
338
495
  <key>LineType</key>
339
496
  <integer>1</integer>
340
497
  <key>TailArrow</key>
@@ -344,7 +501,7 @@
344
501
  <key>Tail</key>
345
502
  <dict>
346
503
  <key>ID</key>
347
- <integer>38</integer>
504
+ <integer>59</integer>
348
505
  </dict>
349
506
  </dict>
350
507
  <dict>
@@ -354,7 +511,7 @@
354
511
  <array>
355
512
  <dict>
356
513
  <key>Bounds</key>
357
- <string>{{87, 271}, {90, 14}}</string>
514
+ <string>{{360, 319.68310546875}, {96, 14}}</string>
358
515
  <key>Class</key>
359
516
  <string>ShapedGraphic</string>
360
517
  <key>FitText</key>
@@ -362,7 +519,7 @@
362
519
  <key>Flow</key>
363
520
  <string>Resize</string>
364
521
  <key>ID</key>
365
- <integer>40</integer>
522
+ <integer>67</integer>
366
523
  <key>Shape</key>
367
524
  <string>Rectangle</string>
368
525
  <key>Style</key>
@@ -376,7 +533,101 @@
376
533
  <key>Text</key>
377
534
  <dict>
378
535
  <key>Text</key>
379
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
536
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
537
+ {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
538
+ {\colortbl;\red255\green255\blue255;}
539
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
540
+
541
+ \f0\b\fs24 \cf0 StopTime}</string>
542
+ <key>VerticalPad</key>
543
+ <integer>0</integer>
544
+ </dict>
545
+ <key>TextPlacement</key>
546
+ <integer>0</integer>
547
+ </dict>
548
+ <dict>
549
+ <key>Bounds</key>
550
+ <string>{{360, 333.68310546875}, {96, 70}}</string>
551
+ <key>Class</key>
552
+ <string>ShapedGraphic</string>
553
+ <key>FitText</key>
554
+ <string>Vertical</string>
555
+ <key>Flow</key>
556
+ <string>Resize</string>
557
+ <key>ID</key>
558
+ <integer>68</integer>
559
+ <key>Shape</key>
560
+ <string>Rectangle</string>
561
+ <key>Style</key>
562
+ <dict>
563
+ <key>fill</key>
564
+ <dict>
565
+ <key>GradientCenter</key>
566
+ <string>{-0.29411799, -0.26470599}</string>
567
+ </dict>
568
+ </dict>
569
+ <key>Text</key>
570
+ <dict>
571
+ <key>Align</key>
572
+ <integer>0</integer>
573
+ <key>Text</key>
574
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
575
+ {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
576
+ {\colortbl;\red255\green255\blue255;}
577
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
578
+
579
+ \f0\b\fs24 \cf0 \ul \ulc0 id
580
+ \b0 \ulnone \
581
+ arrival_time\
582
+ stop_sequence\
583
+ \ul stop_id\ulnone \
584
+ \ul trip_id}</string>
585
+ <key>VerticalPad</key>
586
+ <integer>0</integer>
587
+ </dict>
588
+ <key>TextPlacement</key>
589
+ <integer>0</integer>
590
+ </dict>
591
+ </array>
592
+ <key>GridH</key>
593
+ <array>
594
+ <integer>67</integer>
595
+ <integer>68</integer>
596
+ <array/>
597
+ </array>
598
+ <key>ID</key>
599
+ <integer>66</integer>
600
+ </dict>
601
+ <dict>
602
+ <key>Class</key>
603
+ <string>TableGroup</string>
604
+ <key>Graphics</key>
605
+ <array>
606
+ <dict>
607
+ <key>Bounds</key>
608
+ <string>{{515.35421752929688, 320.36622619628906}, {96, 14}}</string>
609
+ <key>Class</key>
610
+ <string>ShapedGraphic</string>
611
+ <key>FitText</key>
612
+ <string>Vertical</string>
613
+ <key>Flow</key>
614
+ <string>Resize</string>
615
+ <key>ID</key>
616
+ <integer>64</integer>
617
+ <key>Shape</key>
618
+ <string>Rectangle</string>
619
+ <key>Style</key>
620
+ <dict>
621
+ <key>fill</key>
622
+ <dict>
623
+ <key>GradientCenter</key>
624
+ <string>{-0.29411799, -0.26470599}</string>
625
+ </dict>
626
+ </dict>
627
+ <key>Text</key>
628
+ <dict>
629
+ <key>Text</key>
630
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
380
631
  {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
381
632
  {\colortbl;\red255\green255\blue255;}
382
633
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
@@ -390,7 +641,7 @@
390
641
  </dict>
391
642
  <dict>
392
643
  <key>Bounds</key>
393
- <string>{{87, 285}, {90, 84}}</string>
644
+ <string>{{515.35421752929688, 334.36622619628906}, {96, 70}}</string>
394
645
  <key>Class</key>
395
646
  <string>ShapedGraphic</string>
396
647
  <key>FitText</key>
@@ -398,7 +649,7 @@
398
649
  <key>Flow</key>
399
650
  <string>Resize</string>
400
651
  <key>ID</key>
401
- <integer>41</integer>
652
+ <integer>65</integer>
402
653
  <key>Shape</key>
403
654
  <string>Rectangle</string>
404
655
  <key>Style</key>
@@ -414,17 +665,17 @@
414
665
  <key>Align</key>
415
666
  <integer>0</integer>
416
667
  <key>Text</key>
417
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
668
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
418
669
  {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
419
670
  {\colortbl;\red255\green255\blue255;}
420
671
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
421
672
 
422
- \f0\fs24 \cf0 id\
423
- name\
424
- summary\
425
- street1\
426
- street2\
427
- locality}</string>
673
+ \f0\b\fs24 \cf0 \ul \ulc0 id
674
+ \b0 \ulnone \
675
+ stop_id\
676
+ stop_name\
677
+ stop_lat\
678
+ stop_lon}</string>
428
679
  <key>VerticalPad</key>
429
680
  <integer>0</integer>
430
681
  </dict>
@@ -434,12 +685,12 @@ locality}</string>
434
685
  </array>
435
686
  <key>GridH</key>
436
687
  <array>
437
- <integer>40</integer>
438
- <integer>41</integer>
688
+ <integer>64</integer>
689
+ <integer>65</integer>
439
690
  <array/>
440
691
  </array>
441
692
  <key>ID</key>
442
- <integer>39</integer>
693
+ <integer>63</integer>
443
694
  </dict>
444
695
  <dict>
445
696
  <key>Class</key>
@@ -448,7 +699,7 @@ locality}</string>
448
699
  <array>
449
700
  <dict>
450
701
  <key>Bounds</key>
451
- <string>{{234.5, 285}, {90, 14}}</string>
702
+ <string>{{204.64578247070312, 318.68311309814453}, {96, 14}}</string>
452
703
  <key>Class</key>
453
704
  <string>ShapedGraphic</string>
454
705
  <key>FitText</key>
@@ -456,7 +707,7 @@ locality}</string>
456
707
  <key>Flow</key>
457
708
  <string>Resize</string>
458
709
  <key>ID</key>
459
- <integer>37</integer>
710
+ <integer>61</integer>
460
711
  <key>Shape</key>
461
712
  <string>Rectangle</string>
462
713
  <key>Style</key>
@@ -470,12 +721,12 @@ locality}</string>
470
721
  <key>Text</key>
471
722
  <dict>
472
723
  <key>Text</key>
473
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
724
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
474
725
  {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
475
726
  {\colortbl;\red255\green255\blue255;}
476
727
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
477
728
 
478
- \f0\b\fs24 \cf0 Service}</string>
729
+ \f0\b\fs24 \cf0 Trip}</string>
479
730
  <key>VerticalPad</key>
480
731
  <integer>0</integer>
481
732
  </dict>
@@ -484,7 +735,7 @@ locality}</string>
484
735
  </dict>
485
736
  <dict>
486
737
  <key>Bounds</key>
487
- <string>{{234.5, 299}, {90, 56}}</string>
738
+ <string>{{204.64578247070312, 332.68311309814453}, {96, 70}}</string>
488
739
  <key>Class</key>
489
740
  <string>ShapedGraphic</string>
490
741
  <key>FitText</key>
@@ -492,7 +743,7 @@ locality}</string>
492
743
  <key>Flow</key>
493
744
  <string>Resize</string>
494
745
  <key>ID</key>
495
- <integer>38</integer>
746
+ <integer>62</integer>
496
747
  <key>Shape</key>
497
748
  <string>Rectangle</string>
498
749
  <key>Style</key>
@@ -508,15 +759,19 @@ locality}</string>
508
759
  <key>Align</key>
509
760
  <integer>0</integer>
510
761
  <key>Text</key>
511
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
762
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
512
763
  {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
513
764
  {\colortbl;\red255\green255\blue255;}
514
765
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
515
766
 
516
- \f0\fs24 \cf0 id\
517
- time\
518
- route_id\
519
- stop_id}</string>
767
+ \f0\b\fs24 \cf0 \ul \ulc0 id
768
+ \b0 \ulnone \
769
+ 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\
774
+ \ul route_id}</string>
520
775
  <key>VerticalPad</key>
521
776
  <integer>0</integer>
522
777
  </dict>
@@ -526,12 +781,12 @@ stop_id}</string>
526
781
  </array>
527
782
  <key>GridH</key>
528
783
  <array>
529
- <integer>37</integer>
530
- <integer>38</integer>
784
+ <integer>61</integer>
785
+ <integer>62</integer>
531
786
  <array/>
532
787
  </array>
533
788
  <key>ID</key>
534
- <integer>36</integer>
789
+ <integer>60</integer>
535
790
  </dict>
536
791
  <dict>
537
792
  <key>Class</key>
@@ -540,7 +795,7 @@ stop_id}</string>
540
795
  <array>
541
796
  <dict>
542
797
  <key>Bounds</key>
543
- <string>{{382, 285}, {90, 14}}</string>
798
+ <string>{{49.29156494140625, 318.68311309814453}, {96, 14}}</string>
544
799
  <key>Class</key>
545
800
  <string>ShapedGraphic</string>
546
801
  <key>FitText</key>
@@ -548,7 +803,7 @@ stop_id}</string>
548
803
  <key>Flow</key>
549
804
  <string>Resize</string>
550
805
  <key>ID</key>
551
- <integer>34</integer>
806
+ <integer>58</integer>
552
807
  <key>Shape</key>
553
808
  <string>Rectangle</string>
554
809
  <key>Style</key>
@@ -562,7 +817,7 @@ stop_id}</string>
562
817
  <key>Text</key>
563
818
  <dict>
564
819
  <key>Text</key>
565
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
820
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
566
821
  {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
567
822
  {\colortbl;\red255\green255\blue255;}
568
823
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc
@@ -576,7 +831,7 @@ stop_id}</string>
576
831
  </dict>
577
832
  <dict>
578
833
  <key>Bounds</key>
579
- <string>{{382, 299}, {90, 56}}</string>
834
+ <string>{{49.29156494140625, 332.68311309814453}, {96, 70}}</string>
580
835
  <key>Class</key>
581
836
  <string>ShapedGraphic</string>
582
837
  <key>FitText</key>
@@ -584,7 +839,7 @@ stop_id}</string>
584
839
  <key>Flow</key>
585
840
  <string>Resize</string>
586
841
  <key>ID</key>
587
- <integer>35</integer>
842
+ <integer>59</integer>
588
843
  <key>Shape</key>
589
844
  <string>Rectangle</string>
590
845
  <key>Style</key>
@@ -600,15 +855,17 @@ stop_id}</string>
600
855
  <key>Align</key>
601
856
  <integer>0</integer>
602
857
  <key>Text</key>
603
- <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
858
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
604
859
  {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
605
860
  {\colortbl;\red255\green255\blue255;}
606
861
  \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
607
862
 
608
- \f0\fs24 \cf0 id\
609
- code\
610
- name\
611
- translink_id}</string>
863
+ \f0\b\fs24 \cf0 \ul \ulc0 id
864
+ \b0 \ulnone \
865
+ route_id\
866
+ short_name\
867
+ long_name\
868
+ route_type}</string>
612
869
  <key>VerticalPad</key>
613
870
  <integer>0</integer>
614
871
  </dict>
@@ -618,12 +875,71 @@ translink_id}</string>
618
875
  </array>
619
876
  <key>GridH</key>
620
877
  <array>
621
- <integer>34</integer>
622
- <integer>35</integer>
878
+ <integer>58</integer>
879
+ <integer>59</integer>
623
880
  <array/>
624
881
  </array>
625
882
  <key>ID</key>
626
- <integer>33</integer>
883
+ <integer>57</integer>
884
+ </dict>
885
+ <dict>
886
+ <key>Bounds</key>
887
+ <string>{{49.291564470703122, 422}, {53, 22}}</string>
888
+ <key>Class</key>
889
+ <string>ShapedGraphic</string>
890
+ <key>FitText</key>
891
+ <string>YES</string>
892
+ <key>Flow</key>
893
+ <string>Resize</string>
894
+ <key>FontInfo</key>
895
+ <dict>
896
+ <key>Font</key>
897
+ <string>Helvetica</string>
898
+ <key>Size</key>
899
+ <real>12</real>
900
+ </dict>
901
+ <key>ID</key>
902
+ <integer>56</integer>
903
+ <key>Shape</key>
904
+ <string>Rectangle</string>
905
+ <key>Style</key>
906
+ <dict>
907
+ <key>fill</key>
908
+ <dict>
909
+ <key>Draws</key>
910
+ <string>NO</string>
911
+ </dict>
912
+ <key>shadow</key>
913
+ <dict>
914
+ <key>Draws</key>
915
+ <string>NO</string>
916
+ </dict>
917
+ <key>stroke</key>
918
+ <dict>
919
+ <key>Draws</key>
920
+ <string>NO</string>
921
+ </dict>
922
+ </dict>
923
+ <key>Text</key>
924
+ <dict>
925
+ <key>Align</key>
926
+ <integer>0</integer>
927
+ <key>Pad</key>
928
+ <integer>0</integer>
929
+ <key>Text</key>
930
+ <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf470
931
+ {\fonttbl\f0\fswiss\fcharset0 Helvetica;}
932
+ {\colortbl;\red255\green255\blue255;}
933
+ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural
934
+
935
+ \f0\b\fs18 \cf0 \ul \ulc0 Primary Key\
936
+
937
+ \b0 Foreign Key}</string>
938
+ <key>VerticalPad</key>
939
+ <integer>0</integer>
940
+ </dict>
941
+ <key>Wrap</key>
942
+ <string>NO</string>
627
943
  </dict>
628
944
  </array>
629
945
  <key>GridInfo</key>
@@ -633,7 +949,7 @@ translink_id}</string>
633
949
  <key>GuidesVisible</key>
634
950
  <string>YES</string>
635
951
  <key>HPages</key>
636
- <integer>1</integer>
952
+ <integer>2</integer>
637
953
  <key>ImageCounter</key>
638
954
  <integer>1</integer>
639
955
  <key>KeepToScale</key>
@@ -673,7 +989,7 @@ translink_id}</string>
673
989
  <key>MasterSheets</key>
674
990
  <array/>
675
991
  <key>ModificationDate</key>
676
- <string>2012-03-13 11:33:14 +0000</string>
992
+ <string>2012-06-08 13:06:12 +0000</string>
677
993
  <key>Modifier</key>
678
994
  <string>Tate Johnson</string>
679
995
  <key>NotesVisible</key>
@@ -683,7 +999,7 @@ translink_id}</string>
683
999
  <key>OriginVisible</key>
684
1000
  <string>NO</string>
685
1001
  <key>PageBreaks</key>
686
- <string>YES</string>
1002
+ <string>NO</string>
687
1003
  <key>PrintInfo</key>
688
1004
  <dict>
689
1005
  <key>NSBottomMargin</key>
@@ -703,8 +1019,8 @@ translink_id}</string>
703
1019
  </array>
704
1020
  <key>NSPaperSize</key>
705
1021
  <array>
706
- <string>coded</string>
707
- <string>BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU1ZhbHVlAISECE5TT2JqZWN0AIWEASqEhAx7X05TU2l6ZT1mZn2WgVMCgUoDhg==</string>
1022
+ <string>size</string>
1023
+ <string>{595, 842}</string>
708
1024
  </array>
709
1025
  <key>NSPrintReverseOrientation</key>
710
1026
  <array>
@@ -754,7 +1070,7 @@ translink_id}</string>
754
1070
  </dict>
755
1071
  </array>
756
1072
  <key>Frame</key>
757
- <string>{{335, 4}, {693, 874}}</string>
1073
+ <string>{{1362, 134}, {693, 874}}</string>
758
1074
  <key>ListView</key>
759
1075
  <true/>
760
1076
  <key>OutlineWidth</key>
@@ -764,11 +1080,11 @@ translink_id}</string>
764
1080
  <key>ShowRuler</key>
765
1081
  <true/>
766
1082
  <key>Sidebar</key>
767
- <true/>
1083
+ <false/>
768
1084
  <key>SidebarWidth</key>
769
1085
  <integer>120</integer>
770
1086
  <key>VisibleRegion</key>
771
- <string>{{0, 0}, {558, 719}}</string>
1087
+ <string>{{0, 0}, {679, 735}}</string>
772
1088
  <key>Zoom</key>
773
1089
  <real>1</real>
774
1090
  <key>ZoomValues</key>
@@ -780,7 +1096,5 @@ translink_id}</string>
780
1096
  </array>
781
1097
  </array>
782
1098
  </dict>
783
- <key>saveQuickLookFiles</key>
784
- <string>YES</string>
785
1099
  </dict>
786
1100
  </plist>