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
|
@@ -0,0 +1,614 @@
|
|
|
1
|
+
# plates/_decode/cn-provinces.yml — the leading Han character of a Chinese
|
|
2
|
+
# registration number: 省、自治区、直辖市简称, the abbreviation of the province,
|
|
3
|
+
# autonomous region or directly-administered municipality.
|
|
4
|
+
#
|
|
5
|
+
# THE SOURCE FINDING, and it is the same one that makes
|
|
6
|
+
# plates/_decode/cn-issuing-offices.yml possible: THE LIST IS INSIDE THE
|
|
7
|
+
# STANDARD, AND ONE EDITION OF THE STANDARD IS READABLE. GA 36
|
|
8
|
+
# 《中华人民共和国机动车号牌》 is the mandatory public-security industry standard
|
|
9
|
+
# that defines Chinese plates. The CURRENT edition, GA 36-2018, is registered
|
|
10
|
+
# (发布 2018-04-20, 实施 2018-05-01, 代替 GA 36-2014) and its TEXT IS WITHHELD —
|
|
11
|
+
# the register's own reader answers "您所查询的标准在本系统尚未公开,不公开理由
|
|
12
|
+
# 如下:无". The immediately preceding edition GA 36-2007 (发布 2007-09-28,
|
|
13
|
+
# 实施 2007-11-01, 代替 GA 36-1992) is republished IN FULL by a Chinese
|
|
14
|
+
# municipal government, 巩义市人民政府 (www.hngy.gov.cn, 2012-11-15), and that
|
|
15
|
+
# copy survives in the Internet Archive. Every row below is
|
|
16
|
+
# GA 36-2007 § 5.7 表 2《省、自治区、直辖市简称》, read off that copy.
|
|
17
|
+
#
|
|
18
|
+
# § 5.7, verbatim and complete: "省、自治区、直辖市的简称应符合表2的要求。"
|
|
19
|
+
# ("The abbreviations of provinces, autonomous regions and municipalities shall
|
|
20
|
+
# conform to the requirements of Table 2." — translation ours; the Chinese is
|
|
21
|
+
# the sourced text.) Table 2 is printed in two columns of numbered rows, 1 to
|
|
22
|
+
# 31, each row 序号 / 地区名称 / 简称. The rows below are in TABLE 2's OWN
|
|
23
|
+
# NUMBERING, recovered by parsing the two interleaved columns and sorting on
|
|
24
|
+
# 序号 — they are NOT re-ordered alphabetically and NOT taken from any
|
|
25
|
+
# encyclopaedia.
|
|
26
|
+
#
|
|
27
|
+
# NOTHING HERE WAS TYPED BY HAND THAT COULD HAVE BEEN PARSED. The characters,
|
|
28
|
+
# the subdivision names and the row numbers were extracted mechanically from
|
|
29
|
+
# the archived GA 36-2007 text (which is GB18030-encoded and mis-declares
|
|
30
|
+
# itself as UTF-8 — decode it as GB18030 or you will get mojibake and think the
|
|
31
|
+
# page is broken); the codepoints were computed with `ch.ord`. The only
|
|
32
|
+
# hand-added columns are ISO 3166-2, GB/T 2260, pinyin, the English name and
|
|
33
|
+
# the customary-alternate flags.
|
|
34
|
+
#
|
|
35
|
+
# ============================================================================
|
|
36
|
+
# WHY THIS IS A DECODE FILE AND NOT PART OF A REGEX
|
|
37
|
+
# ============================================================================
|
|
38
|
+
# plates/_meta/separators.yml fixes the dataset's serial alphabet, normatively
|
|
39
|
+
# and dataset-wide, as "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", and
|
|
40
|
+
# scripts/lint_plates.rb enforces it on every pattern and regex. A Chinese mark
|
|
41
|
+
# opens with a Han character, and — unlike the Greek case (plates/gr.yml),
|
|
42
|
+
# where Α U+0391 and A U+0041 are the same picture and the Latin form is
|
|
43
|
+
# lossless — there is NO Latin form of 京. "jing" is a reading, not a glyph;
|
|
44
|
+
# no plate, no registry and no ANPR camera ever emits it. So the Han elements
|
|
45
|
+
# are modelled as DATA here and in plates/cn.yml's `format.han`, and the
|
|
46
|
+
# regexes match the Latin-and-digit remainder. plates/cn.yml's header states
|
|
47
|
+
# that division once for the whole jurisdiction.
|
|
48
|
+
#
|
|
49
|
+
# ============================================================================
|
|
50
|
+
# THE TRAP: SIX SUBDIVISIONS HAVE TWO CUSTOMARY ABBREVIATIONS AND TABLE 2
|
|
51
|
+
# PICKS ONE
|
|
52
|
+
# ============================================================================
|
|
53
|
+
# 中国政府网's own 《中华人民共和国行政区划》 page says the abbreviations are
|
|
54
|
+
# customary rather than statutory — "在历史上和习惯上,各省级行政区都有简称"
|
|
55
|
+
# ("historically and by custom, every provincial-level administrative division
|
|
56
|
+
# has an abbreviation") — and custom produced doublets. Table 2 chose:
|
|
57
|
+
#
|
|
58
|
+
# 四川省 川 (Table 2) / 蜀 贵州省 贵 (Table 2) / 黔
|
|
59
|
+
# 云南省 云 (Table 2) / 滇 陕西省 陕 (Table 2) / 秦
|
|
60
|
+
# 甘肃省 甘 (Table 2) / 陇 上海市 沪 (Table 2) / 申
|
|
61
|
+
#
|
|
62
|
+
# A consumer that decodes 蜀, 黔, 滇, 秦, 陇 or 申 as a plate prefix is decoding
|
|
63
|
+
# a character no plate carries. Each is recorded on its row as
|
|
64
|
+
# `customary_alternate_not_on_plates` so the wrong answer cannot be reached
|
|
65
|
+
# from this file and the right one is stated. Note what this costs: the plate
|
|
66
|
+
# character is NOT always the character a Chinese speaker would reach for
|
|
67
|
+
# first, and a translation pipeline that maps 简称 to province by dictionary
|
|
68
|
+
# rather than by this table will disagree with the road.
|
|
69
|
+
#
|
|
70
|
+
# ============================================================================
|
|
71
|
+
# PERIOD DISCIPLINE (PRD-PLATES § 2.4) — ONE ROW IS YOUNGER THAN THE OTHERS
|
|
72
|
+
# ============================================================================
|
|
73
|
+
# GA 36-2007's 前言 lists, among the changes that edition made to GA 36-1992,
|
|
74
|
+
# verbatim: "――增加了重庆的简称;" and "――增加了"渝"、"港"、"澳"、"使"、"警"、
|
|
75
|
+
# "超"等省、自治区、直辖市简称及号牌分类用汉字;" — the 2007 edition ADDED
|
|
76
|
+
# Chongqing's abbreviation 渝, together with the classification characters 港,
|
|
77
|
+
# 澳, 使, 警 and 超. That is exactly what the administrative history predicts:
|
|
78
|
+
# Chongqing was separated from Sichuan and made a directly-administered
|
|
79
|
+
# municipality in 1997, five years after GA 36-1992, so 渝 could not have been
|
|
80
|
+
# in the 1992 table. It is the ONLY row in this file with a different start
|
|
81
|
+
# year, and it is dated on the standard's own foreword rather than on the
|
|
82
|
+
# constitutional change.
|
|
83
|
+
#
|
|
84
|
+
# The other 30 rows run from GA 36-1992 — `period.start: 1992` on this file —
|
|
85
|
+
# and none has been withdrawn: no provincial-level division has been created,
|
|
86
|
+
# merged or abolished since 1997, and the 2014 and 2018 editions' change lists
|
|
87
|
+
# are not public, so no row here can be shown to have changed after 2007.
|
|
88
|
+
jurisdiction: cn
|
|
89
|
+
topic: provinces
|
|
90
|
+
authority:
|
|
91
|
+
name: 公安部 (Ministry of Public Security) — GA 36 《中华人民共和国机动车号牌》 § 5.7 表 2;技术归口 公安部道路交通管理标准化技术委员会
|
|
92
|
+
url: "https://hbba.sacinfo.org.cn/stdDetail/328b77ee80fdee1dee33d20e83d01d2ad128f380aa93c7dbe5c58c67d9d2075e"
|
|
93
|
+
sources:
|
|
94
|
+
- "https://web.archive.org/web/20150701102419/http://www.hngy.gov.cn/sitepublish/site1/wsbs/lyfwzl/jtfw/jdc/jdcfw/content_25106.html # GA 36-2007 《中华人民共和国机动车号牌》 FULL TEXT as republished by 巩义市人民政府 (published 2012-11-15): § 5.7 and 表 2 省、自治区、直辖市简称 — all 31 rows below, in the table's own 序号 order; § 5.10 号牌分类用汉字 — the classification characters listed under `classification_han`; § 5.11 间隔符; the 前言 change list carrying the 渝 addition. Note the page is GB18030 mis-declared as UTF-8. Accessed 2026-08-02"
|
|
95
|
+
- "https://hbba.sacinfo.org.cn/stdDetail/12b7710b682f0e13dfc423a325751920 # 全国标准信息公共服务平台 register entry for GA 36-2007: 发布 2007-09-28, 实施 2007-11-01, 代替 GA 36-1992, 状态 废止 — the provenance of the text above, and the evidence that GA 36-1992 existed. Accessed 2026-08-02"
|
|
96
|
+
- "https://hbba.sacinfo.org.cn/stdDetail/328b77ee80fdee1dee33d20e83d01d2ad128f380aa93c7dbe5c58c67d9d2075e # register entry for the CURRENT GA 36-2018: 发布 2018-04-20, 实施 2018-05-01, 代替 GA 36-2014. Metadata only — the text is withheld ('尚未公开'), so this table cannot be re-verified against the edition actually in force. Accessed 2026-08-02"
|
|
97
|
+
- "https://web.archive.org/web/20240222001221/https://www.gov.cn/test/2005-06/15/content_18253.htm # 中国政府网 《中华人民共和国行政区划》: the 34 provincial-level divisions and, verbatim, '在历史上和习惯上,各省级行政区都有简称' — the abbreviations are CUSTOMARY, which is why they live in a public-security standard and in no statute. Live URL 404s; read from the Internet Archive. Accessed 2026-08-02"
|
|
98
|
+
- "https://www.gov.cn/zhengce/content/2018-12/11/content_5347765.htm # 国办发〔2018〕114号 附件 一(一): the worked examples '京·12345应急' and '京·X2345应急', glossing the second as 北京市应急管理部门 — an independent instrument showing a Table 2 character IN USE on a plate with its subdivision named. Accessed 2026-08-02"
|
|
99
|
+
period: { start: 1992 }
|
|
100
|
+
period_evidence: enabling-instrument
|
|
101
|
+
period_note: >-
|
|
102
|
+
1992 is GA 36-1992, the edition that created the 92-pattern mark this table
|
|
103
|
+
belongs to; its existence is evidenced by GA 36-2007's 前言 ("本标准代替
|
|
104
|
+
GA36-1992") and by the register's 代替标准 field, and no 发布/实施 date for it
|
|
105
|
+
could be pinned because it predates the industry-standard filing database.
|
|
106
|
+
ONE ROW IS YOUNGER: 渝 (Chongqing) was added by the 2007 edition and carries
|
|
107
|
+
`row_period_start: 2007` with the foreword quoted on it. The widely repeated
|
|
108
|
+
claim that the 92-pattern was trialled in 1992 and rolled out nationwide in
|
|
109
|
+
July 1994 is NOT asserted here or in plates/cn.yml — see the dossier's
|
|
110
|
+
folklore section.
|
|
111
|
+
decode_direction: "leading Han character -> the provincial-level division whose vehicle-management office issued the mark"
|
|
112
|
+
split_note: >-
|
|
113
|
+
FIXED WIDTH, AND THE CLEANEST SPLIT IN THIS DATASET. The province character
|
|
114
|
+
is always exactly ONE character and always the FIRST character of the mark,
|
|
115
|
+
immediately followed by the single Latin issuing-office letter. A consumer
|
|
116
|
+
takes `mark[0]`, looks it up here, and hands the remainder to
|
|
117
|
+
plates/cn.yml's regexes — there is no greedy-match problem and no ambiguity
|
|
118
|
+
with the Latin tail, because the two alphabets are disjoint by construction.
|
|
119
|
+
TWO EXCEPTIONS, both instrument-sourced and both recorded below in
|
|
120
|
+
`classification_han`: the embassy mark opens with 使 instead of a province
|
|
121
|
+
character (GA 36-2007 § 5.10), and the emergency-rescue MOTORCYCLE mark opens
|
|
122
|
+
with the two-character pair 应急 before its province character
|
|
123
|
+
(国办发〔2018〕114号 附件 一(二)).
|
|
124
|
+
scope_note: >-
|
|
125
|
+
HONG KONG, MACAU AND TAIWAN HAVE NO ROW, and their absence is the standard's,
|
|
126
|
+
not ours: Table 2 has exactly 31 rows and stops at 新疆维吾尔自治区. 港 and 澳
|
|
127
|
+
DO appear in GA 36-2007 — but as CLASSIFICATION characters under § 5.10, on
|
|
128
|
+
the mainland-side plate a Hong Kong or Macau cross-boundary vehicle carries,
|
|
129
|
+
not as province prefixes. They are recorded under `classification_han` for
|
|
130
|
+
that reason, and Hong Kong (ISO 3166-1 HK) and Macau (MO) are separate
|
|
131
|
+
jurisdictions in this dataset with their own files.
|
|
132
|
+
|
|
133
|
+
# ---------------------------------------------------------------------------
|
|
134
|
+
# GA 36-2007 § 5.7 表 2《省、自治区、直辖市简称》 — all 31 rows, in the
|
|
135
|
+
# table's own 序号 order. Characters, names and row numbers parsed from the
|
|
136
|
+
# archived instrument text; codepoints computed with ch.ord.
|
|
137
|
+
# ---------------------------------------------------------------------------
|
|
138
|
+
rows:
|
|
139
|
+
- table2_row: 1
|
|
140
|
+
char: "京"
|
|
141
|
+
codepoint: "U+4EAC"
|
|
142
|
+
pinyin: jing
|
|
143
|
+
subdivision_zh: "北京市"
|
|
144
|
+
subdivision_en: "Beijing Municipality"
|
|
145
|
+
subdivision_type: municipality
|
|
146
|
+
iso_3166_2: CN-BJ
|
|
147
|
+
gbt_2260: "110000"
|
|
148
|
+
- table2_row: 2
|
|
149
|
+
char: "津"
|
|
150
|
+
codepoint: "U+6D25"
|
|
151
|
+
pinyin: jin
|
|
152
|
+
subdivision_zh: "天津市"
|
|
153
|
+
subdivision_en: "Tianjin Municipality"
|
|
154
|
+
subdivision_type: municipality
|
|
155
|
+
iso_3166_2: CN-TJ
|
|
156
|
+
gbt_2260: "120000"
|
|
157
|
+
- table2_row: 3
|
|
158
|
+
char: "冀"
|
|
159
|
+
codepoint: "U+5180"
|
|
160
|
+
pinyin: ji
|
|
161
|
+
subdivision_zh: "河北省"
|
|
162
|
+
subdivision_en: "Hebei Province"
|
|
163
|
+
subdivision_type: province
|
|
164
|
+
iso_3166_2: CN-HE
|
|
165
|
+
gbt_2260: "130000"
|
|
166
|
+
- table2_row: 4
|
|
167
|
+
char: "晋"
|
|
168
|
+
codepoint: "U+664B"
|
|
169
|
+
pinyin: jin
|
|
170
|
+
subdivision_zh: "山西省"
|
|
171
|
+
subdivision_en: "Shanxi Province"
|
|
172
|
+
subdivision_type: province
|
|
173
|
+
iso_3166_2: CN-SX
|
|
174
|
+
gbt_2260: "140000"
|
|
175
|
+
- table2_row: 5
|
|
176
|
+
char: "蒙"
|
|
177
|
+
codepoint: "U+8499"
|
|
178
|
+
pinyin: meng
|
|
179
|
+
subdivision_zh: "内蒙古自治区"
|
|
180
|
+
subdivision_en: "Inner Mongolia Autonomous Region"
|
|
181
|
+
subdivision_type: autonomous-region
|
|
182
|
+
iso_3166_2: CN-NM
|
|
183
|
+
gbt_2260: "150000"
|
|
184
|
+
- table2_row: 6
|
|
185
|
+
char: "辽"
|
|
186
|
+
codepoint: "U+8FBD"
|
|
187
|
+
pinyin: liao
|
|
188
|
+
subdivision_zh: "辽宁省"
|
|
189
|
+
subdivision_en: "Liaoning Province"
|
|
190
|
+
subdivision_type: province
|
|
191
|
+
iso_3166_2: CN-LN
|
|
192
|
+
gbt_2260: "210000"
|
|
193
|
+
- table2_row: 7
|
|
194
|
+
char: "吉"
|
|
195
|
+
codepoint: "U+5409"
|
|
196
|
+
pinyin: ji
|
|
197
|
+
subdivision_zh: "吉林省"
|
|
198
|
+
subdivision_en: "Jilin Province"
|
|
199
|
+
subdivision_type: province
|
|
200
|
+
iso_3166_2: CN-JL
|
|
201
|
+
gbt_2260: "220000"
|
|
202
|
+
- table2_row: 8
|
|
203
|
+
char: "黑"
|
|
204
|
+
codepoint: "U+9ED1"
|
|
205
|
+
pinyin: hei
|
|
206
|
+
subdivision_zh: "黑龙江省"
|
|
207
|
+
subdivision_en: "Heilongjiang Province"
|
|
208
|
+
subdivision_type: province
|
|
209
|
+
iso_3166_2: CN-HL
|
|
210
|
+
gbt_2260: "230000"
|
|
211
|
+
- table2_row: 9
|
|
212
|
+
char: "沪"
|
|
213
|
+
codepoint: "U+6CAA"
|
|
214
|
+
pinyin: hu
|
|
215
|
+
subdivision_zh: "上海市"
|
|
216
|
+
subdivision_en: "Shanghai Municipality"
|
|
217
|
+
subdivision_type: municipality
|
|
218
|
+
iso_3166_2: CN-SH
|
|
219
|
+
gbt_2260: "310000"
|
|
220
|
+
customary_alternate_not_on_plates:
|
|
221
|
+
- { char: "申", codepoint: "U+7533" }
|
|
222
|
+
- table2_row: 10
|
|
223
|
+
char: "苏"
|
|
224
|
+
codepoint: "U+82CF"
|
|
225
|
+
pinyin: su
|
|
226
|
+
subdivision_zh: "江苏省"
|
|
227
|
+
subdivision_en: "Jiangsu Province"
|
|
228
|
+
subdivision_type: province
|
|
229
|
+
iso_3166_2: CN-JS
|
|
230
|
+
gbt_2260: "320000"
|
|
231
|
+
- table2_row: 11
|
|
232
|
+
char: "浙"
|
|
233
|
+
codepoint: "U+6D59"
|
|
234
|
+
pinyin: zhe
|
|
235
|
+
subdivision_zh: "浙江省"
|
|
236
|
+
subdivision_en: "Zhejiang Province"
|
|
237
|
+
subdivision_type: province
|
|
238
|
+
iso_3166_2: CN-ZJ
|
|
239
|
+
gbt_2260: "330000"
|
|
240
|
+
- table2_row: 12
|
|
241
|
+
char: "皖"
|
|
242
|
+
codepoint: "U+7696"
|
|
243
|
+
pinyin: wan
|
|
244
|
+
subdivision_zh: "安徽省"
|
|
245
|
+
subdivision_en: "Anhui Province"
|
|
246
|
+
subdivision_type: province
|
|
247
|
+
iso_3166_2: CN-AH
|
|
248
|
+
gbt_2260: "340000"
|
|
249
|
+
- table2_row: 13
|
|
250
|
+
char: "闽"
|
|
251
|
+
codepoint: "U+95FD"
|
|
252
|
+
pinyin: min
|
|
253
|
+
subdivision_zh: "福建省"
|
|
254
|
+
subdivision_en: "Fujian Province"
|
|
255
|
+
subdivision_type: province
|
|
256
|
+
iso_3166_2: CN-FJ
|
|
257
|
+
gbt_2260: "350000"
|
|
258
|
+
- table2_row: 14
|
|
259
|
+
char: "赣"
|
|
260
|
+
codepoint: "U+8D63"
|
|
261
|
+
pinyin: gan
|
|
262
|
+
subdivision_zh: "江西省"
|
|
263
|
+
subdivision_en: "Jiangxi Province"
|
|
264
|
+
subdivision_type: province
|
|
265
|
+
iso_3166_2: CN-JX
|
|
266
|
+
gbt_2260: "360000"
|
|
267
|
+
- table2_row: 15
|
|
268
|
+
char: "鲁"
|
|
269
|
+
codepoint: "U+9C81"
|
|
270
|
+
pinyin: lu
|
|
271
|
+
subdivision_zh: "山东省"
|
|
272
|
+
subdivision_en: "Shandong Province"
|
|
273
|
+
subdivision_type: province
|
|
274
|
+
iso_3166_2: CN-SD
|
|
275
|
+
gbt_2260: "370000"
|
|
276
|
+
- table2_row: 16
|
|
277
|
+
char: "豫"
|
|
278
|
+
codepoint: "U+8C6B"
|
|
279
|
+
pinyin: yu
|
|
280
|
+
subdivision_zh: "河南省"
|
|
281
|
+
subdivision_en: "Henan Province"
|
|
282
|
+
subdivision_type: province
|
|
283
|
+
iso_3166_2: CN-HA
|
|
284
|
+
gbt_2260: "410000"
|
|
285
|
+
- table2_row: 17
|
|
286
|
+
char: "鄂"
|
|
287
|
+
codepoint: "U+9102"
|
|
288
|
+
pinyin: e
|
|
289
|
+
subdivision_zh: "湖北省"
|
|
290
|
+
subdivision_en: "Hubei Province"
|
|
291
|
+
subdivision_type: province
|
|
292
|
+
iso_3166_2: CN-HB
|
|
293
|
+
gbt_2260: "420000"
|
|
294
|
+
- table2_row: 18
|
|
295
|
+
char: "湘"
|
|
296
|
+
codepoint: "U+6E58"
|
|
297
|
+
pinyin: xiang
|
|
298
|
+
subdivision_zh: "湖南省"
|
|
299
|
+
subdivision_en: "Hunan Province"
|
|
300
|
+
subdivision_type: province
|
|
301
|
+
iso_3166_2: CN-HN
|
|
302
|
+
gbt_2260: "430000"
|
|
303
|
+
- table2_row: 19
|
|
304
|
+
char: "粤"
|
|
305
|
+
codepoint: "U+7CA4"
|
|
306
|
+
pinyin: yue
|
|
307
|
+
subdivision_zh: "广东省"
|
|
308
|
+
subdivision_en: "Guangdong Province"
|
|
309
|
+
subdivision_type: province
|
|
310
|
+
iso_3166_2: CN-GD
|
|
311
|
+
gbt_2260: "440000"
|
|
312
|
+
- table2_row: 20
|
|
313
|
+
char: "桂"
|
|
314
|
+
codepoint: "U+6842"
|
|
315
|
+
pinyin: gui
|
|
316
|
+
subdivision_zh: "广西壮族自治区"
|
|
317
|
+
subdivision_en: "Guangxi Zhuang Autonomous Region"
|
|
318
|
+
subdivision_type: autonomous-region
|
|
319
|
+
iso_3166_2: CN-GX
|
|
320
|
+
gbt_2260: "450000"
|
|
321
|
+
- table2_row: 21
|
|
322
|
+
char: "琼"
|
|
323
|
+
codepoint: "U+743C"
|
|
324
|
+
pinyin: qiong
|
|
325
|
+
subdivision_zh: "海南省"
|
|
326
|
+
subdivision_en: "Hainan Province"
|
|
327
|
+
subdivision_type: province
|
|
328
|
+
iso_3166_2: CN-HI
|
|
329
|
+
gbt_2260: "460000"
|
|
330
|
+
- table2_row: 22
|
|
331
|
+
char: "渝"
|
|
332
|
+
codepoint: "U+6E1D"
|
|
333
|
+
pinyin: yu
|
|
334
|
+
subdivision_zh: "重庆市"
|
|
335
|
+
subdivision_en: "Chongqing Municipality"
|
|
336
|
+
subdivision_type: municipality
|
|
337
|
+
iso_3166_2: CN-CQ
|
|
338
|
+
gbt_2260: "500000"
|
|
339
|
+
row_period_start: 2007
|
|
340
|
+
row_period_note: "GA 36-2007 前言, verbatim: “――增加了重庆的简称;” — 渝 was ADDED by the 2007 edition, which is what the administrative history predicts: Chongqing was separated from Sichuan and made a directly-administered municipality in 1997, five years after GA 36-1992. The only row in this table with a start year of its own."
|
|
341
|
+
- table2_row: 23
|
|
342
|
+
char: "川"
|
|
343
|
+
codepoint: "U+5DDD"
|
|
344
|
+
pinyin: chuan
|
|
345
|
+
subdivision_zh: "四川省"
|
|
346
|
+
subdivision_en: "Sichuan Province"
|
|
347
|
+
subdivision_type: province
|
|
348
|
+
iso_3166_2: CN-SC
|
|
349
|
+
gbt_2260: "510000"
|
|
350
|
+
customary_alternate_not_on_plates:
|
|
351
|
+
- { char: "蜀", codepoint: "U+8700" }
|
|
352
|
+
- table2_row: 24
|
|
353
|
+
char: "贵"
|
|
354
|
+
codepoint: "U+8D35"
|
|
355
|
+
pinyin: gui
|
|
356
|
+
subdivision_zh: "贵州省"
|
|
357
|
+
subdivision_en: "Guizhou Province"
|
|
358
|
+
subdivision_type: province
|
|
359
|
+
iso_3166_2: CN-GZ
|
|
360
|
+
gbt_2260: "520000"
|
|
361
|
+
customary_alternate_not_on_plates:
|
|
362
|
+
- { char: "黔", codepoint: "U+9ED4" }
|
|
363
|
+
- table2_row: 25
|
|
364
|
+
char: "云"
|
|
365
|
+
codepoint: "U+4E91"
|
|
366
|
+
pinyin: yun
|
|
367
|
+
subdivision_zh: "云南省"
|
|
368
|
+
subdivision_en: "Yunnan Province"
|
|
369
|
+
subdivision_type: province
|
|
370
|
+
iso_3166_2: CN-YN
|
|
371
|
+
gbt_2260: "530000"
|
|
372
|
+
customary_alternate_not_on_plates:
|
|
373
|
+
- { char: "滇", codepoint: "U+6EC7" }
|
|
374
|
+
- table2_row: 26
|
|
375
|
+
char: "藏"
|
|
376
|
+
codepoint: "U+85CF"
|
|
377
|
+
pinyin: zang
|
|
378
|
+
subdivision_zh: "西藏自治区"
|
|
379
|
+
subdivision_en: "Xizang (Tibet) Autonomous Region"
|
|
380
|
+
subdivision_type: autonomous-region
|
|
381
|
+
iso_3166_2: CN-XZ
|
|
382
|
+
gbt_2260: "540000"
|
|
383
|
+
- table2_row: 27
|
|
384
|
+
char: "陕"
|
|
385
|
+
codepoint: "U+9655"
|
|
386
|
+
pinyin: shan
|
|
387
|
+
subdivision_zh: "陕西省"
|
|
388
|
+
subdivision_en: "Shaanxi Province"
|
|
389
|
+
subdivision_type: province
|
|
390
|
+
iso_3166_2: CN-SN
|
|
391
|
+
gbt_2260: "610000"
|
|
392
|
+
customary_alternate_not_on_plates:
|
|
393
|
+
- { char: "秦", codepoint: "U+79E6" }
|
|
394
|
+
- table2_row: 28
|
|
395
|
+
char: "甘"
|
|
396
|
+
codepoint: "U+7518"
|
|
397
|
+
pinyin: gan
|
|
398
|
+
subdivision_zh: "甘肃省"
|
|
399
|
+
subdivision_en: "Gansu Province"
|
|
400
|
+
subdivision_type: province
|
|
401
|
+
iso_3166_2: CN-GS
|
|
402
|
+
gbt_2260: "620000"
|
|
403
|
+
customary_alternate_not_on_plates:
|
|
404
|
+
- { char: "陇", codepoint: "U+9647" }
|
|
405
|
+
- table2_row: 29
|
|
406
|
+
char: "青"
|
|
407
|
+
codepoint: "U+9752"
|
|
408
|
+
pinyin: qing
|
|
409
|
+
subdivision_zh: "青海省"
|
|
410
|
+
subdivision_en: "Qinghai Province"
|
|
411
|
+
subdivision_type: province
|
|
412
|
+
iso_3166_2: CN-QH
|
|
413
|
+
gbt_2260: "630000"
|
|
414
|
+
- table2_row: 30
|
|
415
|
+
char: "宁"
|
|
416
|
+
codepoint: "U+5B81"
|
|
417
|
+
pinyin: ning
|
|
418
|
+
subdivision_zh: "宁夏回族自治区"
|
|
419
|
+
subdivision_en: "Ningxia Hui Autonomous Region"
|
|
420
|
+
subdivision_type: autonomous-region
|
|
421
|
+
iso_3166_2: CN-NX
|
|
422
|
+
gbt_2260: "640000"
|
|
423
|
+
- table2_row: 31
|
|
424
|
+
char: "新"
|
|
425
|
+
codepoint: "U+65B0"
|
|
426
|
+
pinyin: xin
|
|
427
|
+
subdivision_zh: "新疆维吾尔自治区"
|
|
428
|
+
subdivision_en: "Xinjiang Uygur Autonomous Region"
|
|
429
|
+
subdivision_type: autonomous-region
|
|
430
|
+
iso_3166_2: CN-XJ
|
|
431
|
+
gbt_2260: "650000"
|
|
432
|
+
|
|
433
|
+
# ---------------------------------------------------------------------------
|
|
434
|
+
# 号牌分类用汉字 — THE CLASSIFICATION CHARACTERS
|
|
435
|
+
#
|
|
436
|
+
# GA 36-2007 § 5.10, verbatim and complete (one sentence, nine clauses):
|
|
437
|
+
#
|
|
438
|
+
# "领馆汽车号牌和摩托车号牌的机动车登记编号中使用汉字简称"领"字;使馆汽车
|
|
439
|
+
# 号牌和摩托车号牌的机动车登记编号中使用汉字简称"使"字;警用汽车号牌和摩托车
|
|
440
|
+
# 号牌的机动车登记编号使用汉字简称"警"字;教练汽车号牌和摩托车号牌的机动车
|
|
441
|
+
# 登记编号中使用汉字简称"学"字;挂车号牌的机动车登记编号使用汉字简称"挂"字;
|
|
442
|
+
# 香港特别行政区入出内地车辆号牌的机动车登记编号使用汉字简称"港"字;澳门
|
|
443
|
+
# 特别行政区入出内地车辆号牌的机动车登记编号使用汉字简称"澳"字;试验车的临时
|
|
444
|
+
# 行驶车号牌的机动车登记编号中使用汉字简称"试"字;特型车的临时行驶车号牌的
|
|
445
|
+
# 机动车登记编号中使用汉字简称"超"字。"
|
|
446
|
+
#
|
|
447
|
+
# Nine characters, each bound to a named plate class by the standard itself.
|
|
448
|
+
# This is the fourth element of GA 36-2007 § 3.2's four-element registration
|
|
449
|
+
# number, and it is why a Chinese mark can be bracketed by Han characters at
|
|
450
|
+
# both ends. The 应急 pair is NOT in this list — it postdates GA 36-2007 by
|
|
451
|
+
# eleven years and comes from a State Council instrument instead.
|
|
452
|
+
#
|
|
453
|
+
# POSITION IS NOT UNIFORM AND § 5.10 DOES NOT STATE IT. The standard says which
|
|
454
|
+
# character each class uses and not where it sits; 使 leads and the rest trail,
|
|
455
|
+
# which is recorded per row from plates/cn.yml's series and flagged where it
|
|
456
|
+
# rests on anything weaker than an instrument.
|
|
457
|
+
# ---------------------------------------------------------------------------
|
|
458
|
+
classification_han:
|
|
459
|
+
- char: "领"
|
|
460
|
+
codepoint: "U+9886"
|
|
461
|
+
pinyin: ling
|
|
462
|
+
position: trailing
|
|
463
|
+
class_zh: 领馆汽车号牌和摩托车号牌
|
|
464
|
+
class_en: "consular post — car and motorcycle plates"
|
|
465
|
+
evidence: enabling-instrument
|
|
466
|
+
row_period_start: 1992
|
|
467
|
+
- char: "使"
|
|
468
|
+
codepoint: "U+4F7F"
|
|
469
|
+
pinyin: shi
|
|
470
|
+
position: leading
|
|
471
|
+
position_note: >-
|
|
472
|
+
THE ONE CLASSIFICATION CHARACTER THAT REPLACES THE PROVINCE CHARACTER
|
|
473
|
+
rather than following the serial: an embassy mark carries no geography at
|
|
474
|
+
all. § 5.10 does not say so in terms; the position is taken from
|
|
475
|
+
GA 36-2007's own 附录 C 号牌效果图 and from plates/cn.yml's embassy series.
|
|
476
|
+
class_zh: 使馆汽车号牌和摩托车号牌
|
|
477
|
+
class_en: "diplomatic mission (embassy) — car and motorcycle plates"
|
|
478
|
+
evidence: enabling-instrument
|
|
479
|
+
row_period_start: 2007
|
|
480
|
+
row_period_note: >-
|
|
481
|
+
GA 36-2007 前言, verbatim: "――增加了"渝"、"港"、"澳"、"使"、"警"、"超"等
|
|
482
|
+
省、自治区、直辖市简称及号牌分类用汉字;" — 使 was ADDED by the 2007
|
|
483
|
+
edition. A pre-2007 embassy mark used a different construction and this
|
|
484
|
+
pass located no primary describing it.
|
|
485
|
+
- char: "警"
|
|
486
|
+
codepoint: "U+8B66"
|
|
487
|
+
pinyin: jing
|
|
488
|
+
position: trailing
|
|
489
|
+
class_zh: 警用汽车号牌和摩托车号牌
|
|
490
|
+
class_en: "police — car and motorcycle plates"
|
|
491
|
+
evidence: enabling-instrument
|
|
492
|
+
row_period_start: 2007
|
|
493
|
+
row_period_note: >-
|
|
494
|
+
Added by the 2007 edition, and the foreword says so twice: the change list
|
|
495
|
+
carries both "――增加了警用汽车号牌和警用摩托车号牌式样;" and the 警
|
|
496
|
+
character in the classification-character line quoted above. The class and
|
|
497
|
+
its character arrived together in GA 36-2007.
|
|
498
|
+
- char: "学"
|
|
499
|
+
codepoint: "U+5B66"
|
|
500
|
+
pinyin: xue
|
|
501
|
+
position: trailing
|
|
502
|
+
class_zh: 教练汽车号牌和摩托车号牌
|
|
503
|
+
class_en: "driving-school (learner) — car and motorcycle plates"
|
|
504
|
+
evidence: enabling-instrument
|
|
505
|
+
row_period_start: 1992
|
|
506
|
+
- char: "挂"
|
|
507
|
+
codepoint: "U+6302"
|
|
508
|
+
pinyin: gua
|
|
509
|
+
position: trailing
|
|
510
|
+
class_zh: 挂车号牌
|
|
511
|
+
class_en: "trailer"
|
|
512
|
+
evidence: enabling-instrument
|
|
513
|
+
row_period_start: 1992
|
|
514
|
+
- char: "港"
|
|
515
|
+
codepoint: "U+6E2F"
|
|
516
|
+
pinyin: gang
|
|
517
|
+
position: trailing
|
|
518
|
+
class_zh: 香港特别行政区入出内地车辆号牌
|
|
519
|
+
class_en: "Hong Kong SAR vehicle entering and leaving the mainland — mainland-side plate"
|
|
520
|
+
evidence: enabling-instrument
|
|
521
|
+
row_period_start: 2007
|
|
522
|
+
row_period_note: "added by the 2007 edition (前言, the same change line as 使 and 警) — which fits: the Hong Kong SAR was established in 1997, after GA 36-1992"
|
|
523
|
+
- char: "澳"
|
|
524
|
+
codepoint: "U+6FB3"
|
|
525
|
+
pinyin: ao
|
|
526
|
+
position: trailing
|
|
527
|
+
class_zh: 澳门特别行政区入出内地车辆号牌
|
|
528
|
+
class_en: "Macau SAR vehicle entering and leaving the mainland — mainland-side plate"
|
|
529
|
+
evidence: enabling-instrument
|
|
530
|
+
row_period_start: 2007
|
|
531
|
+
row_period_note: "added by the 2007 edition; the Macau SAR was established in 1999, after GA 36-1992"
|
|
532
|
+
- char: "试"
|
|
533
|
+
codepoint: "U+8BD5"
|
|
534
|
+
pinyin: shi
|
|
535
|
+
position: trailing
|
|
536
|
+
class_zh: 试验车的临时行驶车号牌
|
|
537
|
+
class_en: "temporary-movement plate for a test vehicle"
|
|
538
|
+
evidence: enabling-instrument
|
|
539
|
+
row_period_start: 1992
|
|
540
|
+
- char: "超"
|
|
541
|
+
codepoint: "U+8D85"
|
|
542
|
+
pinyin: chao
|
|
543
|
+
position: trailing
|
|
544
|
+
class_zh: 特型车的临时行驶车号牌
|
|
545
|
+
class_en: "temporary-movement plate for an over-dimension vehicle"
|
|
546
|
+
evidence: enabling-instrument
|
|
547
|
+
row_period_start: 2007
|
|
548
|
+
row_period_note: "added by the 2007 edition (前言, same change line)"
|
|
549
|
+
- token: "应急"
|
|
550
|
+
chars: ["应", "急"]
|
|
551
|
+
codepoints: ["U+5E94", "U+6025"]
|
|
552
|
+
pinyin: yingji
|
|
553
|
+
position: "trailing on the car plate, LEADING on the motorcycle plate"
|
|
554
|
+
class_zh: 应急救援专用号牌
|
|
555
|
+
class_en: "emergency rescue — national comprehensive fire-and-rescue force"
|
|
556
|
+
evidence: enabling-instrument
|
|
557
|
+
row_period_start: 2018
|
|
558
|
+
row_period_note: >-
|
|
559
|
+
NOT IN GA 36-2007 § 5.10 — it postdates that edition by eleven years and
|
|
560
|
+
arrives from a State Council instrument rather than from the standard.
|
|
561
|
+
国办发〔2018〕114号 附件 一(一), verbatim: "字符共8位,依次为省(自治区、
|
|
562
|
+
直辖市)汉字简称、所属救援队伍代号、四位序号和汉字"应急"组成"; 附件 一(二)
|
|
563
|
+
for the motorcycle: "字符共7位,依次为汉字"应急"、省(自治区、直辖市)汉字
|
|
564
|
+
简称、三位序号和所属救援队伍代号组成". It is the only TWO-character
|
|
565
|
+
classification token in the system and the only one that leads on one
|
|
566
|
+
plate and trails on another.
|
|
567
|
+
source: "https://www.gov.cn/zhengce/content/2018-12/11/content_5347765.htm # 国办发〔2018〕114号, 成文 2018-12-04, 发布 2018-12-11. Accessed 2026-08-02"
|
|
568
|
+
classification_han_source: "https://web.archive.org/web/20150701102419/http://www.hngy.gov.cn/sitepublish/site1/wsbs/lyfwzl/jtfw/jdc/jdcfw/content_25106.html # GA 36-2007 § 5.10 for the nine standard characters and 前言 for the 2007 additions. Accessed 2026-08-02"
|
|
569
|
+
|
|
570
|
+
# ---------------------------------------------------------------------------
|
|
571
|
+
# What this table does NOT decode, said plainly so no consumer assumes it does.
|
|
572
|
+
# ---------------------------------------------------------------------------
|
|
573
|
+
limits:
|
|
574
|
+
not_a_location: >-
|
|
575
|
+
The character names the provincial-level division of the ISSUING vehicle-
|
|
576
|
+
management office, fixed at registration. It is not where the vehicle is,
|
|
577
|
+
not where the keeper lives now, and not where the vehicle was built. A
|
|
578
|
+
Geoguessr-style or insurance use that reads it as a current-location signal
|
|
579
|
+
is reading it wrong, and a parse API must say so.
|
|
580
|
+
not_a_city: >-
|
|
581
|
+
The city lives in the SECOND character — the 发牌机关代号 — and that table
|
|
582
|
+
is plates/_decode/cn-issuing-offices.yml, which is a 2007 snapshot of an
|
|
583
|
+
open allocation (GA 36-2007 § 5.8.3 lets a new code be brought into use at
|
|
584
|
+
any time with MPS approval). Decoding a province from this file is safe;
|
|
585
|
+
decoding a city needs that file and its cautions.
|
|
586
|
+
no_date: >-
|
|
587
|
+
A Chinese mark encodes NO date anywhere. There is no age identifier, no
|
|
588
|
+
six-month letter, no year block — and since 《机动车登记规定》第四十三条
|
|
589
|
+
lets an owner self-compose the serial inside the published rules, even
|
|
590
|
+
serial-order era inference is unsafe. This is the sharpest contrast in the
|
|
591
|
+
dataset with the British mark, which names the six-month period of first
|
|
592
|
+
registration to 2050.
|
|
593
|
+
cross_file_divergences: >-
|
|
594
|
+
RECORDED, NOT AVERAGED (PRD-PLATES § 5.3). Two `row_period_start` values in
|
|
595
|
+
`classification_han` above disagree with the period on the plates/cn.yml
|
|
596
|
+
series that uses the same character, and the disagreement is left standing
|
|
597
|
+
for the verifier rather than reconciled by one file overwriting the other.
|
|
598
|
+
(1) 使 — this file dates it 2007 on GA 36-2007's 前言, which lists 使 among
|
|
599
|
+
the classification characters that edition ADDED; plates/cn.yml dates
|
|
600
|
+
`cn-embassy-car-1992` and `cn-embassy-motorcycle-1992` to 1992 with
|
|
601
|
+
`period_evidence: instrument-in-force`. Both can be true at once — an
|
|
602
|
+
embassy plate almost certainly existed before 2007 in a construction the
|
|
603
|
+
2007 edition then standardised — but nothing secured by either pass proves
|
|
604
|
+
it, and the foreword is the harder evidence. (2) 超 — this file dates it
|
|
605
|
+
2007 on the same foreword line; plates/cn.yml carries it as one of the two
|
|
606
|
+
suffixes on `cn-temporary-travel-1992`, whose other suffix 试 is a 1992
|
|
607
|
+
character. A verifier resolving these should either split the affected
|
|
608
|
+
series or move the starts, and should say which in the PR.
|
|
609
|
+
edition_caveat: >-
|
|
610
|
+
Every row is GA 36-2007's Table 2. GA 36-2014 and GA 36-2018 each reissued
|
|
611
|
+
the standard and neither text is public, so this table cannot be re-verified
|
|
612
|
+
against the edition actually in force. No provincial-level division has been
|
|
613
|
+
created, merged or abolished since 1997, so the risk of a stale row is
|
|
614
|
+
genuinely low — but it is a risk, and it is stated rather than assumed away.
|