vehicles 0.4.0 → 0.6.1
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/CHANGELOG.md +55 -1
- data/README.md +36 -8
- data/data/plates/PROVENANCE.md +9 -0
- data/data/plates/_decode/es-provinces.yml +116 -0
- data/data/plates/_meta/classes.yml +25 -0
- data/data/plates/de.yml +672 -0
- data/data/plates/es.yml +692 -0
- data/data/plates/nl.yml +972 -0
- data/data/plates/us-fl.yml +518 -0
- data/data/vehicles.json +28109 -37241
- data/lib/vehicles/configuration.rb +4 -2
- data/lib/vehicles/model.rb +23 -6
- data/lib/vehicles/plates/jurisdiction.rb +32 -0
- data/lib/vehicles/plates/series.rb +137 -0
- data/lib/vehicles/plates.rb +110 -0
- data/lib/vehicles/providers/hosted_provider.rb +26 -8
- data/lib/vehicles/providers/local_provider.rb +4 -3
- data/lib/vehicles/version.rb +1 -1
- data/lib/vehicles.rb +21 -0
- metadata +12 -2
data/data/plates/es.yml
ADDED
|
@@ -0,0 +1,692 @@
|
|
|
1
|
+
# plates/es.yml — Spain (PRD-PLATES gate L0 pilot).
|
|
2
|
+
#
|
|
3
|
+
# EVERY format, colour and letter-exclusion claim in this file comes from
|
|
4
|
+
# Real Decreto 2822/1998 (Reglamento General de Vehículos) ANEXO XVIII, read
|
|
5
|
+
# in BOTH texts, because they differ and the difference IS the era boundary:
|
|
6
|
+
#
|
|
7
|
+
# * ORIGINAL text, BOE-A-1999-1826, in force 26-07-1999 — its Anexo XVIII
|
|
8
|
+
# I.A.a) still describes the PROVINCIAL ordinary-car system
|
|
9
|
+
# (province contraseña + 4 digits + 1-2 letters), while I.A.b)-d) and all
|
|
10
|
+
# of I.B/I.C already use the modern "prefix letter + 4 digits + 3 letters"
|
|
11
|
+
# shape. RD 2822/1998's own preamble states the novelty: "la supresión de
|
|
12
|
+
# las siglas de la provincia en todas las placas de matrícula, a excepción
|
|
13
|
+
# de las ordinarias de los vehículos automóviles".
|
|
14
|
+
# * ORDEN de 15 de septiembre de 2000, BOE-A-2000-16805, IN FORCE
|
|
15
|
+
# 17-09-2000 — replaces I.A.a) wholesale with the 4-digits + 3-letters
|
|
16
|
+
# national series AND adds the blue EU band (Cuadro 5). Its stated reason:
|
|
17
|
+
# "El sistema actual de numeración ... está próximo a agotarse en las
|
|
18
|
+
# provincias de Madrid y Barcelona".
|
|
19
|
+
# * CONSOLIDATED text (BOE-A-1999-1826-consolidado) — current wording,
|
|
20
|
+
# including the modern additions (decorative geometric designs permitted;
|
|
21
|
+
# ISO/IEC 30116:2016 OCR quality).
|
|
22
|
+
#
|
|
23
|
+
# This settles the "Spanish 2000 cutover" that PRD-PLATES §5.3 flags as a
|
|
24
|
+
# folklore-prone boundary: the instrument is dated, published and its entry
|
|
25
|
+
# into force is stated by BOE itself as 17-09-2000. No averaging required.
|
|
26
|
+
#
|
|
27
|
+
# COLOUR POLICY: Anexo XVIII Cuadro 3 specifies, per colour, a FOUR-CORNER
|
|
28
|
+
# CIE chromaticity box plus a MINIMUM luminance factor. That constrains a
|
|
29
|
+
# GAMUT, not a value — so no single hex is a sourced claim. Each design below
|
|
30
|
+
# therefore carries `hex_basis: observed` for the rendered hex, plus
|
|
31
|
+
# `color_spec` with the cited Cuadro 3 box, plus `hex_cie_centroid` (the box
|
|
32
|
+
# centroid converted to sRGB at maximum in-gamut luminance) so the render
|
|
33
|
+
# layer can choose a spec-anchored value instead of the conventional one.
|
|
34
|
+
jurisdiction: es
|
|
35
|
+
authority:
|
|
36
|
+
name: Dirección General de Tráfico (DGT) — Reglamento General de Vehículos, RD 2822/1998, Anexo XVIII
|
|
37
|
+
url: "https://www.boe.es/buscar/act.php?id=BOE-A-1999-1826"
|
|
38
|
+
binding: vehicle
|
|
39
|
+
|
|
40
|
+
charset_defaults:
|
|
41
|
+
letters: [B, C, D, F, G, H, J, K, L, M, N, P, R, S, T, V, W, X, Y, Z]
|
|
42
|
+
excluded_letters: [A, E, I, O, U, "Ñ", Q]
|
|
43
|
+
excluded_digraphs: [CH, LL]
|
|
44
|
+
excluded_letters_note: >-
|
|
45
|
+
Anexo XVIII, verbatim: "tres letras, empezando por las letras BBB y
|
|
46
|
+
terminando por las letras ZZZ, suprimiéndose las cinco vocales, y las letras
|
|
47
|
+
Ñ y Q" — with the reasons given in the text itself: the vowels "se evitan
|
|
48
|
+
palabras malsonantes o acrósticos especialmente significados"; Ñ and Q "por
|
|
49
|
+
ser fácil su confusión con la letra N y el número 0, respectivamente"; and
|
|
50
|
+
CH and LL "por incompatibilidad con el diseño de la placa de matrícula que no
|
|
51
|
+
admitiría la consignación de cuatro caracteres en el último grupo". That
|
|
52
|
+
leaves exactly 20 letters. Note the sequence starts at BBB, NOT AAA.
|
|
53
|
+
source: "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII I.A: the BBB->ZZZ rule and every exclusion, verbatim"
|
|
54
|
+
|
|
55
|
+
color_spec_table: # cited once; referenced by each design below
|
|
56
|
+
source: "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII Cuadro 3, 'Coordenadas cromáticas' + luminance factors"
|
|
57
|
+
blanco: { cie_x: [0.355, 0.305, 0.285, 0.335], cie_y: [0.355, 0.305, 0.325, 0.375], luminance_factor_min: 0.35 }
|
|
58
|
+
rojo: { cie_x: [0.690, 0.595, 0.569, 0.655], cie_y: [0.310, 0.315, 0.341, 0.345], luminance_factor_min: 0.05 }
|
|
59
|
+
verde: { cie_x: [0.007, 0.248, 0.177, 0.026], cie_y: [0.703, 0.409, 0.362, 0.399], luminance_factor_min: 0.04 }
|
|
60
|
+
azul: { cie_x: [0.078, 0.150, 0.210, 0.137], cie_y: [0.171, 0.220, 0.160, 0.038], luminance_factor_min: 0.01 }
|
|
61
|
+
amarillo: { cie_x: [0.545, 0.487, 0.427, 0.465], cie_y: [0.454, 0.423, 0.483, 0.534], luminance_factor_min: 0.27 }
|
|
62
|
+
|
|
63
|
+
display_rules: # Anexo XVIII III, verbatim-sourced
|
|
64
|
+
two_plates: "automóviles except motorcycles and three-wheelers: one front (vertical axis on the median longitudinal plane; exceptionally left or right if construction forbids) and one rear"
|
|
65
|
+
one_plate_rear_only: "ciclomotores, motocicletas, vehículos de tres ruedas, cuatriciclos ligeros y pesados — one rear plate only; light and heavy quadricycles MAY additionally carry a front plate of the same characteristics"
|
|
66
|
+
trailers: "remolques/semirremolques over 750 kg carry their own plate at the rear plus, on the right, a second plate bearing the TOWING vehicle's registration; lighter ones carry only a repeat of the towing vehicle's registration"
|
|
67
|
+
source: "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII III. Número y ubicación de las placas"
|
|
68
|
+
|
|
69
|
+
series:
|
|
70
|
+
|
|
71
|
+
# =========================================================================
|
|
72
|
+
# THE CURRENT NATIONAL SERIES — 4 digits + 3 letters, EU band.
|
|
73
|
+
# =========================================================================
|
|
74
|
+
- id: es-national-2000
|
|
75
|
+
class: standard
|
|
76
|
+
categories: [car, van, truck, bus, motorcycle]
|
|
77
|
+
period: { start: 2000 } # Orden de 15-09-2000, in force 17-09-2000
|
|
78
|
+
period_evidence: instrument-in-force
|
|
79
|
+
format:
|
|
80
|
+
pattern: "9999 LLL"
|
|
81
|
+
regex: '\A\d{4} [A-Z]{3}\z'
|
|
82
|
+
regex_strict: '\A\d{4} [BCDFGHJKLMNPRSTVWXYZ]{3}\z'
|
|
83
|
+
charset:
|
|
84
|
+
letters: [B, C, D, F, G, H, J, K, L, M, N, P, R, S, T, V, W, X, Y, Z]
|
|
85
|
+
notes: "see charset_defaults; digits run 0000-9999; the letter group runs BBB to ZZZ"
|
|
86
|
+
progression: >-
|
|
87
|
+
Digits cycle 0000-9999 within a fixed letter triple, then the letter triple
|
|
88
|
+
advances one step in the 20-letter alphabet. Nationally sequential and
|
|
89
|
+
MONOTONIC from BBB, which makes the letter triple an approximate-age signal
|
|
90
|
+
and the ONLY decodable dimension of a post-2000 Spanish plate — there is no
|
|
91
|
+
geography whatsoever in this series.
|
|
92
|
+
separator_note: >-
|
|
93
|
+
Anexo XVIII prescribes "dos grupos de caracteres" and gives the inter-group
|
|
94
|
+
spacing in mm (Cuadro 1: 41 mm on the ordinaria larga) but prescribes no
|
|
95
|
+
separator GLYPH. The space in the pattern is the printed gap.
|
|
96
|
+
design:
|
|
97
|
+
plate: { w: 520, h: 110, unit: mm, reflective_surface: { w: 510, h: 100 } }
|
|
98
|
+
plate_variants:
|
|
99
|
+
- { w: 340, h: 220, unit: mm, reflective_surface: { w: 330, h: 210 }, note: "ordinaria alta (two-line)" }
|
|
100
|
+
- { w: 340, h: 110, unit: mm, reflective_surface: { w: 330, h: 100 }, note: "ordinaria larga delantera — the small FRONT plate, for M1 vehicles whose mounting cannot take the long plate, and for three-wheelers and quadricycles" }
|
|
101
|
+
- { w: 220, h: 160, unit: mm, reflective_surface: { w: 210, h: 150 }, note: "motocicletas ordinaria" }
|
|
102
|
+
- { w: 132, h: 96, unit: mm, reflective_surface: { w: 122, h: 86 }, note: "motocicletas corta — trial and enduro two-wheelers only" }
|
|
103
|
+
characters: { w: 45, h: 77, stroke: 10, gap: 14, group_gap: 41, unit: mm, note: "ordinaria larga; the 340x110 front plate uses 30 x 60 with a 6 mm stroke; motorcycle plates 30 x 60 / 6 mm; motocicletas corta 13 x 30 / 3.5 mm" }
|
|
104
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, hex_cie_centroid: "#FFFEF3", spec: blanco }
|
|
105
|
+
foreground: "#000000"
|
|
106
|
+
foreground_note: "caracteres estampados EN RELIEVE, pintados en color negro MATE — the statute specifies embossed characters and a matte finish, which the render layer should record even if it cannot depict it"
|
|
107
|
+
band: { side: left, color: "#003399", content: eu-stars+E, hex_basis: observed, spec: azul }
|
|
108
|
+
band_note: >-
|
|
109
|
+
"sobre una banda azul dispuesta verticalmente, el símbolo de la bandera
|
|
110
|
+
europea, que constará de 12 estrellas de color amarillo, y la sigla
|
|
111
|
+
distintiva de España representada por la letra E de color blanco, de
|
|
112
|
+
acuerdo con el cuadro 5". CUADRO 5 IS TITLED "DIMENSIONES Y COLORES DEL
|
|
113
|
+
DISTINTIVO COMUNITARIO (Dimensiones en mm.)" but renders as a DRAWING in
|
|
114
|
+
the BOE consolidated PDF — the millimetres are not text-extractable.
|
|
115
|
+
Corrects the EU dossier's expectation that ES Anexo XVIII Cuadro 5 supplies
|
|
116
|
+
Euroband geometry as text.
|
|
117
|
+
decoration_allowed: >-
|
|
118
|
+
Consolidated text only: "se permite la inclusión de diseños geométricos sin
|
|
119
|
+
significado reconocible, siempre que no afecten a las condiciones de
|
|
120
|
+
retrorreflexión y legibilidad", subject to ISO/IEC 30116:2016 OCR quality
|
|
121
|
+
testing. A modern addition absent from the 1999 original.
|
|
122
|
+
emblem: { present: false }
|
|
123
|
+
rear_differs: false
|
|
124
|
+
plate_construction: { border: "reborde plano sin cubrir ni pintar, 5 mm wide around the whole contour, embossed 0.8 +/-0.1 mm", corner_radius: { inner: 6, outer: 10, unit: mm }, character_relief: "0.9 mm +0.3/-0.2 above the ground", manipulator_number: "stamped in a 35 x 5 mm rectangle inside the left-hand bead" }
|
|
125
|
+
region_encoding: none
|
|
126
|
+
variants:
|
|
127
|
+
- class: taxi
|
|
128
|
+
design:
|
|
129
|
+
rear_differs: true
|
|
130
|
+
rear: { background: { color: "#003399", finish: retroreflective, hex_basis: observed, spec: azul }, foreground: "#FFFFFF" }
|
|
131
|
+
front: { background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec: blanco }, foreground: "#000000" }
|
|
132
|
+
note: >-
|
|
133
|
+
THE REAR PLATE ONLY is blue with white matte characters, for taxis and for
|
|
134
|
+
hire-with-driver vehicles of up to nine seats. The front plate stays
|
|
135
|
+
white/black. Same serial, same period, so a sub-entry per PRD-PLATES §2.3
|
|
136
|
+
— but note this is a genuine front/rear ASYMMETRY, not a colour-only
|
|
137
|
+
swap, and secondary sources routinely get it wrong by colouring both.
|
|
138
|
+
sources:
|
|
139
|
+
- "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII I.A.a) and Cuadro 1 note (7): 'salvo las placas de matrícula TRASERAS de los vehículos destinados al servicio de taxi y de alquiler con conductor de hasta nueve plazas'"
|
|
140
|
+
- class: motorcycle
|
|
141
|
+
design: { plate: { w: 220, h: 160, unit: mm } }
|
|
142
|
+
note: "Motorcycles carry the SAME national serial on a 220 x 160 plate (122 x 86 reflective on the 132 x 96 trial/enduro plate). Size-only variant, hence a sub-entry; recorded with a class so class-keyed queries can still reach it."
|
|
143
|
+
sources:
|
|
144
|
+
- "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII Cuadro 1: Motocicletas ordinaria 220x160 / 210x150; Motocicletas corta 132x96"
|
|
145
|
+
sources:
|
|
146
|
+
- "https://www.boe.es/buscar/doc.php?id=BOE-A-2000-16805 # Orden de 15-09-2000: replaces Anexo XVIII I.A.a) with '4 cifras + 3 letras' and adds the EU band; BOE's own Análisis block states 'Fecha de entrada en vigor: 17/09/2000'"
|
|
147
|
+
- "https://www.boe.es/eli/es/o/2000/09/15/(1) # canonical ELI for that Orden"
|
|
148
|
+
- "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII I.A.a) current wording: white retroreflective ground, black matte embossed characters, 4 digits 0000-9999 + 3 letters BBB->ZZZ minus vowels/Ñ/Q; Cuadro 1 dimensions; Cuadro 3 colour boxes"
|
|
149
|
+
- "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:31998R2411 # Reg. 2411/98 Art. 3 — the mutual-recognition rule the Orden's preamble invokes by name"
|
|
150
|
+
notes: >-
|
|
151
|
+
THE CURRENT SPANISH SERIES. Purely sequential and non-geographic: the 2000
|
|
152
|
+
reform deliberately removed the province code. Anexo XVIII adds the
|
|
153
|
+
reciprocal-recognition clause in terms: a Spanish car whose plate shows the EU
|
|
154
|
+
flag and the E sign "no será necesario que lleven en su parte posterior el
|
|
155
|
+
signo distintivo de la nacionalidad española previsto en la señal V-7".
|
|
156
|
+
DIMENSION CORRECTION worth recording: the statute says 520 x 110 mm, not the
|
|
157
|
+
500 x 110 that circulates in secondary sources.
|
|
158
|
+
|
|
159
|
+
# =========================================================================
|
|
160
|
+
# THE PRE-2000 PROVINCIAL SERIES.
|
|
161
|
+
# =========================================================================
|
|
162
|
+
- id: es-provincial
|
|
163
|
+
class: standard
|
|
164
|
+
categories: [car, van, truck, bus, motorcycle]
|
|
165
|
+
period: { start: 1999, end: 2000 }
|
|
166
|
+
period_evidence: instrument-window
|
|
167
|
+
format:
|
|
168
|
+
pattern: "LL-9999-LL"
|
|
169
|
+
regex: '\A[A-Z]{1,2}-\d{4}-[A-Z]{1,2}\z'
|
|
170
|
+
regex_strict: '\A(?:AB|AL|AV|BA|BI|BU|CA|CC|CE|CO|CR|CS|CU|GC|GI|GR|GU|HU|IB|LE|LO|LU|MA|ML|MU|NA|OU|PO|SA|SE|SG|SO|SS|TE|TF|TO|VA|VI|ZA|A|B|C|H|J|L|M|O|P|S|T|V|Z)-\d{4}-[A-Z]{1,2}\z'
|
|
171
|
+
charset:
|
|
172
|
+
notes: >-
|
|
173
|
+
Anexo XVIII I.A.a) as ORIGINALLY enacted, verbatim: "tres grupos de
|
|
174
|
+
caracteres, constituidos por la contraseña de la provincia donde se
|
|
175
|
+
matricula el vehículo; un número de cuatro cifras, que irá desde el 0000 al
|
|
176
|
+
9999, y una o dos letras de una serie, que comienza por la letra A y
|
|
177
|
+
termina por las letras ZZ, sin emplearse aquellas letras del alfabeto que
|
|
178
|
+
puedan dar lugar a confusión." Note the trailing letter group here starts at
|
|
179
|
+
A (not BBB) and is ONE OR TWO letters, and that the excluded letters are
|
|
180
|
+
NOT enumerated in this text — hence regex_strict keeps [A-Z]{1,2} for that
|
|
181
|
+
group and constrains only the province contraseña, which IS enumerated
|
|
182
|
+
(Anexo XVIII II.A, 52 codes).
|
|
183
|
+
separator_note: "Anexo XVIII prescribes three groups and their mm spacing (Cuadro 1 rows 'ordinaria ... con siglas de provincia'), not a separator glyph; the hyphen is the conventional printed rendering."
|
|
184
|
+
design:
|
|
185
|
+
plate: { w: 520, h: 110, unit: mm, reflective_surface: { w: 510, h: 100 } }
|
|
186
|
+
plate_variants:
|
|
187
|
+
- { w: 340, h: 220, unit: mm, note: "ordinaria alta con siglas de provincia" }
|
|
188
|
+
- { w: 340, h: 110, unit: mm, note: "ordinaria larga delantera con siglas de provincia" }
|
|
189
|
+
- { w: 220, h: 160, unit: mm, note: "motocicletas ordinaria con siglas de provincia" }
|
|
190
|
+
characters: { w: 45, h: 77, stroke: 10, gap: 8, group_gap: 27, unit: mm }
|
|
191
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec: blanco }
|
|
192
|
+
foreground: "#000000"
|
|
193
|
+
band: { side: none }
|
|
194
|
+
note: >-
|
|
195
|
+
No EU band: the band arrived with the Orden of 15-09-2000. Owners of
|
|
196
|
+
pre-2000 vehicles MAY voluntarily re-plate to the banded design while
|
|
197
|
+
KEEPING their provincial registration (Disposición transitoria primera), and
|
|
198
|
+
MUST adopt the new dimensions if they replace plates after loss, theft or
|
|
199
|
+
deterioration (Disposición transitoria segunda) — which is why the
|
|
200
|
+
consolidated Cuadro 1 still carries four "con siglas de provincia" rows
|
|
201
|
+
today, footnoted "Placas de matrícula con arreglo a lo establecido en las
|
|
202
|
+
disposiciones transitorias de la Orden de 15 de septiembre de 2000".
|
|
203
|
+
region_encoding: "plates/_decode/es-provinces.yml"
|
|
204
|
+
sources:
|
|
205
|
+
- "https://www.boe.es/buscar/doc.php?id=BOE-A-1999-1826 # ORIGINAL RD 2822/1998 text, Anexo XVIII I.A.a): province contraseña + 4 digits + 1-2 letters (A..ZZ); BOE Análisis block: 'Fecha de entrada en vigor: 26/07/1999'"
|
|
206
|
+
- "https://www.boe.es/buscar/doc.php?id=BOE-A-2000-16805 # the Orden that replaced it, in force 17-09-2000, plus both disposiciones transitorias (voluntary re-plating; mandatory new dimensions on replacement)"
|
|
207
|
+
- "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII II.A: the 52 province contraseñas; Cuadro 1 'con siglas de provincia' rows"
|
|
208
|
+
notes: >-
|
|
209
|
+
THE PROVINCIAL SYSTEM — Spain's only region-decodable series. PERIOD CAVEAT,
|
|
210
|
+
stated plainly: start/end here record the INSTRUMENT WINDOW in which this
|
|
211
|
+
format was the enacted ordinary-car format (RD 2822/1998 in force 26-07-1999;
|
|
212
|
+
superseded for new registrations 17-09-2000), NOT the life of the system. The
|
|
213
|
+
province + 4 digits + 1-2 letters shape is much older — commonly given as
|
|
214
|
+
1971 — but no primary for that start was secured in this pass, so it is a
|
|
215
|
+
recorded gap rather than an invented date, and the id is deliberately
|
|
216
|
+
`es-provincial` and not `es-provincial-1971`. Plates already issued remain
|
|
217
|
+
valid indefinitely and are re-issued on request; RGV Art. 27.2 lets an owner
|
|
218
|
+
swap a provincial plate for a national one on a change of province.
|
|
219
|
+
|
|
220
|
+
# =========================================================================
|
|
221
|
+
# ORDINARY SPECIAL SERIES — prefix letter + 4 digits + 3 letters, all from
|
|
222
|
+
# RD 2822/1998 itself (in force 26-07-1999), all still current.
|
|
223
|
+
# =========================================================================
|
|
224
|
+
- id: es-special-vehicles-1999
|
|
225
|
+
class: agricultural
|
|
226
|
+
categories: [tractor, machine]
|
|
227
|
+
period: { start: 1999 }
|
|
228
|
+
period_evidence: instrument-in-force
|
|
229
|
+
format:
|
|
230
|
+
pattern: "E9999LLL"
|
|
231
|
+
regex: '\AE\d{4}[A-Z]{3}\z'
|
|
232
|
+
regex_strict: '\AE\d{4}[BCDFGHJKLMNPRSTVWXYZ]{3}\z'
|
|
233
|
+
charset: { notes: "letter E prefix; 4 digits 0000-9999; 3 letters BBB->ZZZ minus vowels/Ñ/Q/CH/LL" }
|
|
234
|
+
design:
|
|
235
|
+
plate: { w: 340, h: 110, unit: mm, reflective_surface: { w: 330, h: 100 } }
|
|
236
|
+
plate_variants:
|
|
237
|
+
- { w: 280, h: 200, unit: mm, reflective_surface: { w: 270, h: 190 }, note: "vehículos especiales alta" }
|
|
238
|
+
characters: { w: 30, h: 60, stroke: 6, unit: mm }
|
|
239
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec: blanco }
|
|
240
|
+
foreground: "#CE1126"
|
|
241
|
+
foreground_note: "RED matte embossed characters on white — 'Los caracteres estampados en relieve irán pintados en color rojo mate'. hex_basis observed; Cuadro 3 'rojo' gamut applies (CIE centroid #FF111A)."
|
|
242
|
+
band: { side: none }
|
|
243
|
+
region_encoding: none
|
|
244
|
+
sources:
|
|
245
|
+
- "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII I.A.b) vehículos especiales: white ground, red matte characters, letter E + 4 digits + 3 letters; Cuadro 1: 340x110 larga / 280x200 alta, characters 30x60/6"
|
|
246
|
+
- "https://www.boe.es/buscar/doc.php?id=BOE-A-1999-1826 # original text, same wording minus the CH/LL inciso; in force 26-07-1999"
|
|
247
|
+
notes: >-
|
|
248
|
+
VEHÍCULOS ESPECIALES (agricultural and works/services machinery). The only
|
|
249
|
+
Spanish series with RED characters on white, and notably NOT 520 mm wide — the
|
|
250
|
+
long form is 340 x 110. CLASS CAVEAT: _meta/classes.yml has no "special
|
|
251
|
+
vehicle"/"works machinery" class; `agricultural` is the closest fit and covers
|
|
252
|
+
the dominant population (maquinaria agrícola), but the statutory category is
|
|
253
|
+
broader ("de obras y servicios"). Flagged as a vocabulary gap.
|
|
254
|
+
|
|
255
|
+
- id: es-trailer-1999
|
|
256
|
+
class: trailer
|
|
257
|
+
categories: [trailer, semitrailer]
|
|
258
|
+
period: { start: 1999 }
|
|
259
|
+
period_evidence: instrument-in-force
|
|
260
|
+
format:
|
|
261
|
+
pattern: "R9999LLL"
|
|
262
|
+
regex: '\AR\d{4}[A-Z]{3}\z'
|
|
263
|
+
regex_strict: '\AR\d{4}[BCDFGHJKLMNPRSTVWXYZ]{3}\z'
|
|
264
|
+
design:
|
|
265
|
+
plate: { w: 520, h: 110, unit: mm, reflective_surface: { w: 510, h: 100 } }
|
|
266
|
+
plate_variants:
|
|
267
|
+
- { w: 340, h: 220, unit: mm, reflective_surface: { w: 330, h: 210 }, note: "remolques alta" }
|
|
268
|
+
characters: { w: 45, h: 77, stroke: 10, gap: 12, group_gap: 30, unit: mm }
|
|
269
|
+
background: { color: "#CE1126", finish: retroreflective, hex_basis: observed, hex_cie_centroid: "#FF111A", spec: rojo }
|
|
270
|
+
foreground: "#000000"
|
|
271
|
+
band: { side: none }
|
|
272
|
+
region_encoding: none
|
|
273
|
+
sources:
|
|
274
|
+
- "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII I.A.c): 'El fondo de las placas será retrorreflectante, de color rojo. Los caracteres estampados en relieve irán pintados en color negro mate'; letter R + number + 3 letters; Cuadro 1 dimensions"
|
|
275
|
+
notes: >-
|
|
276
|
+
REMOLQUES Y SEMIRREMOLQUES — a RED plate with black characters, the inverse of
|
|
277
|
+
the special-vehicle plate. Trailers over 750 kg carry this plus a second
|
|
278
|
+
plate on the right bearing the towing vehicle's registration (Anexo XVIII
|
|
279
|
+
III.4). Trailers and semi-trailers share one series here because Anexo XVIII
|
|
280
|
+
treats them in one subparagraph with one prefix letter — contrast the
|
|
281
|
+
Netherlands, where W and O split them.
|
|
282
|
+
|
|
283
|
+
- id: es-moped-1999
|
|
284
|
+
class: moped
|
|
285
|
+
categories: [moped, quadricycle]
|
|
286
|
+
period: { start: 1999 }
|
|
287
|
+
period_evidence: instrument-in-force
|
|
288
|
+
format:
|
|
289
|
+
pattern: "C9999LLL"
|
|
290
|
+
regex: '\AC\d{4}[A-Z]{3}\z'
|
|
291
|
+
regex_strict: '\AC\d{4}[BCDFGHJKLMNPRSTVWXYZ]{3}\z'
|
|
292
|
+
layout: >-
|
|
293
|
+
THREE ROWS as originally enacted: row 1 = letter C plus the thousands digit
|
|
294
|
+
of the 0000-9999 number; row 2 = the remaining three digits; row 3 = the
|
|
295
|
+
three letters. The consolidated text describes it as "tres grupos"; the
|
|
296
|
+
three-row layout survives in the 100 x 168 "ciclomotores alta" plate.
|
|
297
|
+
design:
|
|
298
|
+
plate: { w: 100, h: 168, unit: mm, reflective_surface: { w: 90, h: 158 }, note: "ciclomotores alta (portrait, three rows)" }
|
|
299
|
+
plate_variants:
|
|
300
|
+
- { w: 140, h: 120, unit: mm, reflective_surface: { w: 130, h: 110 }, note: "ciclomotores larga" }
|
|
301
|
+
- { w: 210, h: 85, unit: mm, reflective_surface: { w: 200, h: 75 }, note: "cuatriciclos ligeros — also used for three-wheeled ciclomotores" }
|
|
302
|
+
- { w: 520, h: 110, unit: mm, reflective_surface: { w: 510, h: 100 }, note: "cuatriciclos ligeros larga" }
|
|
303
|
+
characters: { w: 13, h: 30, stroke: 3.5, unit: mm, tolerance: "+/- 3 mm between characters" }
|
|
304
|
+
background: { color: "#F9B700", finish: retroreflective, hex_basis: observed, hex_cie_centroid: "#FFC000", spec: amarillo }
|
|
305
|
+
foreground: "#000000"
|
|
306
|
+
band: { side: none }
|
|
307
|
+
region_encoding: none
|
|
308
|
+
sources:
|
|
309
|
+
- "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII I.A.d) ciclomotores: yellow retroreflective ground, black matte characters, letter C + 4 digits + 3 letters; Cuadro 1 ciclomotores/cuatriciclos rows"
|
|
310
|
+
- "https://www.boe.es/buscar/doc.php?id=BOE-A-1999-1826 # original text: the explicit THREE-ROW layout for ciclomotores"
|
|
311
|
+
notes: >-
|
|
312
|
+
CICLOMOTORES Y CICLOS DE MOTOR — yellow ground, black characters. RGV
|
|
313
|
+
transitional provision required mopeds bought before the RGV and registered
|
|
314
|
+
only with municipalities to be brought onto the national register within six
|
|
315
|
+
months of entry into force. Light quadricycles and three-wheeled mopeds share
|
|
316
|
+
this yellow design (Cuadro 1 note 6), which is why `quadricycle` appears in
|
|
317
|
+
categories — a kinds-vocabulary extension the schema takes without change.
|
|
318
|
+
|
|
319
|
+
- id: es-historic-1999
|
|
320
|
+
class: historic
|
|
321
|
+
categories: [car, van, truck, bus, motorcycle, moped]
|
|
322
|
+
period: { start: 1999 }
|
|
323
|
+
period_evidence: instrument-in-force
|
|
324
|
+
format:
|
|
325
|
+
pattern: "H9999LLL"
|
|
326
|
+
regex: '\AH\d{4}[A-Z]{3}\z'
|
|
327
|
+
regex_strict: '\AH\d{4}[BCDFGHJKLMNPRSTVWXYZ]{3}\z'
|
|
328
|
+
design:
|
|
329
|
+
plate: { w: 520, h: 110, unit: mm, reflective_surface: { w: 510, h: 100 } }
|
|
330
|
+
plate_variants:
|
|
331
|
+
- { w: 340, h: 220, unit: mm, note: "vehículo histórico alta" }
|
|
332
|
+
- { w: 220, h: 160, unit: mm, note: "vehículo histórico motocicletas" }
|
|
333
|
+
- { w: 100, h: 168, unit: mm, note: "vehículo histórico ciclomotores" }
|
|
334
|
+
characters: { w: 45, h: 77, stroke: 10, gap: 10, group_gap: 35, unit: mm }
|
|
335
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec: blanco }
|
|
336
|
+
foreground: "#000000"
|
|
337
|
+
band: { side: none }
|
|
338
|
+
region_encoding: none
|
|
339
|
+
sources:
|
|
340
|
+
- "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII I.B.c) vehículo histórico: white ground, black matte characters, letter H + 4 digits + 3 letters; Cuadro 1 four histórico rows"
|
|
341
|
+
notes: >-
|
|
342
|
+
VEHÍCULO HISTÓRICO. Visually near-identical to the ordinary series (white/black)
|
|
343
|
+
and distinguished by the H prefix rather than by colour — the opposite design
|
|
344
|
+
choice to the Netherlands, whose oldtimer plate is dark blue but keeps its
|
|
345
|
+
original serial. Spain has a dedicated historic SERIAL SERIES; the Netherlands
|
|
346
|
+
has a dedicated historic DESIGN. The age threshold sits in the historic-vehicle
|
|
347
|
+
regulation (RD 1247/1995), which was not fetched in this pass — recorded gap.
|
|
348
|
+
|
|
349
|
+
- id: es-tourist-1999
|
|
350
|
+
class: temporary
|
|
351
|
+
categories: [car, van, motorcycle]
|
|
352
|
+
period: { start: 1999 }
|
|
353
|
+
period_evidence: instrument-in-force
|
|
354
|
+
format:
|
|
355
|
+
pattern: "T9999LLL"
|
|
356
|
+
regex: '\AT\d{4}[A-Z]{3}\z'
|
|
357
|
+
regex_strict: '\AT\d{4}[BCDFGHJKLMNPRSTVWXYZ]{3}\z'
|
|
358
|
+
design:
|
|
359
|
+
plate: { w: 520, h: 110, unit: mm, reflective_surface: { w: 510, h: 100 } }
|
|
360
|
+
plate_variants:
|
|
361
|
+
- { w: 340, h: 220, unit: mm, note: "turística alta" }
|
|
362
|
+
characters: { w: 45, h: 77, stroke: 10, gap: 10, group_gap: [20, 30], unit: mm }
|
|
363
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec: blanco }
|
|
364
|
+
foreground: "#000000"
|
|
365
|
+
band:
|
|
366
|
+
side: right
|
|
367
|
+
color: "#CE1126"
|
|
368
|
+
hex_basis: observed
|
|
369
|
+
spec: rojo
|
|
370
|
+
content: expiry-month-roman-over-year-arabic
|
|
371
|
+
note: >-
|
|
372
|
+
"La banda vertical en donde se consignan el mes y el año en que caducan,
|
|
373
|
+
expresándose el primero en caracteres romanos y el segundo en caracteres de
|
|
374
|
+
tipo árabe, será retrorreflectante de color rojo. Los caracteres que en
|
|
375
|
+
ella se consignan serán adhesivos de color blanco mate" — 15 x 8 x 2 mm
|
|
376
|
+
adhesive characters, band width 30 mm (Cuadro 3).
|
|
377
|
+
region_encoding: none
|
|
378
|
+
sources:
|
|
379
|
+
- "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII I.B.b) matrícula turística: white ground, black matte characters, letter T + 4 digits + 3 letters, RED expiry band with white adhesive characters; Cuadro 3: band 30 mm, characters 15x8x2 mm"
|
|
380
|
+
notes: >-
|
|
381
|
+
MATRÍCULA TURÍSTICA — a tax-privileged temporary registration with the expiry
|
|
382
|
+
month in ROMAN numerals and the year in Arabic on a red vertical band. The
|
|
383
|
+
only Spanish plate that carries its own expiry date on its face, and the only
|
|
384
|
+
one whose band sits on the right. CLASS CAVEAT: recorded as `temporary`; the
|
|
385
|
+
statutory category is its own ("matrícula especial") and is neither ordinary
|
|
386
|
+
nor a circulation permit.
|
|
387
|
+
|
|
388
|
+
- id: es-temporary-private-1999
|
|
389
|
+
class: temporary
|
|
390
|
+
categories: [car, van, truck, bus, motorcycle, moped, trailer, semitrailer]
|
|
391
|
+
period: { start: 1999 }
|
|
392
|
+
period_evidence: instrument-in-force
|
|
393
|
+
format:
|
|
394
|
+
pattern: "P9999LLL"
|
|
395
|
+
regex: '\AP\d{4}[A-Z]{3}\z'
|
|
396
|
+
regex_strict: '\AP\d{4}[BCDFGHJKLMNPRSTVWXYZ]{3}\z'
|
|
397
|
+
layout: "Motor vehicles and trailers: three groups on one line. CICLOMOTORES: three ROWS — row 1 = letter P plus the thousands digit, row 2 = the remaining three digits, row 3 = the three letters."
|
|
398
|
+
design:
|
|
399
|
+
plate: { w: 520, h: 110, unit: mm, reflective_surface: { w: 510, h: 100 } }
|
|
400
|
+
plate_variants:
|
|
401
|
+
- { w: 280, h: 200, unit: mm, reflective_surface: { w: 270, h: 190 }, note: "temporal particular alta" }
|
|
402
|
+
- { w: 100, h: 168, unit: mm, reflective_surface: { w: 90, h: 158 }, note: "temporal particular ciclomotores" }
|
|
403
|
+
characters: { w: 30, h: 60, stroke: 6, gap: 16, unit: mm }
|
|
404
|
+
background: { color: "#007A33", finish: retroreflective, hex_basis: observed, hex_cie_centroid: "#00FFB3", spec: verde }
|
|
405
|
+
foreground: "#FFFFFF"
|
|
406
|
+
band: { side: none }
|
|
407
|
+
region_encoding: none
|
|
408
|
+
sources:
|
|
409
|
+
- "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII I.C.a) permisos temporales para particulares: 'El fondo de las placas será retrorreflectante, de color verde. Los caracteres estampados en relieve irán pintados en color blanco mate'; letter P; the three-row ciclomotor layout"
|
|
410
|
+
notes: >-
|
|
411
|
+
TEMPORARY PERMIT FOR PRIVATE INDIVIDUALS — GREEN ground, white characters,
|
|
412
|
+
prefix P. Spain colour-codes temporary permits by HOLDER TYPE: green for
|
|
413
|
+
individuals (this entry), red for companies (es-temporary-company-*). Note the
|
|
414
|
+
Cuadro 3 green box is wide and its minimum luminance factor is only 0.04, so
|
|
415
|
+
the rendered hex is a conventional choice, not a spec value — the centroid
|
|
416
|
+
conversion lands at a much lighter #00FFB3.
|
|
417
|
+
|
|
418
|
+
- id: es-temporary-company-unregistered-1999
|
|
419
|
+
class: dealer
|
|
420
|
+
categories: [car, van, truck, bus, motorcycle, moped, trailer, semitrailer]
|
|
421
|
+
period: { start: 1999 }
|
|
422
|
+
period_evidence: instrument-in-force
|
|
423
|
+
format:
|
|
424
|
+
pattern: "S9999LLL"
|
|
425
|
+
regex: '\AS\d{4}[A-Z]{3}\z'
|
|
426
|
+
regex_strict: '\AS\d{4}[BCDFGHJKLMNPRSTVWXYZ]{3}\z'
|
|
427
|
+
layout: "one line for motor vehicles and trailers; three rows for ciclomotores (letter S + thousands digit / three digits / three letters)"
|
|
428
|
+
design:
|
|
429
|
+
plate: { w: 520, h: 110, unit: mm, reflective_surface: { w: 510, h: 100 } }
|
|
430
|
+
plate_variants:
|
|
431
|
+
- { w: 280, h: 200, unit: mm, note: "temporal empresas alta" }
|
|
432
|
+
- { w: 100, h: 168, unit: mm, note: "temporal empresas ciclomotores" }
|
|
433
|
+
characters: { w: 30, h: 60, stroke: 6, gap: 16, group_gap: 57.5, unit: mm }
|
|
434
|
+
background: { color: "#CE1126", finish: retroreflective, hex_basis: observed, hex_cie_centroid: "#FF111A", spec: rojo }
|
|
435
|
+
foreground: "#FFFFFF"
|
|
436
|
+
band:
|
|
437
|
+
side: right
|
|
438
|
+
color: "#FFFFFF"
|
|
439
|
+
hex_basis: observed
|
|
440
|
+
spec: blanco
|
|
441
|
+
content: expiry-month-roman-over-year-arabic
|
|
442
|
+
note: "WHITE band with RED matte adhesive characters — the inverse of the tourist plate's red band with white characters. Band width 30 mm (20 mm on the ciclomotor plate)."
|
|
443
|
+
region_encoding: none
|
|
444
|
+
sources:
|
|
445
|
+
- "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII I.C.b): red ground, white matte characters, 'la letra S, para los vehículos no matriculados'; white expiry band with red adhesive characters; Cuadro 3 band widths 30/20 mm"
|
|
446
|
+
notes: >-
|
|
447
|
+
TEMPORARY PERMIT FOR COMPANIES, UNREGISTERED VEHICLES — prefix S. This is
|
|
448
|
+
Spain's functional dealer/trade plate. Its own series and not a variant of the
|
|
449
|
+
V plate below, because the statute assigns a DIFFERENT PREFIX LETTER, which is
|
|
450
|
+
a format difference (PRD-PLATES §2.3). CLASS CAVEAT: recorded as `dealer`
|
|
451
|
+
because it is bound to a business rather than a vehicle; the statutory name is
|
|
452
|
+
"permiso temporal para empresas".
|
|
453
|
+
|
|
454
|
+
- id: es-temporary-company-registered-1999
|
|
455
|
+
class: dealer
|
|
456
|
+
categories: [car, van, truck, bus, motorcycle, moped, trailer, semitrailer]
|
|
457
|
+
period: { start: 1999 }
|
|
458
|
+
period_evidence: instrument-in-force
|
|
459
|
+
format:
|
|
460
|
+
pattern: "V9999LLL"
|
|
461
|
+
regex: '\AV\d{4}[A-Z]{3}\z'
|
|
462
|
+
regex_strict: '\AV\d{4}[BCDFGHJKLMNPRSTVWXYZ]{3}\z'
|
|
463
|
+
design:
|
|
464
|
+
plate: { w: 520, h: 110, unit: mm, reflective_surface: { w: 510, h: 100 } }
|
|
465
|
+
plate_variants:
|
|
466
|
+
- { w: 280, h: 200, unit: mm }
|
|
467
|
+
- { w: 100, h: 168, unit: mm }
|
|
468
|
+
characters: { w: 30, h: 60, stroke: 6, gap: 16, group_gap: 57.5, unit: mm }
|
|
469
|
+
background: { color: "#CE1126", finish: retroreflective, hex_basis: observed, spec: rojo }
|
|
470
|
+
foreground: "#FFFFFF"
|
|
471
|
+
band: { side: right, color: "#FFFFFF", hex_basis: observed, spec: blanco, content: expiry-month-roman-over-year-arabic }
|
|
472
|
+
region_encoding: none
|
|
473
|
+
sources:
|
|
474
|
+
- "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII I.C.b): '...o la letra V, para los matriculados' — same red design, different prefix"
|
|
475
|
+
notes: >-
|
|
476
|
+
TEMPORARY PERMIT FOR COMPANIES, ALREADY-REGISTERED VEHICLES — prefix V.
|
|
477
|
+
Identical design to the S series; the prefix letter is the only difference and
|
|
478
|
+
it encodes whether the vehicle already holds a registration. A parse API must
|
|
479
|
+
keep them apart, which is why they are two series with distinct notes rather
|
|
480
|
+
than one entry with an alternation.
|
|
481
|
+
|
|
482
|
+
# =========================================================================
|
|
483
|
+
# DIPLOMATIC AND OFFICIAL SERIES. Anexo XVIII specifies the LETTERS and the
|
|
484
|
+
# GROUP STRUCTURE ("dos grupos de guarismos") but NOT the digit widths and
|
|
485
|
+
# NOT the separator glyph — so every regex here uses unbounded \d+ and a
|
|
486
|
+
# permissive separator, deliberately making no width claim.
|
|
487
|
+
# =========================================================================
|
|
488
|
+
- id: es-diplomatic-cd-1999
|
|
489
|
+
class: diplomatic
|
|
490
|
+
categories: [car, van, motorcycle]
|
|
491
|
+
period: { start: 1999 }
|
|
492
|
+
period_evidence: instrument-in-force
|
|
493
|
+
format:
|
|
494
|
+
pattern: "CD-999-999"
|
|
495
|
+
regex: '\ACD[- ]\d+[- ]\d+\z'
|
|
496
|
+
pattern_note: >-
|
|
497
|
+
The three-digit groups in the pattern are REPRESENTATIVE ONLY. Anexo XVIII
|
|
498
|
+
says "las letras CD, seguidas por dos grupos de guarismos" and fixes neither
|
|
499
|
+
width; the regex is intentionally unbounded so it makes no width claim.
|
|
500
|
+
progression: >-
|
|
501
|
+
Group 1 is an invariable per-mission prefix, assigned in the alphabetical
|
|
502
|
+
order of the Foreign Ministry's most recent official diplomatic list, with
|
|
503
|
+
prefix "-1-" reserved for the Decanato del Cuerpo Diplomático; missions that
|
|
504
|
+
later accredit permanent ambassadors are appended by seniority. Group 2 is a
|
|
505
|
+
serial within the mission, proposed by the mission itself.
|
|
506
|
+
design:
|
|
507
|
+
plate: { w: 520, h: 110, unit: mm, reflective_surface: { w: 510, h: 100 } }
|
|
508
|
+
characters: { w: 45, h: 77, stroke: 10, gap: 14, group_gap: [80, 48], unit: mm }
|
|
509
|
+
background: { color: "#CE1126", finish: retroreflective, hex_basis: observed, hex_cie_centroid: "#FF111A", spec: rojo }
|
|
510
|
+
foreground: "#FFFFFF"
|
|
511
|
+
band: { side: none }
|
|
512
|
+
region_encoding: "mission prefix — decode table not authored (see notes)"
|
|
513
|
+
sources:
|
|
514
|
+
- "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII I.B.a).1: Cuerpo diplomático — red retroreflective ground, white matte embossed characters, letters CD + two digit groups, prefix assignment rule and the '-1-' Decanato reservation; Cuadro 1 dimensions"
|
|
515
|
+
notes: >-
|
|
516
|
+
CUERPO DIPLOMÁTICO — red ground, white characters. The mission-prefix DECODE
|
|
517
|
+
TABLE is not authored: Anexo XVIII states the ASSIGNMENT RULE (alphabetical
|
|
518
|
+
order of the Foreign Ministry's official diplomatic list) but not the resulting
|
|
519
|
+
codes, and that list was not fetched in this pass. PRD-PLATES puts diplomatic
|
|
520
|
+
decode tables at gate L4; this entry carries the mechanism so the table can be
|
|
521
|
+
hung off it later without an id change.
|
|
522
|
+
|
|
523
|
+
- id: es-international-oi-1999
|
|
524
|
+
class: diplomatic
|
|
525
|
+
categories: [car, van, motorcycle]
|
|
526
|
+
period: { start: 1999 }
|
|
527
|
+
period_evidence: instrument-in-force
|
|
528
|
+
format:
|
|
529
|
+
pattern: "OI-999-999"
|
|
530
|
+
regex: '\AOI[- ]\d+[- ]\d+\z'
|
|
531
|
+
pattern_note: "digit-group widths are representative only; Anexo XVIII fixes neither"
|
|
532
|
+
progression: "group 1 is an invariable per-organisation prefix, assigned by seniority in a series running consecutively after the one reserved for diplomatic missions; group 2 is a serial within the organisation"
|
|
533
|
+
design:
|
|
534
|
+
plate: { w: 520, h: 110, unit: mm, reflective_surface: { w: 510, h: 100 } }
|
|
535
|
+
characters: { w: 45, h: 77, stroke: 10, gap: 14, group_gap: [80, 48], unit: mm }
|
|
536
|
+
background: { color: "#003399", finish: retroreflective, hex_basis: observed, hex_cie_centroid: "#0083FF", spec: azul }
|
|
537
|
+
foreground: "#FFFFFF"
|
|
538
|
+
band: { side: none }
|
|
539
|
+
region_encoding: "organisation prefix — decode table not authored"
|
|
540
|
+
sources:
|
|
541
|
+
- "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII I.B.a).2: organizaciones internacionales — blue retroreflective ground, white matte characters, letters OI + two digit groups"
|
|
542
|
+
notes: >-
|
|
543
|
+
ORGANIZACIONES INTERNACIONALES — blue ground, white characters. CLASS CAVEAT:
|
|
544
|
+
recorded as `diplomatic` because _meta/classes.yml has no
|
|
545
|
+
international-organisation class; the statutory category is its own and its
|
|
546
|
+
prefix series is explicitly separate from (though consecutive with) the
|
|
547
|
+
diplomatic one. Flagged as a vocabulary gap.
|
|
548
|
+
|
|
549
|
+
- id: es-consular-cc-1999
|
|
550
|
+
class: consular
|
|
551
|
+
categories: [car, van, motorcycle]
|
|
552
|
+
period: { start: 1999 }
|
|
553
|
+
period_evidence: instrument-in-force
|
|
554
|
+
format:
|
|
555
|
+
pattern: "CC-999-999"
|
|
556
|
+
regex: '\ACC[- ]\d+[- ]\d+\z'
|
|
557
|
+
pattern_note: "digit-group widths are representative only"
|
|
558
|
+
progression: "group 1 is the prefix of the diplomatic mission the consular office depends on; where there is no such dependency a prefix is assigned to the state itself. Group 2 follows the diplomatic rule, or the head of the consular office's proposal where the office is not attached to an accredited mission."
|
|
559
|
+
design:
|
|
560
|
+
plate: { w: 520, h: 110, unit: mm, reflective_surface: { w: 510, h: 100 } }
|
|
561
|
+
characters: { w: 45, h: 77, stroke: 10, gap: 14, group_gap: [80, 48], unit: mm }
|
|
562
|
+
background: { color: "#007A33", finish: retroreflective, hex_basis: observed, hex_cie_centroid: "#00FFB3", spec: verde }
|
|
563
|
+
foreground: "#FFFFFF"
|
|
564
|
+
band: { side: none }
|
|
565
|
+
region_encoding: "mission prefix — decode table not authored"
|
|
566
|
+
sources:
|
|
567
|
+
- "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII I.B.a).3: oficinas consulares — green retroreflective ground, white matte characters, letters CC + two digit groups; prefix inherited from the parent diplomatic mission"
|
|
568
|
+
notes: >-
|
|
569
|
+
OFICINAS CONSULARES — green ground, white characters. COLLISION WORTH FLAGGING
|
|
570
|
+
for the parse API: "CC" is also the province contraseña for CÁCERES in Anexo
|
|
571
|
+
XVIII II.A, so the string "CC-1234-AB" is a valid provincial car plate while
|
|
572
|
+
"CC-12-345" is consular. Disambiguation is by group structure (4 digits + 1-2
|
|
573
|
+
letters vs two digit groups), not by prefix.
|
|
574
|
+
|
|
575
|
+
- id: es-diplomatic-staff-ta-1999
|
|
576
|
+
class: diplomatic
|
|
577
|
+
categories: [car, van, motorcycle]
|
|
578
|
+
period: { start: 1999 }
|
|
579
|
+
period_evidence: instrument-in-force
|
|
580
|
+
format:
|
|
581
|
+
pattern: "TA-999-999"
|
|
582
|
+
regex: '\ATA[- ]\d+[- ]\d+\z'
|
|
583
|
+
pattern_note: "digit-group widths are representative only"
|
|
584
|
+
progression: "group 1 identifies the diplomatic mission, international organisation or consular office; group 2 is a serial among that body's technical-administrative staff, on its proposal"
|
|
585
|
+
design:
|
|
586
|
+
plate: { w: 520, h: 110, unit: mm, reflective_surface: { w: 510, h: 100 } }
|
|
587
|
+
characters: { w: 45, h: 77, stroke: 10, gap: 14, group_gap: [80, 48], unit: mm }
|
|
588
|
+
background: { color: "#F9B700", finish: retroreflective, hex_basis: observed, hex_cie_centroid: "#FFC000", spec: amarillo }
|
|
589
|
+
foreground: "#000000"
|
|
590
|
+
band: { side: none }
|
|
591
|
+
region_encoding: "body prefix — decode table not authored"
|
|
592
|
+
sources:
|
|
593
|
+
- "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII I.B.a).4: personal técnico-administrativo — yellow retroreflective ground, black matte characters, letters TA + two digit groups"
|
|
594
|
+
notes: >-
|
|
595
|
+
PERSONAL TÉCNICO-ADMINISTRATIVO of missions, international organisations and
|
|
596
|
+
consular offices — yellow ground, black characters. RGV transitional provision
|
|
597
|
+
three preserved existing matrícula turística permits held by this staff until
|
|
598
|
+
their validity expired, which is the documented bridge from the pre-1999
|
|
599
|
+
arrangement.
|
|
600
|
+
|
|
601
|
+
- id: es-military-1999
|
|
602
|
+
class: military
|
|
603
|
+
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
604
|
+
period: { start: 1999 }
|
|
605
|
+
period_evidence: instrument-in-force
|
|
606
|
+
format:
|
|
607
|
+
pattern: "ET-999999"
|
|
608
|
+
regex: '\A(?:ET|FN|EA)[- ]\d+(?:-VE)?\z'
|
|
609
|
+
pattern_note: "digit width is representative only — Anexo XVIII II.B lists the contraseñas but states no numbering grammar"
|
|
610
|
+
charset: { contraseñas: { ET: "Ejército de Tierra", FN: "Armada", EA: "Ejército del Aire" }, suffix: "special vehicles append '-VE' after a hyphen" }
|
|
611
|
+
design:
|
|
612
|
+
band: { side: none }
|
|
613
|
+
note: >-
|
|
614
|
+
Anexo XVIII II.B lists the contraseñas ONLY — it prescribes no colours and no
|
|
615
|
+
dimensions for state plates, and section I (Colores e inscripciones) does not
|
|
616
|
+
cover them. Colours are therefore deliberately ABSENT here rather than
|
|
617
|
+
guessed; recorded gap.
|
|
618
|
+
region_encoding: none
|
|
619
|
+
sources:
|
|
620
|
+
- "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII II.B: 'ET, FN y EA: Para vehículos pertenecientes al Ministerio de Defensa, correspondientes, respectivamente al Ejército de Tierra, Armada y Ejército del Aire' and the '-VE' rule for vehículos especiales"
|
|
621
|
+
notes: >-
|
|
622
|
+
MINISTRY OF DEFENCE fleets — Army (ET), Navy (FN), Air Force (EA). One series
|
|
623
|
+
because Anexo XVIII II.B treats the three contraseñas in a single provision
|
|
624
|
+
with a single numbering rule; the branch is decodable from the contraseña.
|
|
625
|
+
Colours and dimensions are NOT in Anexo XVIII for state plates and are not
|
|
626
|
+
invented here.
|
|
627
|
+
|
|
628
|
+
- id: es-nato-fae-1999
|
|
629
|
+
class: military
|
|
630
|
+
categories: [car, van, truck, bus]
|
|
631
|
+
period: { start: 1999 }
|
|
632
|
+
period_evidence: instrument-in-force
|
|
633
|
+
format:
|
|
634
|
+
pattern: "FAE-999999"
|
|
635
|
+
regex: '\AFAE[- ]\d+(?:-VE)?\z'
|
|
636
|
+
pattern_note: "digit width representative only"
|
|
637
|
+
design:
|
|
638
|
+
band: { side: none }
|
|
639
|
+
note: "no colour or dimension specified in Anexo XVIII II.B — recorded gap"
|
|
640
|
+
region_encoding: none
|
|
641
|
+
sources:
|
|
642
|
+
- "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII II.B: 'FAE: Para los vehículos al servicio de los Cuarteles Generales Militares Internacionales de la OTAN matriculados en España'"
|
|
643
|
+
notes: >-
|
|
644
|
+
NATO INTERNATIONAL MILITARY HEADQUARTERS registered in Spain. The Spanish
|
|
645
|
+
counterpart of Germany's "X" Unterscheidungszeichen (FZV Anlage 2), and worth
|
|
646
|
+
pairing with it when the encyclopedia covers NATO-status vehicles.
|
|
647
|
+
|
|
648
|
+
- id: es-government-1999
|
|
649
|
+
class: government
|
|
650
|
+
categories: [car, van, truck, bus]
|
|
651
|
+
period: { start: 1999 }
|
|
652
|
+
period_evidence: instrument-in-force
|
|
653
|
+
format:
|
|
654
|
+
pattern: "PME-999999"
|
|
655
|
+
regex: '\A(?:PME|MF|MMA)[- ]\d+(?:-VE)?\z'
|
|
656
|
+
pattern_note: "digit width representative only"
|
|
657
|
+
charset: { contraseñas: { PME: "Parque Móvil del Estado", MF: "Parque del Ministerio de Fomento", MMA: "Parque del Ministerio de Medio Ambiente" } }
|
|
658
|
+
design:
|
|
659
|
+
band: { side: none }
|
|
660
|
+
note: "no colour or dimension specified in Anexo XVIII II.B — recorded gap"
|
|
661
|
+
region_encoding: none
|
|
662
|
+
sources:
|
|
663
|
+
- "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII II.B: MF, MMA and PME contraseñas"
|
|
664
|
+
notes: >-
|
|
665
|
+
CENTRAL GOVERNMENT FLEETS. PERIOD-ROT WARNING for the decode discipline
|
|
666
|
+
PRD-PLATES §9 calls out: MF (Ministerio de Fomento) and MMA (Ministerio de
|
|
667
|
+
Medio Ambiente) name ministries that have since been reorganised and renamed,
|
|
668
|
+
yet the consolidated Anexo XVIII still lists them. The codes are current law;
|
|
669
|
+
the ministry names behind them are not current fact. Recorded as-enacted.
|
|
670
|
+
|
|
671
|
+
- id: es-police-1999
|
|
672
|
+
class: police
|
|
673
|
+
categories: [car, van, truck, motorcycle]
|
|
674
|
+
period: { start: 1999 }
|
|
675
|
+
period_evidence: instrument-in-force
|
|
676
|
+
format:
|
|
677
|
+
pattern: "CNP-999999"
|
|
678
|
+
regex: '\A(?:CNP|PGC)[- ]\d+(?:-VE)?\z'
|
|
679
|
+
pattern_note: "digit width representative only"
|
|
680
|
+
charset: { contraseñas: { CNP: "Cuerpo Nacional de Policía", PGC: "Cuerpo de la Guardia Civil" } }
|
|
681
|
+
design:
|
|
682
|
+
band: { side: none }
|
|
683
|
+
note: "no colour or dimension specified in Anexo XVIII II.B — recorded gap"
|
|
684
|
+
region_encoding: none
|
|
685
|
+
sources:
|
|
686
|
+
- "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII II.B: CNP and PGC, both under the Dirección General de la Policía y de la Guardia Civil"
|
|
687
|
+
notes: >-
|
|
688
|
+
NATIONAL POLICE (CNP) and GUARDIA CIVIL (PGC). Note that RGV Art. 27.5 lets
|
|
689
|
+
an autonomous community's police force use plates "con una contraseña y
|
|
690
|
+
numeración propias" within that community, in addition to ordinary
|
|
691
|
+
registration — so autonomous-community police codes exist OUTSIDE Anexo XVIII
|
|
692
|
+
and are a recorded gap for L1 (Ertzaintza, Mossos d'Esquadra, Policía Foral).
|