MeridianMERIDIAN

geography

Where things are: street addresses and postcodes, the names and codes of countries, regions and cities, coordinates and map grid cells in several notations, shapes written as text, and international calling codes. It also holds the codes for airports, trade locations, shipping containers and traded goods.

7 categories, 25 types: 3 a sibling in its category also accepts, 3 accepted by another category's rule, 6 that decompose into parts, 1 flagged as personal data, 3 in Meridian's open data.

7 categories · 25 types

The 7 geography categories

Each category's lookup value, against every other category's rule

CategoryTypesCasts toFor exampleWithin the groupAlso accepted by
7VARCHAR, DOUBLE, POINT-74.00601 a sibling also accepts—
6VARCHARUS2 a sibling also accepts—
5VARCHAR8471.30each told apartlocation
4VARCHAR123 Main Street, New York, N…each told apartcoordinate
1VARCHAR+1——
1VARCHARPOINT (30 10)——
1VARCHAR8928308280fffff—coordinate

Where geography categories overlap

Each type's lookup value, against every other category's rule

Which geography type is it?

2 of 25 geography types in 2 categories accept it, and read it alike.

Full Address, Postal Code, Street Name, Street Suffix, Longitude, City Name, Continent Name, Country Name and Region / State carry no pattern or format, so they have no rule to ask.

TypeCategoryReads it as
H3 Hex Index h3index8928308280fffff
Geohash geohashcoordinate8928308280fffff

What the engine extracts

  • coordinate2 of 7latitude · latitude_deg · latitude_min · longitude · longitude_deg
  • transportation1 of 5country · location
  • address2 of 4city · first_part · street_name · street_number
  • contact1 of 1code

In Meridian's datasets

Use it

One value from each category, each inferred on its own

Shell
for v in '-74.0060' 'US' '8471.30' '123 Main Street, New York, NY 10001, USA' '+1' 'POINT (30 10)' '8928308280fffff'; do finetype infer -i "$v"; done
DuckDB
SELECT v, ft_infer(v) FROM (VALUES ('-74.0060'), ('US'), ('8471.30'), ('123 Main Street, New York, NY 10001, USA'), ('+1'), ('POINT (30 10)'), ('8928308280fffff')) t(v);

Type Registry