This article transcribes the official INFOSIGA-SP data dictionary
(v1.5, 2026-06-16), published by DETRAN-SP, for the
three datasets returned by read_infosiga():
sinistros (confirmed crashes and notifications),
pessoas (victims) and veiculos (vehicles).
Field names, descriptions and category codes remain in Portuguese. The
transcription only normalizes line breaks, list separators and minor
punctuation. dictionary_infosiga(source = "official") opens
the source website.
A Brazilian Portuguese version of this article is also available.
Three notes on reading the tables.
- Click a row (or the arrow) to expand the storage format, the source of the field, the full list of allowed values and any additional notes.
- The Type and Nulls columns
describe the source schema, not necessarily the returned R classes.
processing = "raw"returns every field as character;"typed"parses the documented classes; and the default"clean"mode adds missing-value, factor and flag conversions. See?read_infosigafor the full pipeline. - In the Source field, PC, PM and PRF stand for Polícia Civil, Polícia Militar and Polícia Rodoviária Federal; DETRAN-SP marks fields derived by the Infosiga system itself.
Sinistros (crash records)
One row per confirmed crash or notification, keyed by
id_sinistro (48 variables).
Pessoas (victims)
One row per person involved in a crash, keyed by
id_pessoa and linked to the other datasets by
id_sinistro and id_veiculo (30 variables).
Veículos (vehicles)
One row per vehicle involved in a crash, identified by
id_sinistro and id_veiculo (12 variables).
Coverage and analytical caveats
The source is published as a continuous series from 2015 onward, but its scope has changed. These features come from the published data rather than the import process.
-
Data from 2015–2018 cover fatal crashes only.
Non-fatal records begin in
- For trends that include earlier years, restrict
sinistrostotipo_registro == "SINISTRO FATAL"orpessoastogravidade_lesao == "FATAL". Otherwise, start the series in 2019.
- For trends that include earlier years, restrict
-
tipo_registroincludes notifications and confirmed crashes. A"NOTIFICACAO"is a reported event that has not been confirmed as a crash. Filter this field according to the event definition required by the analysis. - Recent months are provisional. DETRAN-SP reclassifies records as it validates them, and the final months of a release may be incomplete. Exclude the latest observations when comparing recent and settled periods.
-
tempo_sinistro_obitouses a 30-day limit. Fatality counts therefore follow the 30-day convention for attributing a death to a crash. -
Vehicle totals can differ across tables. The sum of
the
qtd_*vehicle fields does not always match the number of corresponding rows inveiculos. Choose one measure and report its definition. - Coordinate coverage varies by year. Spatial subsets are not a uniform sample over time, especially in the earliest and latest years.
-
Some crashes have no matching person or vehicle
rows. Use a left join from
sinistroswhen the analysis must retain every crash.
These patterns describe the 2026 releases. Their frequency may change when DETRAN-SP revises the data.
Known inconsistencies in the source
The official PDFs contain a few internal inconsistencies. In the
pessoas dictionary, the format for
ano_mes_sinistro and ano_mes_obito is printed
as mm/aaaa, but the permitted ranges and published data use
aaaa/mm. Some year ranges say “greater than 2022” although
the corresponding files include 2022. The observations for
ano_fab and ano_modelo also print their
inequalities in reverse. The tables above preserve the official wording.
The package’s type specifications follow the values found in the data
files; identifiers and numero_logradouro remain character
vectors to avoid losing information.
Source
DETRAN-SP, Dicionário de dados v1.5 (2026-06-16),
distributed with the INFOSIGA-SP open data at https://infosiga.detran.sp.gov.br/.
dictionary_infosiga(source = "official") opens the source
website.
infosigasp::dictionary_infosiga(source = "official")