{"service": "road marking taper gate", "access": "POST needs the x-access-token header; the token is given with the competition submission", "opencv": "5.0.0", "post": {"image_base64": "JPEG or PNG, <= 3 MB encoded. red_line_gap and taper_table_4_2_7 need the camera's original resolution: at 2000 px on the long side both refuse (checked 2026-09-23 on F17/F30-32/F40), and originals are 5-10 MB, over this cap. Until the upload path changes they will usually say CANNOT_MEASURE", "fov_deg": "horizontal field of view of the lens", "posted_kmh": "speed limit in force", "lane_width_m": "optional. Without it the width check is skipped and said to be skipped; a photograph has no scale"}, "returns": {"scenario": "what a road user meets here. Every clause either quotes a value measured in this frame or names inline the clause it is read under", "site_description_not_measured": "things that are true of this place and that this program did not measure - the drain covers under the red line, the bridge 430 m ahead. Kept apart from `scenario` so an unearned sentence has nowhere to sit", "findings": "the same thing itemised, each with its measurement, basis and state", "red_line_gap": "intact red line's inner edge to the worn line's centre, metres; the ruler is the line's own 10 cm width (§169). Reported only if four encodings of the bytes agree within 5 cm", "taper_table_4_2_7": "chevron taper ratio against 表 4.2.7 (50 km/h 16:1). Reported only if four encodings agree within 10%; one re-encode at quality 97 moved F40 from 11.9:1 to 23.2:1", "site_116_not_measured_from_this_photograph": "the 116 縣道 site's published figures, attached to every response, each with its results/ source. Not measured from the photograph sent", "state": "NOT_A_ROAD_PHOTOGRAPH when the road region is under 30% of the frame; then nothing was measured and every other key is empty except the site block, which is attached to every response"}, "finding_codes": {"TAPER_TOO_STEEP": "車道縮減漸變段過陡 (守則 p.9)", "TAPER_BELOW_TABLE_4_2_7": "槽化線漸變率低於表 4.2.7 該速率的比例", "TWO_RED_LINES": "新舊兩條紅線,量到兩者距離 (§169 線寬當尺)", "NO_LANE_CHANGE": "雙白實線，禁止變換車道 (§167)", "EDGE_NOT_CARRIAGEWAY": "路緣紅線，可行駛路面至此為止 (§169)", "SURFACE_IN_PIECES": "行車道內有新舊鋪面銜接處 (挖掘審查原則)", "LANE_TOO_NARROW": "汽機車並行不足法定間隔 (§101)", "CENTRE_LINE_SOLID": "雙黃實線，分向限制線 (§165)。與 §167 不同:它禁止的是跨越對向"}, "not_needed": {"pitch": "the angle measured is invariant to camera rotation", "road_bearing": "the road's own markings give it", "scale": "a taper rate is dimensionless"}, "states": {"WITHIN_REFERENCE": "clear of the reference by more than the measurement's doubt", "STEEPER_THAN_REFERENCE": "past it by more than the doubt", "INDETERMINATE": "measured, but nearer the reference than this measurement can resolve", "CANNOT_MEASURE": "the photograph does not show what is needed"}}