forked from ChelseaKR/gtfs-scorecard
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
139 lines (139 loc) · 10.5 KB
/
Copy pathindex.html
File metadata and controls
139 lines (139 loc) · 10.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Fix: stop times without a timepoint value — GTFS Scorecard</title>
<meta name="description" content="stop_times.txt has a timepoint column, but some rows leave it blank. The column says whether each arrival time is a real, scheduled checkpoint…">
<link rel="canonical" href="https://gtfsscorecard.org/fix/missing_timepoint_value/">
<meta property="og:type" content="website">
<meta property="og:title" content="Fix: stop times without a timepoint value — GTFS Scorecard">
<meta property="og:description" content="stop_times.txt has a timepoint column, but some rows leave it blank. The column says whether each arrival time is a real, scheduled checkpoint…">
<meta property="og:url" content="https://gtfsscorecard.org/fix/missing_timepoint_value/">
<meta property="og:image" content="https://gtfsscorecard.org/og.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://gtfsscorecard.org/og.png">
<link rel="stylesheet" href="/src/styles.css">
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='13' fill='%23204e3a'/%3E%3Ccircle cx='16' cy='16' r='5' fill='%23f2f3ee'/%3E%3C/svg%3E">
<script type="application/ld+json">{"@context":"https://schema.org","@type":"TechArticle","headline":"Fix: stop times without a timepoint value","description":"stop_times.txt has a timepoint column, but some rows leave it blank. The column says whether each arrival time is a real, scheduled checkpoint\u2026","url":"https://gtfsscorecard.org/fix/missing_timepoint_value/","about":{"@type":"Thing","name":"GTFS validator notice missing_timepoint_value"},"author":{"@type":"Organization","name":"GTFS Scorecard","url":"https://gtfsscorecard.org"},"dateModified":"2026-07-14","mainEntityOfPage":"https://gtfsscorecard.org/fix/missing_timepoint_value/","publisher":{"@type":"Organization","name":"GTFS Scorecard","url":"https://gtfsscorecard.org"}}</script>
<script>
/* Apply the saved theme before first paint to avoid a flash (WCAG 1.4.8). */
try {
var t = localStorage.getItem("scorecard-theme");
if (t && ["light", "contrast", "dark"].indexOf(t) >= 0)
document.documentElement.setAttribute("data-theme", t);
} catch (e) {}
</script>
<script src="/src/theme.js" defer></script>
<script src="/src/nav.js" defer></script>
<noscript><style>
/* Without JS the menu button cannot expand the collapsed nav, so show the
stacked nav permanently and hide the button (content stays operable
without scripting). nav.js never runs here, so nothing double-toggles. */
@media (max-width: 1040px) {
.nav-menu-btn { display: none !important; }
.nav-cluster { display: flex !important; position: static; }
}
</style></noscript>
</head>
<body>
<a class="skip-link" href="#main">Skip to main content</a>
<header class="site-header"><div class="wrap"><a class="brand" href="/"><span class="brand-mark" aria-hidden="true"></span><span class="brand-name">GTFS Scorecard</span></a><button class="nav-menu-btn" type="button" aria-expanded="false" aria-controls="nav-cluster"><span aria-hidden="true">☰</span> Menu</button><div class="nav-cluster" id="nav-cluster"><nav class="nav-stops" aria-label="Primary"><a class="nav-stop" href="/agencies/" aria-current="page"><span class="pip" aria-hidden="true"></span>Find an agency</a><a class="nav-stop" href="/pulse/"><span class="pip" aria-hidden="true"></span>Coverage</a><a class="nav-stop" href="/focus/"><span class="pip" aria-hidden="true"></span>Focus areas</a><a class="nav-stop" href="/tools/"><span class="pip" aria-hidden="true"></span>Tools</a><a class="nav-stop" href="/how-to-read/"><span class="pip" aria-hidden="true"></span>How it works</a><a class="nav-stop" href="/about/"><span class="pip" aria-hidden="true"></span>About</a></nav><div id="theme-control"></div></div></div></header>
<main id="main" class="wrap" tabindex="-1">
<nav class="breadcrumb" aria-label="Breadcrumb"><ol itemscope itemtype="https://schema.org/BreadcrumbList"><li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"><a itemprop="item" href="/"><span itemprop="name">Home</span></a><meta itemprop="position" content="1"></li><li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"><a itemprop="item" href="/fix/"><span itemprop="name">GTFS errors and fixes</span></a><meta itemprop="position" content="2"></li><li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"><span itemprop="name" aria-current="page">Fix: missing_timepoint_value</span><meta itemprop="position" content="3"></li></ol></nav>
<a class="backlink" href="/fix/">← All GTFS fixes</a>
<article class="feed-details"><h1>Fix: stop times without a timepoint value</h1>
<p>Code: <code>missing_timepoint_value</code> (MobilityData validator)</p>
<h2 class="section-title">What this means</h2>
<p><code>stop_times.txt</code> has a <code>timepoint</code> column, but some rows leave it blank. The
column says whether each arrival time is a real, scheduled checkpoint
(<code>timepoint=1</code>) or an interpolated estimate (<code>timepoint=0</code>). Blank rows leave
consumers guessing which kind each time is.</p>
<h2 class="section-title">Why it matters</h2>
<p>Trip planners and realtime systems treat checkpoint times differently from
estimates: a checkpoint anchors predictions, an estimate can flex. When the
field is blank, an app has to assume, and its assumption may present your
estimated times as promises. Riders then hold the schedule to a precision it
never claimed.</p>
<h2 class="section-title">How to fix it</h2>
<ul>
<li><strong>In your export settings</strong>, look for an option that writes timepoint flags,
often tied to which stops your schedulers mark as time checks. If your tool
wrote the column at all, it usually can fill it.</li>
<li><strong>If every published time is a real scheduled time</strong>, setting <code>timepoint=1</code>
on all rows is honest and clears the warning.</li>
<li><strong>If only some stops are time checks</strong>, mark those <code>1</code> and the rest <code>0</code>; the
scheduling data usually already knows which is which.</li>
</ul>
<h2 class="section-title">How long it usually takes</h2>
<p>Usually one export setting. If the column has to be filled from scratch, a
bulk edit keyed on your time-check stops does it in an afternoon.</p>
<h2 class="section-title">Authoritative rule</h2>
<p><code>missing_timepoint_value</code> is a canonical MobilityData GTFS Validator notice used in validator reports across the GTFS ecosystem. <a class="rule-ref" href="https://gtfs-validator.mobilitydata.org/rules.html#missing_timepoint_value-rule">Read the authoritative rule for missing_timepoint_value in the GTFS Validator rules</a>.<span class="visually-hidden"> (opens on an external site)</span></p><section aria-labelledby="afterfix-h"><h2 class="section-title" id="afterfix-h">After you republish</h2><p>Once the changed feed is live at your published URL, the next scorecard run checks it again. When the same complete producer contract no longer reports this finding, it can be recorded as a dated finding clearance. That confirms the later feed state, not who changed the feed or why.</p></section></article>
</main>
<footer class="site-footer">
<div class="wrap">
<div class="footer-intro">
<a class="footer-brand" href="/">GTFS Scorecard</a>
<p>An open-source data quality tool for small and rural transit agencies.</p>
</div>
<nav class="footer-grid" aria-label="Footer">
<section aria-labelledby="footer-find-h">
<h2 id="footer-find-h">Find a scorecard</h2>
<ul>
<li><a href="/agencies/">Agency directory</a></li>
<li><a href="/app/">Interactive search</a></li>
<li><a href="/map/">Agency map</a></li>
<li><a href="/routes/">All routes</a></li>
<li><a href="/compare/">Compare two agencies</a></li>
</ul>
</section>
<section aria-labelledby="footer-improve-h">
<h2 id="footer-improve-h">Improve a feed</h2>
<ul>
<li><a href="/fix/">GTFS errors & fixes</a></li>
<li><a href="/check/">Check before publishing</a></li>
<li><a href="/try.html">Request a one-off score</a></li>
<li><a href="/subscribe.html">Feed-health alerts</a></li>
<li><a href="/submit.html">Add an agency</a></li>
<li><a href="/claim/">Correct or claim a listing</a></li>
<li><a href="/procurement/">Procurement language</a></li>
</ul>
</section>
<section aria-labelledby="footer-explore-h">
<h2 id="footer-explore-h">Explore the data</h2>
<ul>
<li><a href="/pulse/">Coverage overview</a></li>
<li><a href="/problems/">Common problems</a></li>
<li><a href="/realtime/">Realtime quality</a></li>
<li><a href="/adoption/">What feeds publish</a></li>
<li><a href="/focus/">Focus areas</a></li>
<li class="footer-subhead">United States tools</li>
<li><a href="/ntd/">U.S. NTD readiness</a></li>
<li><a href="/equity/">U.S. equity</a></li>
<li><a href="/query/">Query the dataset</a></li>
<li><a href="/data/">Open data</a></li>
</ul>
</section>
<section aria-labelledby="footer-project-h">
<h2 id="footer-project-h">Project</h2>
<ul>
<li><a href="/about/">About</a></li>
<li><a href="/status/">Status</a></li>
<li><a href="/support/">Get help or sponsor</a></li>
<li><a href="/how-to-read/">How to read a scorecard</a></li>
<li><a href="/how-to-read/#glossary">Glossary</a></li>
<li><a href="/crosswalk/">Standards crosswalk</a></li>
<li><a href="/press/">For reporters</a></li>
<li><a href="/accessibility/">Accessibility</a></li>
<li><a href="https://github.com/ChelseaKR/gtfs-scorecard/blob/main/CONTRIBUTING.md">Contribute</a></li>
<li><a href="https://github.com/ChelseaKR/gtfs-scorecard/blob/main/docs/listing-policy.md">Listing & removal policy</a></li>
</ul>
</section>
</nav>
</div>
</footer>
</body>
</html>