vehicles 0.6.1 → 0.8.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.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +164 -0
- data/CHANGELOG.md +274 -0
- data/README.md +55 -10
- data/data/PROVENANCE-vehicles.md +12 -0
- data/data/plates/PROVENANCE.md +5 -4
- data/data/plates/_decode/at-districts.yml +287 -0
- data/data/plates/_decode/ch-cantons.yml +110 -0
- data/data/plates/_decode/cn-issuing-offices.yml +463 -0
- data/data/plates/_decode/cn-provinces.yml +614 -0
- data/data/plates/_decode/cz-kraj.yml +159 -0
- data/data/plates/_decode/dk-serial-blocks.yml +327 -0
- data/data/plates/_decode/fr-departements.yml +191 -0
- data/data/plates/_decode/gb-age-identifiers.yml +170 -0
- data/data/plates/_decode/gb-memory-tags.yml +202 -0
- data/data/plates/_decode/gr-prefectures.yml +1408 -0
- data/data/plates/_decode/hr-cities.yml +315 -0
- data/data/plates/_decode/ie-counties.yml +227 -0
- data/data/plates/_decode/in-state-codes.yml +169 -0
- data/data/plates/_decode/is-districts-1938.yml +116 -0
- data/data/plates/_decode/it-provinces.yml +348 -0
- data/data/plates/_decode/jp-office-marks.yml +960 -0
- data/data/plates/_decode/jp-use-marks.yml +205 -0
- data/data/plates/_decode/kr-authority-marks.yml +146 -0
- data/data/plates/_decode/kr-use-syllables.yml +194 -0
- data/data/plates/_decode/lu-series-order.yml +638 -0
- data/data/plates/_decode/mx-entity-series.yml +380 -0
- data/data/plates/_decode/my-index-marks.yml +271 -0
- data/data/plates/_decode/no-counties-1913.yml +148 -0
- data/data/plates/_decode/no-districts.yml +901 -0
- data/data/plates/_decode/pl-powiats.yml +567 -0
- data/data/plates/_decode/pt-trailer-services.yml +96 -0
- data/data/plates/_decode/ro-counties.yml +213 -0
- data/data/plates/_decode/se-diplomatic.yml +220 -0
- data/data/plates/_decode/si-regions.yml +123 -0
- data/data/plates/_decode/sk-districts.yml +314 -0
- data/data/plates/_decode/th-registration-elements.yml +208 -0
- data/data/plates/_decode/ua-regions.yml +393 -0
- data/data/plates/_decode/za-licence-marks.yml +215 -0
- data/data/plates/_meta/classes.yml +1 -0
- data/data/plates/_meta/separators.yml +102 -0
- data/data/plates/ad.yml +961 -0
- data/data/plates/ar.yml +762 -0
- data/data/plates/at.yml +1424 -0
- data/data/plates/au-act.yml +472 -0
- data/data/plates/au-nsw.yml +282 -0
- data/data/plates/au-nt.yml +431 -0
- data/data/plates/au-qld.yml +272 -0
- data/data/plates/au-sa.yml +248 -0
- data/data/plates/au-tas.yml +302 -0
- data/data/plates/au-vic.yml +215 -0
- data/data/plates/au-wa.yml +309 -0
- data/data/plates/be.yml +1840 -0
- data/data/plates/br.yml +1152 -0
- data/data/plates/ca-ab.yml +430 -0
- data/data/plates/ca-bc.yml +697 -0
- data/data/plates/ca-mb.yml +499 -0
- data/data/plates/ca-nb.yml +537 -0
- data/data/plates/ca-nl.yml +743 -0
- data/data/plates/ca-ns.yml +808 -0
- data/data/plates/ca-nt.yml +610 -0
- data/data/plates/ca-nu.yml +280 -0
- data/data/plates/ca-on.yml +881 -0
- data/data/plates/ca-pe.yml +592 -0
- data/data/plates/ca-qc.yml +1036 -0
- data/data/plates/ca-sk.yml +256 -0
- data/data/plates/ca-yt.yml +656 -0
- data/data/plates/ch.yml +1273 -0
- data/data/plates/cn.yml +1431 -0
- data/data/plates/cy.yml +688 -0
- data/data/plates/cz.yml +1179 -0
- data/data/plates/de.yml +553 -118
- data/data/plates/dk.yml +1647 -0
- data/data/plates/ee.yml +1275 -0
- data/data/plates/es.yml +228 -32
- data/data/plates/fi.yml +1271 -0
- data/data/plates/fr.yml +1265 -0
- data/data/plates/gb.yml +1188 -0
- data/data/plates/gr.yml +721 -0
- data/data/plates/hr.yml +860 -0
- data/data/plates/hu.yml +959 -0
- data/data/plates/ie.yml +775 -0
- data/data/plates/in.yml +1172 -0
- data/data/plates/is.yml +667 -0
- data/data/plates/it.yml +1317 -0
- data/data/plates/jp.yml +3650 -0
- data/data/plates/kr.yml +1375 -0
- data/data/plates/li.yml +1010 -0
- data/data/plates/lt.yml +879 -0
- data/data/plates/lu.yml +842 -0
- data/data/plates/lv.yml +924 -0
- data/data/plates/mc.yml +1024 -0
- data/data/plates/mt.yml +854 -0
- data/data/plates/mx.yml +1372 -0
- data/data/plates/my.yml +685 -0
- data/data/plates/nl.yml +44 -0
- data/data/plates/no.yml +1018 -0
- data/data/plates/nz.yml +1699 -0
- data/data/plates/pl.yml +1296 -0
- data/data/plates/pt.yml +847 -0
- data/data/plates/ro.yml +785 -0
- data/data/plates/se.yml +1091 -0
- data/data/plates/si.yml +1105 -0
- data/data/plates/sk.yml +1439 -0
- data/data/plates/sm.yml +1119 -0
- data/data/plates/th.yml +1150 -0
- data/data/plates/ua.yml +1672 -0
- data/data/plates/us-ak.yml +763 -0
- data/data/plates/us-al.yml +457 -0
- data/data/plates/us-ar.yml +427 -0
- data/data/plates/us-as.yml +454 -0
- data/data/plates/us-az.yml +430 -0
- data/data/plates/us-ca.yml +892 -0
- data/data/plates/us-co.yml +452 -0
- data/data/plates/us-ct.yml +427 -0
- data/data/plates/us-dc.yml +614 -0
- data/data/plates/us-de.yml +551 -0
- data/data/plates/us-fl.yml +319 -96
- data/data/plates/us-ga.yml +644 -0
- data/data/plates/us-gu.yml +658 -0
- data/data/plates/us-hi.yml +585 -0
- data/data/plates/us-ia.yml +438 -0
- data/data/plates/us-id.yml +531 -0
- data/data/plates/us-il.yml +516 -0
- data/data/plates/us-in.yml +324 -0
- data/data/plates/us-ks.yml +351 -0
- data/data/plates/us-ky.yml +770 -0
- data/data/plates/us-la.yml +568 -0
- data/data/plates/us-ma.yml +379 -0
- data/data/plates/us-md.yml +536 -0
- data/data/plates/us-me.yml +445 -0
- data/data/plates/us-mi.yml +408 -0
- data/data/plates/us-mn.yml +411 -0
- data/data/plates/us-mo.yml +356 -0
- data/data/plates/us-mp.yml +402 -0
- data/data/plates/us-ms.yml +432 -0
- data/data/plates/us-mt.yml +619 -0
- data/data/plates/us-nc.yml +602 -0
- data/data/plates/us-nd.yml +419 -0
- data/data/plates/us-ne.yml +483 -0
- data/data/plates/us-nh.yml +394 -0
- data/data/plates/us-nj.yml +547 -0
- data/data/plates/us-nm.yml +574 -0
- data/data/plates/us-nv.yml +655 -0
- data/data/plates/us-ny.yml +592 -0
- data/data/plates/us-oh.yml +404 -0
- data/data/plates/us-ok.yml +513 -0
- data/data/plates/us-or.yml +392 -0
- data/data/plates/us-pa.yml +506 -0
- data/data/plates/us-pr.yml +507 -0
- data/data/plates/us-ri.yml +445 -0
- data/data/plates/us-sc.yml +605 -0
- data/data/plates/us-sd.yml +428 -0
- data/data/plates/us-tn.yml +471 -0
- data/data/plates/us-tx.yml +535 -0
- data/data/plates/us-ut.yml +384 -0
- data/data/plates/us-va.yml +567 -0
- data/data/plates/us-vi.yml +489 -0
- data/data/plates/us-vt.yml +458 -0
- data/data/plates/us-wa.yml +484 -0
- data/data/plates/us-wi.yml +509 -0
- data/data/plates/us-wv.yml +446 -0
- data/data/plates/us-wy.yml +523 -0
- data/data/plates/va.yml +604 -0
- data/data/plates/za.yml +1141 -0
- data/data/vehicles.json +160653 -105090
- data/lib/vehicles/configuration.rb +17 -3
- data/lib/vehicles/dataset.rb +73 -18
- data/lib/vehicles/fuzzy.rb +115 -0
- data/lib/vehicles/http.rb +48 -0
- data/lib/vehicles/make.rb +36 -6
- data/lib/vehicles/mcp_server.rb +5 -5
- data/lib/vehicles/model.rb +21 -2
- data/lib/vehicles/plates/series.rb +172 -18
- data/lib/vehicles/plates/template_fill.rb +188 -0
- data/lib/vehicles/plates/templates.rb +162 -0
- data/lib/vehicles/plates.rb +12 -0
- data/lib/vehicles/providers/hosted_provider.rb +28 -55
- data/lib/vehicles/validators/vehicle_make_validator.rb +3 -1
- data/lib/vehicles/validators/vehicle_model_validator.rb +1 -1
- data/lib/vehicles/version.rb +1 -1
- data/lib/vehicles.rb +32 -16
- data/rakelib/data_refresh.rake +109 -0
- data/rakelib/plates_refresh.rake +29 -0
- data/sig/vehicles.rbs +18 -0
- metadata +164 -2
data/data/plates/lv.yml
ADDED
|
@@ -0,0 +1,924 @@
|
|
|
1
|
+
# plates/lv.yml — Latvia (PRD-PLATES gate L1, EU/EEA wave 2). DRAFT for
|
|
2
|
+
# verification: researched by an Opus L1 researcher, never applied directly.
|
|
3
|
+
#
|
|
4
|
+
# THE LATVIAN SOURCE CHAIN — THE FULL INSTRUMENT LINE, DATED TO THE DAY
|
|
5
|
+
#
|
|
6
|
+
# Latvia is the best-documented of the three Baltic files for INSTRUMENT
|
|
7
|
+
# CONTINUITY: likumi.lv carries the whole succession of registration
|
|
8
|
+
# regulations back to 1998, each with its own commencement and repeal date, and
|
|
9
|
+
# the current one carries the plate description as an ANNEX rather than
|
|
10
|
+
# delegating it away. The chain actually verified in this pass:
|
|
11
|
+
#
|
|
12
|
+
# Satiksmes ministrijas 20.06.1998. noteikumi Nr. 37 in force 01.07.1998
|
|
13
|
+
# Satiksmes ministrijas 22.03.1999. noteikumi Nr. 10 in force 01.04.1999
|
|
14
|
+
# Satiksmes ministrijas 05.12.2000. noteikumi Nr. 25 in force 07.12.2000
|
|
15
|
+
# MK 27.04.2004. noteikumi Nr. 446 in force 01.05.2004
|
|
16
|
+
# MK 22.12.2009. noteikumi Nr. 1610 in force 30.12.2009
|
|
17
|
+
# MK 30.11.2010. noteikumi Nr. 1080 (CURRENT) in force 04.12.2010
|
|
18
|
+
#
|
|
19
|
+
# THE CRITICAL STRUCTURAL FACT: MK 1080 IS ONLY HALF THE LAW.
|
|
20
|
+
# Its 7. pielikums ("Numura zīmju apraksts") fixes plate TYPES and DIMENSIONS,
|
|
21
|
+
# SYMBOL COUNTS and the SPECIAL-PURPOSE COLOURS — and deliberately stops there.
|
|
22
|
+
# It states no base colour for an ordinary plate, no character height, no
|
|
23
|
+
# typeface and nothing about the EU band, because punkts 6 defers all of that
|
|
24
|
+
# to the national standard: "Ja numura zīme atbilst piemērojamo standartu
|
|
25
|
+
# prasībām, tad tā atbilst šo noteikumu prasībām." The standard is LVS 20
|
|
26
|
+
# ("Transportlīdzekļu valsts reģistrācijas numura zīmes"), it is PAYWALLED and
|
|
27
|
+
# not on likumi.lv, and its text was NOT obtained. Every colour, height and
|
|
28
|
+
# font fact a render layer wants therefore sits behind a wall this pass did not
|
|
29
|
+
# cross — recorded as gaps.lvs_20, and the reason `design.background` here is
|
|
30
|
+
# sourced to CSDD's own wording rather than to the regulation.
|
|
31
|
+
#
|
|
32
|
+
# FOUR FACTS THAT SHAPE THIS FILE
|
|
33
|
+
#
|
|
34
|
+
# 1. THE INDEPENDENCE TRANSITION IS DATED, AND IT IS A WINDOW, NOT A DAY.
|
|
35
|
+
# This is the slice's headline finding and it is PRIMARY. Latvia did not
|
|
36
|
+
# switch in one act: Satiksmes ministrijas 20.09.1994. noteikumi Nr. 1 set a
|
|
37
|
+
# ROLLING withdrawal of the Soviet-pattern plates — see
|
|
38
|
+
# `soviet_withdrawal` below for the verbatim text and the three dates.
|
|
39
|
+
# NOTE WHAT THIS IS NOT: it is not the date the Latvian series STARTED. That
|
|
40
|
+
# instrument regulates the EXCHANGE of old plates for new ones already in
|
|
41
|
+
# existence, so the new series necessarily predates it. See
|
|
42
|
+
# gaps.series_start.
|
|
43
|
+
#
|
|
44
|
+
# 2. THE HYPHEN IS STATUTORY, AND ONLY ON ONE PLATE TYPE. 7. pielikums 2.3:
|
|
45
|
+
# "A tipa numura zīmēs burti no cipariem atdalīti ar horizontālu svītru."
|
|
46
|
+
# A horizontal stroke separates the letters from the digits — on the A type
|
|
47
|
+
# ONLY. B, C, F and G types carry the same marks with no stroke prescribed.
|
|
48
|
+
# So Latvia's famous "AA-1234" is specifically the 520 x 110 plate, and the
|
|
49
|
+
# same mark on a motorcycle prints without the hyphen.
|
|
50
|
+
#
|
|
51
|
+
# 3. THE CHARSET RULE EXISTED AND WAS REPEALED, TO THE DAY. Q, W, X and Y were
|
|
52
|
+
# excluded from general-use marks from 04.12.2010 until 31.12.2015 and the
|
|
53
|
+
# exclusion was deleted with effect from 01.01.2016. Both ends are primary
|
|
54
|
+
# and both are recorded — this is the single most likely thing for a
|
|
55
|
+
# competing dataset to have wrong, because the rule is still widely repeated
|
|
56
|
+
# as current. See common.charset.
|
|
57
|
+
#
|
|
58
|
+
# 4. "RED ON WHITE" IS A MIS-DESCRIPTION AND THIS FILE DOES NOT REPEAT IT.
|
|
59
|
+
# Latvia uses red in THREE different ways and the regulation distinguishes
|
|
60
|
+
# them: the DIPLOMATIC plate has a red BACKGROUND ("fons ir sarkanā krāsā"),
|
|
61
|
+
# the TRADE plate has red SYMBOLS on an ordinary ground ("simboli ir sarkanā
|
|
62
|
+
# krāsā"), and the TRANSIT plate carries a red FIELD of specified size
|
|
63
|
+
# ("izvietots noteikta izmēra sarkanas krāsas laukums") rather than being
|
|
64
|
+
# red overall. Three different claims, three different series.
|
|
65
|
+
jurisdiction: lv
|
|
66
|
+
authority:
|
|
67
|
+
name: CSDD — Ceļu satiksmes drošības direkcija (Road Traffic Safety Directorate)
|
|
68
|
+
url: "https://www.csdd.lv/transportlidzeklis/transportlidzekla-numura-zimes/izvelne/"
|
|
69
|
+
binding: vehicle
|
|
70
|
+
instrument:
|
|
71
|
+
act:
|
|
72
|
+
citation: "Ceļu satiksmes likums"
|
|
73
|
+
delegating_provisions: "10. panta 1.^4 daļa, 10.^2 panta ceturtā daļa, 21. panta otrā daļa (and Nolietotu transportlīdzekļu apsaimniekošanas likuma 6. panta trešā daļa)"
|
|
74
|
+
quoted: >-
|
|
75
|
+
MK 1080's own izdošanas norma, verbatim: "Izdoti saskaņā ar Ceļu
|
|
76
|
+
satiksmes likuma 10. panta 1.^4 daļu, 10.^2 panta ceturto daļu un
|
|
77
|
+
21. panta otro daļu un Nolietotu transportlīdzekļu apsaimniekošanas
|
|
78
|
+
likuma 6. panta trešo daļu". The Act also fixes HOW MANY plates a vehicle
|
|
79
|
+
carries — 9. panta otrā daļa: "Mehāniskajiem transportlīdzekļiem jābūt
|
|
80
|
+
divām valsts reģistrācijas numura zīmēm, bet motocikliem, tricikliem,
|
|
81
|
+
kvadricikliem, traktortehnikai (izņemot lauksaimniecības mašīntraktoru),
|
|
82
|
+
mopēdiem un piekabēm, kuru izgatavotājs paredzējis uzstādīt tikai vienu
|
|
83
|
+
numura zīmi, — vienai valsts reģistrācijas numura zīmei."
|
|
84
|
+
source: "https://likumi.lv/ta/id/45467-celu-satiksmes-likums # 9. panta otrā daļa (one or two plates); 4.^1 panta ceturtā daļa (trade plates delegated to the Cabinet)"
|
|
85
|
+
regulation:
|
|
86
|
+
citation: "Ministru kabineta 2010. gada 30. novembra noteikumi Nr. 1080 „Transportlīdzekļu reģistrācijas noteikumi”"
|
|
87
|
+
adopted: "2010-11-30"
|
|
88
|
+
published: "Latvijas Vēstnesis, 192, 03.12.2010"
|
|
89
|
+
in_force_from: "2010-12-04"
|
|
90
|
+
status: "spēkā esošs (in force as at this pass)"
|
|
91
|
+
plate_annex: "7. pielikums „Numura zīmju apraksts” — current wording per MK 13.02.2024. noteikumi Nr. 97, in force 22.02.2024"
|
|
92
|
+
repealed_predecessor: >-
|
|
93
|
+
MK 1080 punkts 86, verbatim: "Atzīt par spēku zaudējušiem Ministru
|
|
94
|
+
kabineta 2009.gada 22.decembra noteikumus Nr.1610 „Transportlīdzekļu
|
|
95
|
+
reģistrācijas noteikumi” (Latvijas Vēstnesis, 2009, 204.nr.)."
|
|
96
|
+
amendment_count: "14 amending regulations to date: Nr. 645/2012, 174/2014, 796/2015, 29/2017, 294/2017, 495/2018, 678/2018, 560/2019, 637/2020, 479/2021, 682/2021, 97/2024, 418/2025, 170/2026"
|
|
97
|
+
source: "https://likumi.lv/ta/id/222145-transportlidzeklu-registracijas-noteikumi # the consolidated text; 7. pielikums carries every format claim in this file"
|
|
98
|
+
standard:
|
|
99
|
+
citation: "LVS 20 „Transportlīdzekļu valsts reģistrācijas numura zīmes”"
|
|
100
|
+
editions_traced: "LVS 20-92 (bound by CSDD rīkojums 04.01.1996 and by MK 19.01.1999 Nr. 15); LVS 20:2003 (bound by MK 446 from 01.05.2004); LVS 20:2003/A1:2006; LVS 20:2009 (named by CSDD's current page)"
|
|
101
|
+
deferral_clause: >-
|
|
102
|
+
MK 1080 7. pielikums punkts 6, verbatim: "Ja numura zīme atbilst
|
|
103
|
+
piemērojamo standartu prasībām, tad tā atbilst šo noteikumu prasībām."
|
|
104
|
+
status: "PAYWALLED AND NOT OBTAINED — see gaps.lvs_20. No dimension, colour or typeface claim in this file rests on it."
|
|
105
|
+
source: "https://www.csdd.lv/numura-zimju-apraksts/vispareja-informacija-2 # CSDD: 'Valsts numura zīmes tiek izgatavotas atbilstoši standartā LVS 20:2009 „Transportlīdzekļu valsts reģistrācijas numura zīmes” noteiktajiem nosacījumiem.'"
|
|
106
|
+
|
|
107
|
+
# ---------------------------------------------------------------------------
|
|
108
|
+
# THE INDEPENDENCE-ERA TRANSITION — LATVIA'S OWN DATES, ITS OWN INSTRUMENT.
|
|
109
|
+
# Recorded here rather than as a series because the plates being withdrawn are
|
|
110
|
+
# Soviet, i.e. outside this jurisdiction file.
|
|
111
|
+
# ---------------------------------------------------------------------------
|
|
112
|
+
soviet_withdrawal:
|
|
113
|
+
instrument: "Satiksmes ministrijas 20.09.1994. noteikumi Nr. 1 „Noteikumi par vecā parauga transporta līdzekļu valsts reģistrācijas numura zīmju un vadītāja apliecību nomaiņu”"
|
|
114
|
+
adopted: "1994-09-20"
|
|
115
|
+
in_force_from: "1994-09-20"
|
|
116
|
+
published: "Latvijas Vēstnesis 112, 24.09.1994"
|
|
117
|
+
purpose: >-
|
|
118
|
+
Verbatim: "…Satiksmes ministrija nosaka šādu kārtību vecā parauga (bijušās
|
|
119
|
+
PSRS parauga) transporta līdzekļu valsts reģistrācijas numura zīmju un
|
|
120
|
+
vadītāja apliecību nomaiņai pret jaunā parauga Latvijas Republikas valsts
|
|
121
|
+
reģistrācijas numura zīmēm un vadītāja apliecībām." — the procedure for
|
|
122
|
+
exchanging OLD-PATTERN (former USSR pattern) plates for NEW-PATTERN Republic
|
|
123
|
+
of Latvia plates.
|
|
124
|
+
three_dates:
|
|
125
|
+
- "1995-01-01 — from this date a vehicle needed new-pattern plates to leave Latvia: 'Sākot ar 1995.gada 1.janvāri, lai izbrauktu ar transporta līdzekli ārpus Latvijas Republikas, transporta līdzeklim nepieciešamas: - jaunā parauga valsts reģistrācijas numura zīmes…'"
|
|
126
|
+
- "1995 — plates bearing CYRILLIC letters had to be exchanged by the end of the vehicle's roadworthiness-test term: '1995.gadā transporta līdzekļiem vecā parauga valsts reģistrācijas numura zīmes, kurās ir slāvu alfabēta burti, jānomaina ar jaunā parauga… līdz norādītā transporta līdzekļa tehniskās apskates termiņa beigām.'"
|
|
127
|
+
- "1996 — ALL remaining old-pattern plates had to be exchanged: '1996.gadā visiem transporta līdzekļiem vecā parauga valsts reģistrācijas numura zīmes jānomaina…'"
|
|
128
|
+
enforcement_corroboration:
|
|
129
|
+
- "https://likumi.lv/ta/id/34016 # CSDD rīkojums Nr. 11-3/1, 06.01.1995, p. 1.8: no roadworthiness test for vehicles with Cyrillic-lettered plates — 'Valsts tehniskā apskate netiek veikta transporta līdzekļiem, kuriem ir numura zīmes ar slāvu alfabēta burtiem…'"
|
|
130
|
+
- "https://likumi.lv/ta/id/38869 # CSDD rīkojums Nr. 11-3/2, 04.01.1996, p. 1.8: no test for plates not conforming to LVS 20-92 — the enforcement moves from an alphabet test to a STANDARD test in one year"
|
|
131
|
+
reading: >-
|
|
132
|
+
THE POINT, AND THE TRAP. This is a WITHDRAWAL window for the Soviet plate,
|
|
133
|
+
not the birth of the Latvian one. It gives Latvia three primary dates
|
|
134
|
+
(1.1.1995 for foreign travel, 1995 for Cyrillic plates, 1996 for the rest)
|
|
135
|
+
and it gives NONE of them to Estonia or Lithuania, whose transitions were
|
|
136
|
+
separate national acts on separate timetables. Latvia's neighbours are NOT
|
|
137
|
+
covered by this instrument and must never inherit its dates.
|
|
138
|
+
source: "https://likumi.lv/ta/id/239628 # Satiksmes ministrijas 20.09.1994. noteikumi Nr. 1"
|
|
139
|
+
|
|
140
|
+
common:
|
|
141
|
+
plate_types:
|
|
142
|
+
note: "7. pielikums punkts 1 — seven lettered blanks, each with its own millimetre size and its own mounting rule."
|
|
143
|
+
types:
|
|
144
|
+
A: { w: 520, h: 110, unit: mm, use: "front and rear; NOT fitted to motorcycles, tricycles, quadricycles or mopeds" }
|
|
145
|
+
B: { w: 280, h: 200, unit: mm, use: "rear, where the vehicle's construction cannot take an A type" }
|
|
146
|
+
C: { w: 240, h: 130, unit: mm, use: "rear of motorcycles, tricycles and quadricycles" }
|
|
147
|
+
E: { w: 300, h: 110, unit: mm, use: "vehicles issued special-purpose plates" }
|
|
148
|
+
F: { w: 177, h: 130, unit: mm, use: "rear of motorcycles, tricycles and quadricycles that cannot take a C type" }
|
|
149
|
+
G: { w: 133, h: 165, unit: mm, use: "rear of mopeds" }
|
|
150
|
+
H: { w: 133, h: 165, unit: mm, use: "rear of off-road vehicles" }
|
|
151
|
+
csdd_divergence: >-
|
|
152
|
+
CSDD's own type page reproduces A, B, C, F, G and H with the same
|
|
153
|
+
millimetres but OMITS the E type, which the regulation retains, and adds a
|
|
154
|
+
practice rule the regulation does not contain: "Ja transportlīdzeklim
|
|
155
|
+
iepriekš bija izsniegta E tipa numura zīme, veicot numuru maiņu, CSDD
|
|
156
|
+
izsniedz C tipa numura zīmi." A divergence between the instrument and the
|
|
157
|
+
issuing authority, recorded and not averaged (PRD-PLATES §5.3).
|
|
158
|
+
sources:
|
|
159
|
+
- "https://likumi.lv/ta/id/222145-transportlidzeklu-registracijas-noteikumi # 7. pielikums 1.1-1.7"
|
|
160
|
+
- "https://www.csdd.lv/numura-zimju-apraksts/nr-zimju-tipi-19 # CSDD's type table and the E-to-C replacement practice"
|
|
161
|
+
charset:
|
|
162
|
+
alphabet: "Latin alphabet letters and Arabic numerals — 7. pielikums says only 'latīņu alfabēta burti', with no diacritics rule"
|
|
163
|
+
excluded_letters_history:
|
|
164
|
+
rule_text: >-
|
|
165
|
+
7. pielikums punkts 2.7, in the wording in force 04.12.2010 to
|
|
166
|
+
31.12.2015, verbatim: "vispārējās izmantošanas numura zīmēs, izņemot šo
|
|
167
|
+
noteikumu 12.punktā minētās numura zīmes, nevar tikt izmantoti latīņu
|
|
168
|
+
alfabēta burti „Q”, „W”, „X” un „Y”." The identical provision stood in
|
|
169
|
+
the predecessor MK 1610/2009, 7. pielikums p. 2.7.
|
|
170
|
+
repealed_by: >-
|
|
171
|
+
Ministru kabineta 22.12.2015. noteikumi Nr. 796, item 1.35: "svītrot
|
|
172
|
+
7. pielikuma 2.7. apakšpunktu", with commencement "Noteikumi stājas spēkā
|
|
173
|
+
2016. gada 1. janvārī."
|
|
174
|
+
in_force: "2010-12-04 to 2015-12-31 (and earlier under MK 1610 from 30.12.2009)"
|
|
175
|
+
current_position: >-
|
|
176
|
+
NO LETTER EXCLUSION IS IN FORCE. From 1 January 2016 the regulation says
|
|
177
|
+
only "latīņu alfabēta burti". THIS IS THE FILE'S SHARPEST CORRECTION:
|
|
178
|
+
the claim that Latvia excludes Q is repeated as current in secondary
|
|
179
|
+
compilations and is NOT supported by the regulation as it stands. If an
|
|
180
|
+
exclusion still operates in practice it does so through LVS 20 or CSDD
|
|
181
|
+
allocation practice, neither of which could be sourced — so no regex or
|
|
182
|
+
regex_strict in this file excludes any letter. Encoding an unverified
|
|
183
|
+
exclusion would reject valid marks, the worse failure.
|
|
184
|
+
verification: "the boundary was checked by fetching the consolidated text at 31.12.2015 (rule present) and at 01.01.2016 (rule absent)"
|
|
185
|
+
sources:
|
|
186
|
+
- "https://likumi.lv/ta/id/222145/redakcijas-datums/2010/12/04/ # the original redaction carrying p. 2.7"
|
|
187
|
+
- "https://likumi.lv/ta/id/278917 # MK 22.12.2015. Nr. 796, item 1.35 and its 01.01.2016 commencement"
|
|
188
|
+
- "https://likumi.lv/ta/id/202855 # MK 1610/2009, 7. pielikums p. 2.7 — the same exclusion, earlier"
|
|
189
|
+
no_leading_zero: true
|
|
190
|
+
no_leading_zero_basis: >-
|
|
191
|
+
Not stated as a prohibition but implied by the way the annex counts:
|
|
192
|
+
the digits "veido skaitļus no 1 līdz 9999" (form NUMBERS from 1 to 9999),
|
|
193
|
+
i.e. a numeric range rather than a digit string. Encoded in
|
|
194
|
+
`regex_strict` as [1-9]\d{0,3}, never in `regex`.
|
|
195
|
+
vanity_content_rule: >-
|
|
196
|
+
MK 1080 p. 12.3: an individual mark must not be "latviešu valodas
|
|
197
|
+
normatīvajām prasībām neatbilstošs burtu salikums" — a letter combination
|
|
198
|
+
not conforming to the normative requirements of the Latvian language.
|
|
199
|
+
Not machine-encodable; recorded.
|
|
200
|
+
colours:
|
|
201
|
+
hex_basis_note: >-
|
|
202
|
+
READ THIS BEFORE USING ANY HEX IN THIS FILE. MK 1080 states colours ONLY
|
|
203
|
+
for special-purpose plates (red diplomatic ground, red trade symbols, red
|
|
204
|
+
transit field, yellow taxi ground, green off-road symbols, black military
|
|
205
|
+
ground with white symbols, blue electric symbols). For an ORDINARY plate
|
|
206
|
+
the regulation states NO colour at all — punkts 6 defers to LVS 20, which
|
|
207
|
+
is paywalled and unread. The only authority statement located for the
|
|
208
|
+
ordinary plate's colour is CSDD's contrast of the general-use "baltās"
|
|
209
|
+
(white) plates with the taxi "dzeltenās" (yellow) ones. Every hex below is
|
|
210
|
+
`hex_basis: observed`; the white is CSDD-worded, and none of it is a
|
|
211
|
+
colorimetric specification.
|
|
212
|
+
retroreflection: '7. pielikums 5.4: "numura zīmēm ir atstarojoša materiāla pārklājums, un tās ir aizsargātas pret koroziju" — reflective coating and corrosion protection, for every plate except where a class rule says otherwise (the military plate is expressly non-reflective).'
|
|
213
|
+
source: "https://www.csdd.lv/transportlidzekla-numura-zimes/taksometru-numuru-zimes # CSDD's 'dzeltenās' vs 'baltās' wording — the sole authority basis for the ordinary plate being white"
|
|
214
|
+
eu_band:
|
|
215
|
+
side: left
|
|
216
|
+
content: eu-stars+LV
|
|
217
|
+
dating: >-
|
|
218
|
+
NOT ESTABLISHED, AND DELIBERATELY NOT GUESSED. No Latvian instrument
|
|
219
|
+
names, defines or dates the EU band. A full-text search of the likumi.lv
|
|
220
|
+
corpus for the phrase "Eiropas Savienības simboliku" returns exactly ONE
|
|
221
|
+
act — MK 1080 — which refers to plates bearing EU symbols as an existing
|
|
222
|
+
category without ever defining or dating them (p. 11.^2: "…ja nomainītās
|
|
223
|
+
numura zīmes ir ar Eiropas Savienības simboliku…"; p. 14: "…kas nav jaunā
|
|
224
|
+
parauga numura zīmes ar Eiropas Savienības simboliku…"). There is no
|
|
225
|
+
transitional provision fixing a start date.
|
|
226
|
+
nearest_dated_event: >-
|
|
227
|
+
The only dated, instrument-backed event in the vicinity is the change of
|
|
228
|
+
BINDING STANDARD: MK 27.04.2004. noteikumi Nr. 446 required plates to
|
|
229
|
+
conform to "valsts standartu LVS 20:2003" and commenced on Latvia's
|
|
230
|
+
accession day — punkts 82: "Noteikumi stājas spēkā ar 2004.gada
|
|
231
|
+
1.maiju." Whether LVS 20:2003 is the edition that introduced the star band
|
|
232
|
+
in place of the flag+LV COULD NOT BE VERIFIED, because the standard is
|
|
233
|
+
paywalled. 1 May 2004 is therefore recorded as the standard-change date
|
|
234
|
+
and is NOT asserted as the band date.
|
|
235
|
+
predecessor: "before the EU band, a small Latvian flag with the letters LV occupied the left of the plate (secondary)"
|
|
236
|
+
sources:
|
|
237
|
+
- "https://likumi.lv/ta/id/88052/redakcijas-datums/2004/05/01/ # MK 446 as commenced 01.05.2004, punkts 7 (LVS 20:2003) and punkts 82 (commencement)"
|
|
238
|
+
- "https://likumi.lv/ta/id/222145-transportlidzeklu-registracijas-noteikumi # p. 11.^2 and p. 14 — EU-symbol plates referred to but never dated"
|
|
239
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Latvia # SECONDARY, per-fact: that a Latvian flag with LV occupied the band position before 2004"
|
|
240
|
+
|
|
241
|
+
region_encoding_gap:
|
|
242
|
+
decision: "NO decode table is shipped for Latvia. `region_encoding: none` on every series."
|
|
243
|
+
basis: >-
|
|
244
|
+
Unlike Estonia and Lithuania, this is not a case of a scheme abolished — it
|
|
245
|
+
is a case of a scheme that never existed. MK 1080's 7. pielikums assigns
|
|
246
|
+
meaning to a symbol position in exactly FOUR places, all of them class
|
|
247
|
+
markers rather than geography: the trade plate's first letter (A-E, the
|
|
248
|
+
vehicle type) and its last digit (the year of validity); the trial plate's
|
|
249
|
+
"IZM"; the diplomatic plate's "C"/"CC"/"CD"; and the military plate's
|
|
250
|
+
"L"/"LA". Every one of those is encoded inline in the relevant series'
|
|
251
|
+
`charset`, which PRD-PLATES §2.4 makes the right home for a small mapping.
|
|
252
|
+
No Latvian instrument or CSDD page reached in this pass encodes region,
|
|
253
|
+
district or era anywhere in a general-use mark.
|
|
254
|
+
source: "https://likumi.lv/ta/id/222145-transportlidzeklu-registracijas-noteikumi # 7. pielikums, read in full for positional semantics"
|
|
255
|
+
|
|
256
|
+
out_of_scope:
|
|
257
|
+
president:
|
|
258
|
+
status: "NO SERIAL — cannot be a series under this schema."
|
|
259
|
+
detail: >-
|
|
260
|
+
MK 1080 punkts 15: "Valsts prezidenta automašīnai kopā ar numura zīmēm
|
|
261
|
+
izsniedz numura zīmes, kuru centrā attēlots lielais Latvijas Republikas
|
|
262
|
+
valsts ģerbonis." The President's car is issued, ALONGSIDE its ordinary
|
|
263
|
+
plates, plates bearing the greater coat of arms of Latvia in the centre.
|
|
264
|
+
No mark, no pattern, no regex. Note the Latvian construction differs from
|
|
265
|
+
Estonia's and Finland's: those permit the arms INSTEAD OF plates, Latvia
|
|
266
|
+
issues them IN ADDITION TO them.
|
|
267
|
+
source: "https://likumi.lv/ta/id/222145-transportlidzeklu-registracijas-noteikumi # punkts 15"
|
|
268
|
+
historic_vs:
|
|
269
|
+
status: "A SERIES MARKER WITH NO PUBLISHED FORMAT — no series authored."
|
|
270
|
+
detail: >-
|
|
271
|
+
MK 1080 punkts 76 refers to "VS sērijas numura zīmes" for a vēsturiskais
|
|
272
|
+
spēkrats (historic vehicle): "Ja vēsturiskais spēkrats ir reģistrēts,
|
|
273
|
+
piešķirot VS sērijas numura zīmes, tad, zaudējot vēsturiskā spēkrata
|
|
274
|
+
statusu, jāveic valsts reģistrācijas numura maiņa." So a VS series
|
|
275
|
+
demonstrably exists and is named in the body of the regulation — but
|
|
276
|
+
7. pielikums, which is where every format lives, gives it NO entry: no
|
|
277
|
+
symbol count, no plate type, no colour. A pattern would be a guess, so
|
|
278
|
+
none is written. This is a genuine, narrow, well-located gap: a verifier
|
|
279
|
+
needs only the VS row that the annex does not have.
|
|
280
|
+
source: "https://likumi.lv/ta/id/222145-transportlidzeklu-registracijas-noteikumi # punkts 76"
|
|
281
|
+
export:
|
|
282
|
+
status: "NOT A SEPARATE CLASS IN LATVIA — recorded so its absence is not read as an omission."
|
|
283
|
+
detail: >-
|
|
284
|
+
Several jurisdictions in this dataset have a distinct export plate.
|
|
285
|
+
Latvia does not: export is handled by the TRANSIT plate, and MK 1080
|
|
286
|
+
p. 13.1 says so — transit plates are issued to a vehicle "kuru paredzēts
|
|
287
|
+
izvest no Latvijas" (which it is intended to take out of Latvia). See
|
|
288
|
+
lv-transit, which therefore carries `categories` and a note covering the
|
|
289
|
+
export use rather than a separate series existing for it.
|
|
290
|
+
|
|
291
|
+
gaps:
|
|
292
|
+
lvs_20: >-
|
|
293
|
+
THE PRINCIPAL GAP, AND IT IS STRUCTURAL. LVS 20 is where Latvia keeps its
|
|
294
|
+
base plate colours, character heights and typeface, by the express deferral
|
|
295
|
+
in 7. pielikums punkts 6. It is sold by the national standards body, its
|
|
296
|
+
catalogue is JS-rendered, and no edition was obtained: not LVS 20-92, not
|
|
297
|
+
LVS 20:2003, not /A1:2006, not LVS 20:2009 (the edition CSDD's current page
|
|
298
|
+
names). PRD-PLATES §4's SAE J686 posture applies exactly — never quote the
|
|
299
|
+
standard's values until it is bought. Consequence: this file carries NO
|
|
300
|
+
character height and NO font for any Latvian series, and its ordinary-plate
|
|
301
|
+
colours rest on CSDD's wording rather than on a specification.
|
|
302
|
+
series_start: >-
|
|
303
|
+
THE INDEPENDENCE-ERA START DATE IS NOT ESTABLISHED. The 20.09.1994
|
|
304
|
+
instrument dates the WITHDRAWAL of Soviet plates (see soviet_withdrawal) but
|
|
305
|
+
presupposes the Latvian series already exists. A title search of likumi.lv
|
|
306
|
+
across 01.01.1990-31.12.1999 returns exactly one plate-related act — that
|
|
307
|
+
one — and the earliest registration rules held there are from 1998, so no
|
|
308
|
+
instrument establishing the new series is reachable on likumi.lv at all.
|
|
309
|
+
The nearest primary anchor is the DESIGNATION of the standard, LVS 20-92,
|
|
310
|
+
whose suffix implies a 1992 edition and which is named as binding by
|
|
311
|
+
CSDD rīkojums 04.01.1996 and by MK 19.01.1999 Nr. 15. The widely repeated
|
|
312
|
+
"1993" is SECONDARY and unsupported by any instrument reached. lv-standard-1993
|
|
313
|
+
is tagged accordingly and its start must not be reported as an instrument date.
|
|
314
|
+
eu_band_date: >-
|
|
315
|
+
Not established — see common.eu_band.dating. Do NOT report 1 May 2004 as
|
|
316
|
+
the band date; it is the date LVS 20:2003 became binding, which is a
|
|
317
|
+
different claim.
|
|
318
|
+
2026_redesign: >-
|
|
319
|
+
Secondary reporting indicates a 2026 Latvian plate redesign replacing the
|
|
320
|
+
hyphen with a coat of arms. The 2026 amending regulation located
|
|
321
|
+
(MK 24.03.2026. Nr. 170, in force 28.03.2026) does NOT touch 7. pielikums,
|
|
322
|
+
and no dated plate-design provision was traced. NO series is authored for it
|
|
323
|
+
and the hyphen is recorded as current. Flagged for the quarterly audit.
|
|
324
|
+
chain_discontinuity: >-
|
|
325
|
+
likumi.lv records MK 446 as ceasing 31.07.2009 while its successor MK 1610
|
|
326
|
+
only commenced 30.12.2009 — a five-month hole in the chain that no located
|
|
327
|
+
instrument fills. Recorded rather than explained away.
|
|
328
|
+
lvs_20_2019: >-
|
|
329
|
+
A secondary source claims a LVS 20:2019 edition; CSDD's live pages still
|
|
330
|
+
name LVS 20:2009. Unresolved, and immaterial to any claim in this file
|
|
331
|
+
because no LVS content is used.
|
|
332
|
+
|
|
333
|
+
series:
|
|
334
|
+
|
|
335
|
+
# =========================================================================
|
|
336
|
+
# THE GENERAL-USE MARK. 7. pielikums 2.2: "A, B un C tipa numura zīmēs, kuras
|
|
337
|
+
# paredzētas uzstādīšanai mehāniskajiem transportlīdzekļiem, ir divi latīņu
|
|
338
|
+
# alfabēta burti un no viena līdz četriem cipariem, kas veido skaitļus no 1
|
|
339
|
+
# līdz 9999."
|
|
340
|
+
# =========================================================================
|
|
341
|
+
- id: lv-standard
|
|
342
|
+
class: standard
|
|
343
|
+
categories: [car, van, truck, bus]
|
|
344
|
+
period: { start: 2004 }
|
|
345
|
+
period_evidence: enabling-instrument
|
|
346
|
+
matching: strict
|
|
347
|
+
format:
|
|
348
|
+
pattern: "LL-9999"
|
|
349
|
+
regex: '\A[A-Z]{2}-\d{1,4}\z'
|
|
350
|
+
regex_strict: '\A[A-Z]{2}-[1-9]\d{0,3}\z'
|
|
351
|
+
charset:
|
|
352
|
+
letters: "2 Latin alphabet letters. NO letter is excluded — the Q/W/X/Y exclusion was repealed with effect from 01.01.2016 (see common.charset)."
|
|
353
|
+
digits: "1 to 4, forming a NUMBER from 1 to 9999 — hence no leading zero, which is what regex_strict carries and regex cannot"
|
|
354
|
+
separator_note: >-
|
|
355
|
+
THE HYPHEN IS STATUTORY AND TYPE-SPECIFIC. 7. pielikums 2.3, verbatim:
|
|
356
|
+
"A tipa numura zīmēs burti no cipariem atdalīti ar horizontālu svītru."
|
|
357
|
+
The horizontal stroke is prescribed for the A type ONLY; the B and C
|
|
358
|
+
blanks carry the same mark with no stroke prescribed. The pattern
|
|
359
|
+
spells the A-type printed form, per PRD-PLATES §2.6 rule 2, and a
|
|
360
|
+
separator-forgiving consumer recovers the B/C form.
|
|
361
|
+
design:
|
|
362
|
+
plate: { w: 520, h: 110, unit: mm }
|
|
363
|
+
plate_variants:
|
|
364
|
+
- { w: 280, h: 200, unit: mm, note: "B type — rear only, where the construction cannot take an A type; no hyphen prescribed" }
|
|
365
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec_note: "THE REGULATION STATES NO COLOUR for an ordinary plate — punkts 6 defers to LVS 20, unread. This hex rests on CSDD calling general-use plates 'baltās'. Not a specification." }
|
|
366
|
+
foreground: "#000000"
|
|
367
|
+
band: { side: left, color: "#003399", content: eu-stars+LV, hex_basis: observed, note: "no Latvian instrument defines or dates the band — see common.eu_band" }
|
|
368
|
+
characters: { note: "NO character height or typeface is recorded: both live in LVS 20, which was not obtained (gaps.lvs_20)" }
|
|
369
|
+
rear_differs: false
|
|
370
|
+
region_encoding: none
|
|
371
|
+
sources:
|
|
372
|
+
- "https://likumi.lv/ta/id/222145-transportlidzeklu-registracijas-noteikumi # 7. pielikums 2.2 (two letters and one to four digits forming 1-9999), 2.3 (the A-type hyphen), 1.1-1.2 (A and B dimensions), 5.4 (reflective coating); punkts 7 (a mark is assigned on first registration in Latvia)"
|
|
373
|
+
- "https://likumi.lv/ta/id/88052/redakcijas-datums/2004/05/01/ # MK 446 punkts 7 and punkts 82 — LVS 20:2003 made binding from 1 May 2004, the dated event this series' start rests on"
|
|
374
|
+
- "https://www.csdd.lv/numura-zimju-apraksts/vispareja-informacija-2 # CSDD: plates are made to LVS 20:2009"
|
|
375
|
+
- "https://likumi.lv/ta/id/45467-celu-satiksmes-likums # 9. panta otrā daļa — two plates on a mechanical vehicle"
|
|
376
|
+
notes: >-
|
|
377
|
+
THE CURRENT LATVIAN PLATE — "AA-1234", and the hyphen is in the
|
|
378
|
+
instrument, not in typography. READ period.start CAREFULLY: 2004 is the
|
|
379
|
+
date MK 446 made the LVS 20:2003 standard binding (in force 1 May 2004,
|
|
380
|
+
Latvia's accession day), which is the nearest dated instrument event to
|
|
381
|
+
the modern plate. It is NOT a verified EU-band date and NOT a format
|
|
382
|
+
change: the two-letters-plus-up-to-four-digits grammar is materially older
|
|
383
|
+
and ran across the boundary unchanged, which is why lv-standard-1993
|
|
384
|
+
carries the same format with a different left-hand device. Tagged
|
|
385
|
+
`enabling-instrument` because MK 446 is the instrument that enabled the
|
|
386
|
+
current design regime, not because it prescribed this mark.
|
|
387
|
+
|
|
388
|
+
- id: lv-standard-1993
|
|
389
|
+
class: standard
|
|
390
|
+
categories: [car, van, truck, bus]
|
|
391
|
+
period: { start: 1993, end: 2004 }
|
|
392
|
+
period_evidence: secondary-dated
|
|
393
|
+
matching: strict
|
|
394
|
+
format:
|
|
395
|
+
pattern: "LL-9999"
|
|
396
|
+
regex: '\A[A-Z]{2}-\d{1,4}\z'
|
|
397
|
+
charset:
|
|
398
|
+
notes: >-
|
|
399
|
+
No regex_strict. The Q/W/X/Y exclusion is first traceable to
|
|
400
|
+
MK 1610/2009 and cannot be projected back onto a series that closed in
|
|
401
|
+
2004 — the instrument-date rule forbids exactly that anachronism. The
|
|
402
|
+
leading-zero reading likewise comes from the 2009/2010 annex wording.
|
|
403
|
+
design:
|
|
404
|
+
plate: { w: 520, h: 110, unit: mm }
|
|
405
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
406
|
+
foreground: "#000000"
|
|
407
|
+
band: { side: left, content: "lv-flag", note: "a small Latvian flag with the letters LV occupied the band position before the EU symbols (secondary); no colour or geometry specification was reached, so no hex is claimed" }
|
|
408
|
+
characters: { note: "governed by LVS 20-92, unobtained" }
|
|
409
|
+
rear_differs: false
|
|
410
|
+
region_encoding: none
|
|
411
|
+
sources:
|
|
412
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Latvia # SECONDARY, per-fact: that Soviet plates with the Latin letters LA and LT were used until 1993 when the new Latvian type was introduced, and that a small Latvian flag with LV occupied the left of the plate until 2004 — the sole evidence for period.start"
|
|
413
|
+
- "https://likumi.lv/ta/id/239628 # PRIMARY: Satiksmes ministrijas 20.09.1994. noteikumi Nr. 1 — presupposes this series already exists and sets the Soviet-plate withdrawal window; see soviet_withdrawal"
|
|
414
|
+
- "https://likumi.lv/ta/id/38869 # PRIMARY: CSDD rīkojums 04.01.1996 binding plates to LVS 20-92, whose designation implies a 1992 edition — the nearest primary anchor to this series' start"
|
|
415
|
+
notes: >-
|
|
416
|
+
THE INDEPENDENCE-ERA SERIES, AND THE ONE RECORD IN THIS FILE WHOSE START
|
|
417
|
+
IS NOT PRIMARY. 1993 is SECONDARY and unsupported by any instrument
|
|
418
|
+
reachable on likumi.lv, where a title search across the whole 1990s
|
|
419
|
+
returns exactly one plate-related act and the earliest registration rules
|
|
420
|
+
are from 1998 (gaps.series_start). Two PRIMARY facts bracket it without
|
|
421
|
+
dating it: the standard is designated LVS 20-92, implying a 1992 edition,
|
|
422
|
+
and the 20.09.1994 changeover regulation already treats the new Latvian
|
|
423
|
+
plate as existing. The FORMAT is carried forward from lv-standard and is a
|
|
424
|
+
RECORDED INFERENCE for this period. Distinct from lv-standard in exactly
|
|
425
|
+
one respect — the left-hand device — which is why they are two series.
|
|
426
|
+
Latvia's Soviet-era predecessor plates are not modelled here; their
|
|
427
|
+
withdrawal is recorded under soviet_withdrawal.
|
|
428
|
+
|
|
429
|
+
- id: lv-trailer
|
|
430
|
+
class: trailer
|
|
431
|
+
categories: [trailer, semitrailer]
|
|
432
|
+
period: { start: 2010 }
|
|
433
|
+
period_evidence: instrument-in-force
|
|
434
|
+
matching: strict
|
|
435
|
+
format:
|
|
436
|
+
pattern: "L-9999"
|
|
437
|
+
regex: '\A[A-Z]-(?:\d{1,4}|\d{1,2}[A-Z]{2}|\d{1,2}[A-Z])\z'
|
|
438
|
+
charset:
|
|
439
|
+
letters: "ONE leading letter, against two on a car"
|
|
440
|
+
digits: "1 to 4"
|
|
441
|
+
notes: >-
|
|
442
|
+
7. pielikums 2.2, verbatim: "A, B un C tipa numura zīmēs, kuras
|
|
443
|
+
paredzētas uzstādīšanai piekabēm (puspiekabēm), ir viens latīņu
|
|
444
|
+
alfabēta burts un no viena līdz četriem cipariem… Piekabēm,
|
|
445
|
+
puspiekabēm un mopēdiem paredzēto numura zīmju pēdējo divu ciparu
|
|
446
|
+
simbolu vietā var lietot burtu simbolus." One letter and up to four
|
|
447
|
+
digits — AND the last TWO digit positions may be replaced by letters,
|
|
448
|
+
which is why the regex carries three alternatives rather than one.
|
|
449
|
+
This substitution rule is unique to trailers and mopeds.
|
|
450
|
+
separator_note: "the A-type hyphen rule (2.3) applies; B and C types print no stroke"
|
|
451
|
+
design:
|
|
452
|
+
plate: { w: 520, h: 110, unit: mm }
|
|
453
|
+
plate_variants:
|
|
454
|
+
- { w: 280, h: 200, unit: mm, note: "B type" }
|
|
455
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
456
|
+
foreground: "#000000"
|
|
457
|
+
band: { side: left, color: "#003399", content: eu-stars+LV, hex_basis: observed }
|
|
458
|
+
region_encoding: none
|
|
459
|
+
sources:
|
|
460
|
+
- "https://likumi.lv/ta/id/222145-transportlidzeklu-registracijas-noteikumi # 7. pielikums 2.2 — the trailer mark and the letters-for-digits substitution"
|
|
461
|
+
- "https://likumi.lv/ta/id/45467-celu-satiksmes-likums # 9. panta otrā daļa — a trailer designed for one plate carries one"
|
|
462
|
+
notes: >-
|
|
463
|
+
THE TRAILER MARK — one letter where a car has two, and the only Latvian
|
|
464
|
+
general-use mark whose TRAILING positions may be letters. That
|
|
465
|
+
substitution is the reason this series' regex is a three-way union rather
|
|
466
|
+
than a simple shape, and it is fully sourced, so `matching` stays strict.
|
|
467
|
+
period.start 2010 is instrument-dated on MK 1080 and is a FLOOR: the
|
|
468
|
+
trailer mark is older and its own start is unpinned.
|
|
469
|
+
|
|
470
|
+
- id: lv-moped
|
|
471
|
+
class: moped
|
|
472
|
+
categories: [moped]
|
|
473
|
+
period: { start: 2010 }
|
|
474
|
+
period_evidence: instrument-in-force
|
|
475
|
+
matching: strict
|
|
476
|
+
format:
|
|
477
|
+
pattern: "L-999"
|
|
478
|
+
regex: '\A[A-Z]-(?:\d{1,3}|\d[A-Z]{2}|\d{1,2}[A-Z])\z'
|
|
479
|
+
charset:
|
|
480
|
+
notes: >-
|
|
481
|
+
7. pielikums 2.2: "A tipa numura zīmēs, kuras paredzētas uzstādīšanai
|
|
482
|
+
mopēdiem, ir viens latīņu alfabēta burts un no viena līdz trijiem
|
|
483
|
+
cipariem, kas veido skaitļus no 1 līdz 999", and 2.6 gives the G type
|
|
484
|
+
the same one-letter, one-to-three-digit mark. The trailer/moped
|
|
485
|
+
letters-for-digits substitution (last two positions) applies here too.
|
|
486
|
+
separator_note: "hyphen on the A type; the G type (133 x 165 mm, mopeds) is a tall blank and prints no stroke"
|
|
487
|
+
design:
|
|
488
|
+
plate: { w: 133, h: 165, unit: mm }
|
|
489
|
+
plate_variants:
|
|
490
|
+
- { w: 520, h: 110, unit: mm, note: "A type, where fitted" }
|
|
491
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
492
|
+
foreground: "#000000"
|
|
493
|
+
band: { side: left, color: "#003399", content: eu-stars+LV, hex_basis: observed }
|
|
494
|
+
region_encoding: none
|
|
495
|
+
sources:
|
|
496
|
+
- "https://likumi.lv/ta/id/222145-transportlidzeklu-registracijas-noteikumi # 7. pielikums 2.2 (A type for mopeds) and 2.6 (G type), 1.6 (G dimensions)"
|
|
497
|
+
notes: >-
|
|
498
|
+
THE MOPED MARK. Shares the trailer's one-letter shape but caps the digits
|
|
499
|
+
at three rather than four, and shares its letters-for-digits substitution.
|
|
500
|
+
The G blank is 133 x 165 mm — TALLER THAN IT IS WIDE, one of only two such
|
|
501
|
+
plates in the file (the other is the off-road H type, identical in size).
|
|
502
|
+
|
|
503
|
+
- id: lv-motorcycle
|
|
504
|
+
class: motorcycle
|
|
505
|
+
categories: [motorcycle, tricycle, quadricycle]
|
|
506
|
+
period: { start: 2010 }
|
|
507
|
+
period_evidence: instrument-in-force
|
|
508
|
+
matching: strict
|
|
509
|
+
format:
|
|
510
|
+
pattern: "LL9999"
|
|
511
|
+
regex: '\A[A-Z]{2}\d{1,4}\z'
|
|
512
|
+
regex_strict: '\A[A-Z]{2}[1-9]\d{0,3}\z'
|
|
513
|
+
charset:
|
|
514
|
+
notes: "the same two-letter, one-to-four-digit mark as a car (7. pielikums 2.2 covers the C type in the same sentence) — only the blank differs"
|
|
515
|
+
separator_note: >-
|
|
516
|
+
NO HYPHEN. 2.3 prescribes the stroke for the A type only, and a
|
|
517
|
+
motorcycle takes the C type (240 x 130 mm) or the F type. The pattern
|
|
518
|
+
therefore spells the mark solid — the same Latvian mark prints WITH a
|
|
519
|
+
hyphen on a car and WITHOUT one on a motorcycle, which is exactly the
|
|
520
|
+
situation PRD-PLATES §2.6 exists to make safe.
|
|
521
|
+
design:
|
|
522
|
+
plate: { w: 240, h: 130, unit: mm }
|
|
523
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
524
|
+
foreground: "#000000"
|
|
525
|
+
band: { side: left, color: "#003399", content: eu-stars+LV, hex_basis: observed }
|
|
526
|
+
region_encoding: none
|
|
527
|
+
sources:
|
|
528
|
+
- "https://likumi.lv/ta/id/222145-transportlidzeklu-registracijas-noteikumi # 7. pielikums 2.2 (C type shares the car mark), 1.3 (C dimensions), 2.3 (hyphen is A-type only)"
|
|
529
|
+
- "https://likumi.lv/ta/id/45467-celu-satiksmes-likums # 9. panta otrā daļa — motorcycles, tricycles and quadricycles carry ONE plate"
|
|
530
|
+
notes: >-
|
|
531
|
+
THE MOTORCYCLE MARK on the C blank. Its mark space is IDENTICAL to
|
|
532
|
+
lv-standard's, so a Latvian mark alone does not say whether it is on a car
|
|
533
|
+
or a motorcycle — only the plate size and the absence of the hyphen do.
|
|
534
|
+
Its smaller sibling on the F blank caps the digits at three and is a
|
|
535
|
+
separate series.
|
|
536
|
+
|
|
537
|
+
- id: lv-motorcycle-f
|
|
538
|
+
class: motorcycle
|
|
539
|
+
categories: [motorcycle, tricycle, quadricycle]
|
|
540
|
+
period: { start: 2010 }
|
|
541
|
+
period_evidence: instrument-in-force
|
|
542
|
+
matching: strict
|
|
543
|
+
format:
|
|
544
|
+
pattern: "LL999"
|
|
545
|
+
regex: '\A[A-Z]{2}\d{1,3}\z'
|
|
546
|
+
regex_strict: '\A[A-Z]{2}[1-9]\d{0,2}\z'
|
|
547
|
+
charset:
|
|
548
|
+
notes: '7. pielikums 2.5, F type: "divi latīņu alfabēta burti un no viena līdz trijiem cipariem… no 1 līdz 999" — one digit shorter than the C type'
|
|
549
|
+
design:
|
|
550
|
+
plate: { w: 177, h: 130, unit: mm }
|
|
551
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
552
|
+
foreground: "#000000"
|
|
553
|
+
band: { side: left, color: "#003399", content: eu-stars+LV, hex_basis: observed }
|
|
554
|
+
region_encoding: none
|
|
555
|
+
sources:
|
|
556
|
+
- "https://likumi.lv/ta/id/222145-transportlidzeklu-registracijas-noteikumi # 7. pielikums 2.5 and 1.5 — the F type, for machines that cannot take a C type"
|
|
557
|
+
notes: >-
|
|
558
|
+
THE SMALL MOTORCYCLE PLATE, for machines whose construction will not take
|
|
559
|
+
the C blank. Separate series from lv-motorcycle on the digit ceiling
|
|
560
|
+
(three, not four). Overlaps it in period and categories because the two
|
|
561
|
+
blanks are alternatives for the same vehicles.
|
|
562
|
+
|
|
563
|
+
- id: lv-personalised
|
|
564
|
+
class: personalized
|
|
565
|
+
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
566
|
+
period: { start: 2010 }
|
|
567
|
+
period_evidence: instrument-in-force
|
|
568
|
+
matching: strict
|
|
569
|
+
format:
|
|
570
|
+
pattern: "LLLL99"
|
|
571
|
+
regex: '\A(?:[A-Z]+ ?\d+|\d+ ?[A-Z]+)\z'
|
|
572
|
+
charset:
|
|
573
|
+
symbol_counts: "A type 2-8 symbols on one row; B type 2-7 (1-3 on the top row, 1-4 on the bottom); C type 2-8 with at most 4 per row; F type 2-5; G type 2-4"
|
|
574
|
+
rules: >-
|
|
575
|
+
7. pielikums 3.7, verbatim: "…izmanto ne vairāk kā trīs vienādus
|
|
576
|
+
simbolus pēc kārtas… Burtu un ciparu simbolus nevar lietot pamīšus…"
|
|
577
|
+
— at most three identical symbols in a row, and letters and digits may
|
|
578
|
+
NOT alternate. 3.8: "…simbolus var atdalīt tikai ar vienu atstarpi.
|
|
579
|
+
Nosakot simbolu skaitu, šo atstarpi uzskata par atsevišķu simbolu." —
|
|
580
|
+
the symbols may be separated by exactly ONE space, and that space
|
|
581
|
+
COUNTS as a symbol for the length limit. That last rule is unusual
|
|
582
|
+
enough to be worth a consumer's attention: Latvia charges the
|
|
583
|
+
separator against the character budget.
|
|
584
|
+
notes: >-
|
|
585
|
+
The regex encodes the non-alternation rule (a run of letters and a run
|
|
586
|
+
of digits, in either order) and the optional single space. It does NOT
|
|
587
|
+
encode the per-type length ceilings, which differ by blank, nor the
|
|
588
|
+
three-identical-symbols rule; those are recorded above. The Latvian-
|
|
589
|
+
language propriety rule (MK 1080 p. 12.3) is not machine-encodable.
|
|
590
|
+
separator_note: "a single space is permitted between the groups and is counted as a symbol (3.8); the pattern spells the unspaced form and the regex accepts both"
|
|
591
|
+
design:
|
|
592
|
+
plate: { w: 520, h: 110, unit: mm }
|
|
593
|
+
plate_variants:
|
|
594
|
+
- { w: 280, h: 200, unit: mm, note: "B type, two rows" }
|
|
595
|
+
- { w: 240, h: 130, unit: mm, note: "C type, at most 4 symbols per row" }
|
|
596
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
597
|
+
foreground: "#000000"
|
|
598
|
+
band: { side: left, color: "#003399", content: eu-stars+LV, hex_basis: observed }
|
|
599
|
+
region_encoding: none
|
|
600
|
+
sources:
|
|
601
|
+
- "https://likumi.lv/ta/id/222145-transportlidzeklu-registracijas-noteikumi # 7. pielikums punkts 3 (per-type symbol counts), 3.7 (three-identical and non-alternation rules), 3.8 (the single space counted as a symbol); punkts 12.3 (the Latvian-language rule)"
|
|
602
|
+
notes: >-
|
|
603
|
+
THE INDIVIDUAL (VANITY) PLATE. Latvia publishes a genuinely detailed
|
|
604
|
+
grammar for it — per-blank length ceilings, a repetition cap, a
|
|
605
|
+
non-alternation rule and a separator that counts against the budget — and
|
|
606
|
+
the regex captures the two that are expressible without knowing which
|
|
607
|
+
blank is in use. Because the ceilings are per-type, a consumer that knows
|
|
608
|
+
the plate size can narrow further than this regex does.
|
|
609
|
+
|
|
610
|
+
# =========================================================================
|
|
611
|
+
# SPECIAL-PURPOSE CLASSES. 7. pielikums punkts 4 — and this is where Latvia
|
|
612
|
+
# DOES state colours, one class at a time.
|
|
613
|
+
# =========================================================================
|
|
614
|
+
- id: lv-transit
|
|
615
|
+
class: temporary
|
|
616
|
+
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
617
|
+
period: { start: 2010 }
|
|
618
|
+
period_evidence: instrument-in-force
|
|
619
|
+
matching: strict
|
|
620
|
+
format:
|
|
621
|
+
pattern: "LL9999"
|
|
622
|
+
regex: '\A[A-Z]{2}\d{1,4}\z'
|
|
623
|
+
regex_strict: '\A[A-Z]{2}[1-9]\d{0,3}\z'
|
|
624
|
+
charset:
|
|
625
|
+
notes: "7. pielikums 4.1: A or C type, 3 to 6 symbols, of which the first two are letters and the rest digits forming numbers from 1 to 9999"
|
|
626
|
+
design:
|
|
627
|
+
plate: { w: 520, h: 110, unit: mm }
|
|
628
|
+
plate_variants:
|
|
629
|
+
- { w: 240, h: 130, unit: mm, note: "C type" }
|
|
630
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
631
|
+
foreground: "#000000"
|
|
632
|
+
marking: { red_field: true, note: '4.1.2, verbatim: "tranzīta numura zīmēs ir izvietots noteikta izmēra sarkanas krāsas laukums" — a red FIELD of specified size is placed on the plate. The regulation does not give the size or position here, and the plate is NOT red overall.' }
|
|
633
|
+
band: { side: left, color: "#003399", content: eu-stars+LV, hex_basis: observed }
|
|
634
|
+
validity:
|
|
635
|
+
rule: "CSDD: 'Tranzīta numura zīmju derīguma termiņš ir 30 dienas.' — 30 days."
|
|
636
|
+
purpose: "MK 1080 p. 13.1: issued to a vehicle intended to be taken out of Latvia — which is why Latvia has no separate export class (see out_of_scope.export)"
|
|
637
|
+
region_encoding: none
|
|
638
|
+
sources:
|
|
639
|
+
- "https://likumi.lv/ta/id/222145-transportlidzeklu-registracijas-noteikumi # 7. pielikums 4.1.1-4.1.2; punkts 13.1"
|
|
640
|
+
- "https://www.csdd.lv/transportlidzekla-numura-zimes/tranzita-numura-zimju-sanemsana # CSDD: the 30-day validity"
|
|
641
|
+
notes: >-
|
|
642
|
+
THE TRANSIT PLATE, which is also Latvia's EXPORT plate. Note precisely
|
|
643
|
+
what the red is: a red FIELD placed on the plate, not a red ground and not
|
|
644
|
+
red characters — the regulation uses a different formula for each of its
|
|
645
|
+
three red plates and this file keeps them apart. The red field's
|
|
646
|
+
dimensions and position are stated only as "noteikta izmēra" (of specified
|
|
647
|
+
size) without giving the size, which is a real gap in the instrument
|
|
648
|
+
itself and is recorded as such rather than filled from a photograph.
|
|
649
|
+
|
|
650
|
+
- id: lv-dealer
|
|
651
|
+
class: dealer
|
|
652
|
+
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
653
|
+
period: { start: 2010 }
|
|
654
|
+
period_evidence: instrument-in-force
|
|
655
|
+
matching: strict
|
|
656
|
+
format:
|
|
657
|
+
pattern: "A9999" # the pattern spells the FIRST member of the
|
|
658
|
+
# closed {A,B,C,D,E} set as canonical, so the
|
|
659
|
+
# round-trip generates only serials the regex
|
|
660
|
+
# can accept (the fi.yml "MLL-999" device)
|
|
661
|
+
regex: '\A[A-E]\d{2,5}\z'
|
|
662
|
+
charset:
|
|
663
|
+
first_letter: [A, B, C, D, E]
|
|
664
|
+
notes: >-
|
|
665
|
+
7. pielikums 4.2.2, verbatim: "pirmais simbols ir burts (A, B, C, D
|
|
666
|
+
vai E), kas norāda transportlīdzekļa veidu… Pēdējais cipars norāda
|
|
667
|
+
gadu, līdz kuram… derīga." TWO positions carry meaning: the FIRST
|
|
668
|
+
symbol is a letter from the closed set {A, B, C, D, E} denoting the
|
|
669
|
+
VEHICLE TYPE, and the LAST digit denotes the YEAR up to which the
|
|
670
|
+
plate is valid. The letter set is encoded in the regex; the
|
|
671
|
+
vehicle-type mapping behind each letter is NOT published in the annex
|
|
672
|
+
and is not invented here.
|
|
673
|
+
totals: "A type 3-6 symbols; C type 3-4"
|
|
674
|
+
design:
|
|
675
|
+
plate: { w: 520, h: 110, unit: mm }
|
|
676
|
+
plate_variants:
|
|
677
|
+
- { w: 240, h: 130, unit: mm, note: "C type, 3-4 symbols" }
|
|
678
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
679
|
+
foreground: "#D0021B"
|
|
680
|
+
border: { color: "#D0021B", note: '4.2.3, verbatim: "tirdzniecības numura zīmju simboli ir sarkanā krāsā" — red SYMBOLS on an otherwise ordinary plate' }
|
|
681
|
+
band: { side: left, color: "#003399", content: eu-stars+LV, hex_basis: observed }
|
|
682
|
+
region_encoding: none
|
|
683
|
+
sources:
|
|
684
|
+
- "https://likumi.lv/ta/id/222145-transportlidzeklu-registracijas-noteikumi # 7. pielikums 4.2.1-4.2.3"
|
|
685
|
+
- "https://likumi.lv/ta/id/45467-celu-satiksmes-likums # 4.^1 panta ceturtā daļa — trade-plate requirements delegated to the Cabinet"
|
|
686
|
+
notes: >-
|
|
687
|
+
THE TRADE PLATE (tirdzniecības numura zīme), and the most information-rich
|
|
688
|
+
Latvian mark: its first character encodes the vehicle type and its last
|
|
689
|
+
digit encodes the expiry year, so a single trade mark carries both a class
|
|
690
|
+
and an era. The vehicle-type meanings of A-E are NOT in the annex and no
|
|
691
|
+
decode is shipped for them — a narrow, well-located gap. Red symbols, not
|
|
692
|
+
a red plate: contrast lv-diplomatic.
|
|
693
|
+
|
|
694
|
+
- id: lv-trial
|
|
695
|
+
class: dealer
|
|
696
|
+
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
697
|
+
period: { start: 2010 }
|
|
698
|
+
period_evidence: instrument-in-force
|
|
699
|
+
matching: strict
|
|
700
|
+
format:
|
|
701
|
+
pattern: "IZM999"
|
|
702
|
+
regex: '\AIZM\d{1,3}\z'
|
|
703
|
+
regex_strict: '\AIZM[1-9]\d{0,2}\z'
|
|
704
|
+
charset:
|
|
705
|
+
literal_prefix: IZM
|
|
706
|
+
notes: >-
|
|
707
|
+
7. pielikums 4.3.2, verbatim: "pirmie trīs simboli ir burti, kas veido
|
|
708
|
+
burtu kombināciju „IZM”, bet pārējie simboli ir cipari… no 1 līdz
|
|
709
|
+
999." IZM (izmēģinājums — trial) is a fixed literal, so this regex IS
|
|
710
|
+
the annex's grammar.
|
|
711
|
+
design:
|
|
712
|
+
plate: { w: 520, h: 110, unit: mm }
|
|
713
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
714
|
+
foreground: "#000000"
|
|
715
|
+
band: { side: left, color: "#003399", content: eu-stars+LV, hex_basis: observed }
|
|
716
|
+
region_encoding: none
|
|
717
|
+
sources:
|
|
718
|
+
- "https://likumi.lv/ta/id/222145-transportlidzeklu-registracijas-noteikumi # 7. pielikums 4.3.1-4.3.2; punkts 13.3"
|
|
719
|
+
notes: >-
|
|
720
|
+
THE TRIAL/EXPERIMENTAL PLATE (izmēģinājuma numura zīme). CLASS CAVEAT:
|
|
721
|
+
`dealer` is the nearest value in _meta/classes.yml — a plate bound to a
|
|
722
|
+
business rather than a vehicle — but a trial plate is bound to a testing
|
|
723
|
+
programme rather than to a trade, and the vocabulary has no better slot.
|
|
724
|
+
Flagged rather than forced. Its fixed IZM prefix makes it the most
|
|
725
|
+
unambiguous mark in the Latvian system.
|
|
726
|
+
|
|
727
|
+
- id: lv-diplomatic
|
|
728
|
+
class: diplomatic
|
|
729
|
+
categories: [car, van]
|
|
730
|
+
period: { start: 2010 }
|
|
731
|
+
period_evidence: instrument-in-force
|
|
732
|
+
matching: strict
|
|
733
|
+
format:
|
|
734
|
+
pattern: "CD9999"
|
|
735
|
+
regex: '\A(?:C|CC|CD)\d{2,5}\z'
|
|
736
|
+
charset:
|
|
737
|
+
letter_groups: [C, CC, CD]
|
|
738
|
+
notes: >-
|
|
739
|
+
7. pielikums 4.4.2, verbatim: "pirmie simboli ir burti „C”, „CC” vai
|
|
740
|
+
„CD”… izvietoti numura zīmes augšējā rindā C tipa… vai kreisajā pusē
|
|
741
|
+
A tipa". Three letter groups, and the annex also fixes their PLACEMENT
|
|
742
|
+
— on the top row of a C-type plate, or on the left of an A-type. Total
|
|
743
|
+
symbols: A type 4-7, C type 4-6.
|
|
744
|
+
design:
|
|
745
|
+
plate: { w: 520, h: 110, unit: mm }
|
|
746
|
+
plate_variants:
|
|
747
|
+
- { w: 240, h: 130, unit: mm, note: "C type, letters on the top row" }
|
|
748
|
+
background: { color: "#C8102E", finish: retroreflective, hex_basis: observed, spec_note: '4.4.3, verbatim: "diplomātisko numura zīmju fons ir sarkanā krāsā" — the GROUND is red. No RGB is given anywhere; this hex is observed.' }
|
|
749
|
+
foreground: "#FFFFFF"
|
|
750
|
+
band: { side: left, color: "#003399", content: eu-stars+LV, hex_basis: observed }
|
|
751
|
+
region_encoding: none
|
|
752
|
+
sources:
|
|
753
|
+
- "https://likumi.lv/ta/id/222145-transportlidzeklu-registracijas-noteikumi # 7. pielikums 4.4.1-4.4.3; punkts 13.4"
|
|
754
|
+
notes: >-
|
|
755
|
+
THE DIPLOMATIC PLATE — and THE red plate, the one whose GROUND is red,
|
|
756
|
+
as against the trade plate's red symbols and the transit plate's red
|
|
757
|
+
field. The three-way {C, CC, CD} distinction is stated by the annex but
|
|
758
|
+
its MEANING is not: no Latvian instrument reached says which of the three
|
|
759
|
+
denotes a head of mission, a diplomat or a consular officer, and no
|
|
760
|
+
mission-code decode is published. Recorded, not guessed. The foreground
|
|
761
|
+
colour is an inference from contrast, not a quoted rule — the annex fixes
|
|
762
|
+
the ground only.
|
|
763
|
+
|
|
764
|
+
- id: lv-taxi
|
|
765
|
+
class: taxi
|
|
766
|
+
categories: [car, van]
|
|
767
|
+
period: { start: 2010 }
|
|
768
|
+
period_evidence: instrument-in-force
|
|
769
|
+
matching: strict
|
|
770
|
+
format:
|
|
771
|
+
pattern: "LL9999"
|
|
772
|
+
regex: '\A[A-Z]{2}\d{1,4}\z'
|
|
773
|
+
regex_strict: '\A[A-Z]{2}[1-9]\d{0,3}\z'
|
|
774
|
+
charset:
|
|
775
|
+
notes: >-
|
|
776
|
+
7. pielikums 4.5.2: "pirmie divi simboli ir burti, bet pārējie ir
|
|
777
|
+
cipari… no 1 līdz 9999 (A) vai no 1 līdz 99 (E)". Two letters then
|
|
778
|
+
digits — the E type (300 x 110 mm) caps the digits at 99, giving 3-4
|
|
779
|
+
symbols against the A type's 3-6. NOTE: the widely circulated "TX"
|
|
780
|
+
taxi prefix is NOT in the annex and is not encoded; see notes.
|
|
781
|
+
design:
|
|
782
|
+
plate: { w: 520, h: 110, unit: mm }
|
|
783
|
+
plate_variants:
|
|
784
|
+
- { w: 300, h: 110, unit: mm, note: "E type — the special-purpose blank; digits capped at 99" }
|
|
785
|
+
background: { color: "#F5C400", finish: retroreflective, hex_basis: observed, spec_note: '4.5.3, verbatim: "taksometru numura zīmju fons ir dzeltenā krāsā" — a yellow ground. No RGB is given; observed.' }
|
|
786
|
+
foreground: "#000000"
|
|
787
|
+
band: { side: left, color: "#003399", content: eu-stars+LV, hex_basis: observed }
|
|
788
|
+
region_encoding: none
|
|
789
|
+
sources:
|
|
790
|
+
- "https://likumi.lv/ta/id/222145-transportlidzeklu-registracijas-noteikumi # 7. pielikums 4.5.1-4.5.3, 1.4 (E type dimensions); punkts 13.5"
|
|
791
|
+
- "https://www.csdd.lv/transportlidzekla-numura-zimes/taksometru-numuru-zimes # CSDD contrasts the taxi 'dzeltenās' plates with the general-use 'baltās' ones"
|
|
792
|
+
notes: >-
|
|
793
|
+
THE YELLOW TAXI PLATE. A CORRECTION WORTH STATING: secondary compilations
|
|
794
|
+
give Latvian taxi plates a "TX" (or TE/TQ) series prefix. The annex
|
|
795
|
+
prescribes only "two letters", with no reserved combination anywhere, and
|
|
796
|
+
no CSDD page reached names one. The prefix claim is therefore treated as
|
|
797
|
+
UNSOURCED and is not encoded — the letters are free in this regex. The one
|
|
798
|
+
thing that distinguishes a Latvian taxi mark in the string alone is
|
|
799
|
+
nothing; it is the yellow ground that does the work.
|
|
800
|
+
|
|
801
|
+
- id: lv-offroad
|
|
802
|
+
class: agricultural
|
|
803
|
+
categories: [offroad]
|
|
804
|
+
period: { start: 2010 }
|
|
805
|
+
period_evidence: instrument-in-force
|
|
806
|
+
matching: strict
|
|
807
|
+
format:
|
|
808
|
+
pattern: "LL999"
|
|
809
|
+
regex: '\A[A-Z]{2}\d{1,3}\z'
|
|
810
|
+
regex_strict: '\A[A-Z]{2}[1-9]\d{0,2}\z'
|
|
811
|
+
charset:
|
|
812
|
+
notes: "7. pielikums 4.6.1: H type, 3 to 5 symbols, first two letters, the rest digits forming numbers from 1 to 999"
|
|
813
|
+
design:
|
|
814
|
+
plate: { w: 133, h: 165, unit: mm }
|
|
815
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
816
|
+
foreground: "#00843D"
|
|
817
|
+
border: { color: "#00843D", note: '4.6.2, verbatim: "simboli ir zaļā krāsā" — GREEN SYMBOLS on an otherwise ordinary ground, not a green plate' }
|
|
818
|
+
band: { side: left, color: "#003399", content: eu-stars+LV, hex_basis: observed }
|
|
819
|
+
region_encoding: none
|
|
820
|
+
sources:
|
|
821
|
+
- "https://likumi.lv/ta/id/222145-transportlidzeklu-registracijas-noteikumi # 7. pielikums 4.6.1-4.6.2, 1.7 (H type dimensions); punkts 13.6"
|
|
822
|
+
notes: >-
|
|
823
|
+
THE OFF-ROAD VEHICLE PLATE (bezceļu transportlīdzekļu numura zīme), on the
|
|
824
|
+
tall 133 x 165 H blank. CLASS CAVEAT: `agricultural` is the nearest value
|
|
825
|
+
in _meta/classes.yml; a Latvian bezceļu transportlīdzeklis is an off-road
|
|
826
|
+
vehicle rather than farm equipment, and the vocabulary has no `offroad`
|
|
827
|
+
value. The vehicle kind is carried precisely in `categories` instead, and
|
|
828
|
+
the mismatch is flagged rather than hidden. Green symbols, white ground —
|
|
829
|
+
the third of Latvia's coloured-symbol classes.
|
|
830
|
+
|
|
831
|
+
- id: lv-military
|
|
832
|
+
class: military
|
|
833
|
+
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
834
|
+
period: { start: 2010 }
|
|
835
|
+
period_evidence: instrument-in-force
|
|
836
|
+
matching: recall-only # SEE format.charset.dsl_collision — this regex is
|
|
837
|
+
# deliberately WIDER than the issuing grammar
|
|
838
|
+
# because the human-pattern DSL cannot spell the
|
|
839
|
+
# literal the annex prescribes.
|
|
840
|
+
format:
|
|
841
|
+
pattern: "LL9999"
|
|
842
|
+
regex: '\A[A-Z]{2}\d{1,4}\z'
|
|
843
|
+
charset:
|
|
844
|
+
letter_groups: [L, LA]
|
|
845
|
+
issuing_grammar: '\A(?:L|LA)\d{1,4}\z'
|
|
846
|
+
notes: >-
|
|
847
|
+
7. pielikums 4.7.2, verbatim: "pirmie simboli ir burti „L” vai „LA”,
|
|
848
|
+
bet pārējie ir cipari". Two permitted letter groups, then digits. LA
|
|
849
|
+
is commonly expanded as Latvijas Armija; the annex does not say so and
|
|
850
|
+
this file does not assert it.
|
|
851
|
+
dsl_collision: >-
|
|
852
|
+
A GENUINE SCHEMA STRESSOR, RECORDED RATHER THAN WORKED AROUND
|
|
853
|
+
SILENTLY. PRD-PLATES §2.2 defines the human pattern DSL as 9=digit,
|
|
854
|
+
L=letter, everything else literal — so the DSL CANNOT SPELL A LITERAL
|
|
855
|
+
"L" (nor a literal "9"). Latvia's military mark begins with exactly
|
|
856
|
+
that letter. Because `pattern` must round-trip against `regex`, and
|
|
857
|
+
`pattern` can only generate a free letter in the first position, the
|
|
858
|
+
honest encoding is a WIDER regex plus `matching: recall-only` — a
|
|
859
|
+
match here is a shape hit, not a claim that the string is a valid
|
|
860
|
+
Latvian military mark. The true grammar is preserved above as
|
|
861
|
+
`issuing_grammar` so no information is lost, and it cannot live in
|
|
862
|
+
`regex_strict` because §2.7 forbids a strict twin on a recall-only
|
|
863
|
+
series. THE FIX IS A SCHEMA AMENDMENT (an escape for literal L/9 in
|
|
864
|
+
the DSL), not a data edit; flagged for PRD-PLATES §2.6.
|
|
865
|
+
design:
|
|
866
|
+
plate: { w: 520, h: 110, unit: mm }
|
|
867
|
+
plate_variants:
|
|
868
|
+
- { w: 280, h: 200, unit: mm, note: "B type" }
|
|
869
|
+
- { w: 240, h: 130, unit: mm, note: "C type" }
|
|
870
|
+
- { w: 300, h: 110, unit: mm, note: "E type" }
|
|
871
|
+
- { w: 177, h: 130, unit: mm, note: "F type" }
|
|
872
|
+
background: { color: "#000000", finish: non-retroreflective, hex_basis: observed, spec_note: '4.7.3, verbatim: "fons nav gaismu atstarojošs, tas ir melnā krāsā, bet simboli ir baltā krāsā" — the ground is expressly NON-REFLECTIVE and black, the symbols white. The only Latvian plate the regulation bars from retroreflection.' }
|
|
873
|
+
foreground: "#FFFFFF"
|
|
874
|
+
band: { side: none, note: "no EU band is prescribed for the military plate by the annex; recorded as prescribed, not assumed" }
|
|
875
|
+
region_encoding: none
|
|
876
|
+
sources:
|
|
877
|
+
- "https://likumi.lv/ta/id/222145-transportlidzeklu-registracijas-noteikumi # 7. pielikums 4.7.1-4.7.3; punkts 13.8"
|
|
878
|
+
notes: >-
|
|
879
|
+
THE MILITARY PLATE — black, non-reflective, white symbols, and issued on
|
|
880
|
+
the widest set of blanks in the Latvian system (A, B, C, E and F). It is
|
|
881
|
+
the one Latvian class whose colour rule the regulation states in full
|
|
882
|
+
(ground, reflectivity and symbols in one sentence), which is why this is
|
|
883
|
+
the only series here whose colours do not depend on the unread LVS 20.
|
|
884
|
+
|
|
885
|
+
- id: lv-electric
|
|
886
|
+
class: electric
|
|
887
|
+
categories: [car, van]
|
|
888
|
+
period: { start: 2016 }
|
|
889
|
+
period_evidence: agency-stated-date
|
|
890
|
+
matching: strict
|
|
891
|
+
format:
|
|
892
|
+
pattern: "LL-9999"
|
|
893
|
+
regex: '\A[A-Z]{2}-\d{1,4}\z'
|
|
894
|
+
regex_strict: '\A[A-Z]{2}-[1-9]\d{0,3}\z'
|
|
895
|
+
charset:
|
|
896
|
+
notes: >-
|
|
897
|
+
NO DISTINCT FORMAT. 7. pielikums 4.8, verbatim: "elektrotransportlīdzekļu
|
|
898
|
+
numura zīmju simboli ir zilā krāsā, un tie atbilst šā pielikuma 2. un
|
|
899
|
+
3. punktā un 4.4. un 4.5. apakšpunktā noteiktajiem tipiem" — the marks
|
|
900
|
+
are BLUE and otherwise conform to the general-use, individual,
|
|
901
|
+
diplomatic and taxi types. So an electric plate is a colour treatment
|
|
902
|
+
applied to an existing grammar, and this series carries the ordinary
|
|
903
|
+
car grammar as its representative shape. A CORRECTION: the "EX"/"EY"
|
|
904
|
+
prefixes circulated in secondary compilations appear nowhere in
|
|
905
|
+
MK 1080 or on CSDD's pages and are NOT encoded.
|
|
906
|
+
design:
|
|
907
|
+
plate: { w: 520, h: 110, unit: mm }
|
|
908
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
909
|
+
foreground: "#0057B8"
|
|
910
|
+
border: { color: "#0057B8", note: '4.8: "simboli ir zilā krāsā" — blue symbols' }
|
|
911
|
+
band: { side: left, color: "#003399", content: eu-stars+LV, hex_basis: observed }
|
|
912
|
+
region_encoding: none
|
|
913
|
+
sources:
|
|
914
|
+
- "https://likumi.lv/ta/id/222145-transportlidzeklu-registracijas-noteikumi # 7. pielikums 4.8; punkts 13.7"
|
|
915
|
+
- "https://www.csdd.lv/transportlidzekla-numura-zimes/elektrotransportlidzeklu-numura-zimes # CSDD: electric plates are issued free of charge, and the entitlement 'attiecas arī uz transportlīdzekļiem, kuriem līdz 01.01.2016. bija piešķirtas vispārējās nozīmes… numura zīmes' — the only date evidence located for this class"
|
|
916
|
+
notes: >-
|
|
917
|
+
THE BLUE-SYMBOL ELECTRIC PLATE. period.start 2016 is
|
|
918
|
+
`agency-stated-date` and is INFERRED, not quoted: CSDD's page frames the
|
|
919
|
+
entitlement by reference to vehicles that held general-use plates before
|
|
920
|
+
1 January 2016, which implies the class began about then but does not say
|
|
921
|
+
so. No amending regulation was traced to the insertion of 4.8. This is the
|
|
922
|
+
weakest date in the file and is flagged accordingly. Modelled as its own
|
|
923
|
+
series because the DESIGN differs (blue symbols) even though the FORMAT
|
|
924
|
+
does not — PRD-PLATES §2.3's design limb.
|