MeridianMERIDIAN

Full Address

geography.address.full_address

Complete street address (number, street, city, postal code, country). Format and order locale-specific. May include apartment/suite numbers.

Worked samples

DuckDB 1.5.5 · finetype 0.6.64

ValueAs VARCHARcitystreet_namestreet_number
123 Main Street, New York, NY 10001, USA123 Main Street, New York, NY 10001, USANew YorkMain Street123
456 Oxford Street, London, W1C 1AX, UK456 Oxford Street, London, W1C 1AX, UKLondonOxford Street456
789 Rue de Rivoli, Paris, 75004, France789 Rue de Rivoli, Paris, 75004, FranceParisRue de Rivoli789
Scope
Locale-specific
Personal data
Yes — treat as PII
Locales
EN, EN_AU, EN_GB, EN_CA, EN_US, DE, FR, ES, IT, NL, PL, RU, JA, ZH, KO, AR

Background

Origin

FineType defines Full Address as a complete street address of number, street, city, postal code and country, whose format and order are locale-specific.[1] The Universal Postal Union says there are more than 200 address formats in the world.[2] The Universal Postal Union says at least 20 language scripts are officially used to write addresses.[2] Read a full address column as a family of national conventions rather than one format. (Meridian's view)

The Universal Postal Union has developed two addressing standards, S42 and S53.[2] UPU S42 comprises a generic list of address elements and country-specific templates that tell users how to turn those elements into an accurately formatted address.[2] UPU S53 facilitates the exchange of name and address data between postal authorities, businesses, mailers and other organisations.[2] ISO 19160-1:2015, Addressing — Part 1: Conceptual model, was published by ISO in December 2015.[3]

In most of the world, addresses are written in order from most specific to general, starting with the addressee and ending with the largest geographical unit.[4] Chinese, Japanese, Korean and Taiwanese addresses written in their native scripts run from the largest geographical area to the smallest.[4] When addresses are written inline, line breaks are replaced by commas.[4]

Use

Conventions on the placing of house numbers differ: either before or after the street name.[4] In the UK, postal codes are written on a separate line at the end of the address.[4] In Australia, Canada and the United States, postal codes usually appear immediately after the state or province, on the same line.[4]

Google's Places API returns formattedAddress, described as a full, human-readable address for a place.[5] Google's Geocoding API documentation says not to parse the formatted address programmatically, and to use the separate address components instead.[6] When a source system also offers address components, keep them and treat the full address as a display string. (Meridian's view)

libpostal is a C library for parsing and normalising street addresses around the world using statistical NLP and open data.[7] libpostal's international address parser is trained on over 1 billion addresses in every inhabited country on Earth.[7] usaddress is a Python library for parsing unstructured United States address strings into address components.[8] The usaddress documentation says it cannot identify address components with perfect accuracy, nor verify that a given address is correct or valid.[8] Treat any parsed street, city or postcode as a best guess to be checked, not as a validated value. (Meridian's view)

RFC 4180 says fields containing line breaks, double quotes and commas should be enclosed in double quotes.[9] Check that a CSV of full addresses quotes its fields, and count the columns on a few rows before loading it. (Meridian's view) Addresses identify people and places, so handle the column as personal data. (Meridian's view)

Detection notes

v1 migration: Was address.address. Locale-specific for address format (US format vs European format, etc.). Decompose extracts components but requires more sophisticated parsing for reliability.

Use it

CLI · DuckDB
$ finetype infer -i "123 Main Street, New York, NY 10001, USA" --mode column
→ geography.address.full_address

SELECT ft_infer('123 Main Street, New York, NY 10001, USA');
-- → 'geography.address.full_address'
Cast expression
CAST({col} AS VARCHAR)

Schema

https://meridian.online/schemas/geography.address.full_address · Frictionless type string

finetype taxonomy geography.address.full_address -o json-schema

Aliases

addressstreet_address

Type Registry