Normalize_Address — Für einen gegebenen Adressentext wird der zusammengesetzte Datentyp norm_addy
zurückgeben, der ein Suffix und ein Präfix für die Straße, einen normierten Datentyp, die Straße, den Straßennamen etc. enthält und diese einzelnen Attributen zuweist. Diese Funktion benötigt lediglich die "lookup data", die mit dem Tiger Geokodierer paketiert sind (Tiger Census Daten werden nicht benötigt).
norm_addy normalize_address(
varchar in_address)
;
Für einen gegebenen Adressentext wird der zusammengesetzte Datentyp norm_addy
zurückgeben, der ein Suffix und ein Präfix für die Straße, einen normierten Datentyp, die Straße, den Straßennamen etc. enthält und diese einzelnen Attributen zuweist. Dies ist der erste Schritt beim Geokodieren, der alle Adressen in eine standardisierte Postform bringt. Es werden keine anderen Daten, außer jenen die mit dem Geokodierer paketiert sind, benötigt.
Diese Funktion verwendet lediglich die verschiedenen Lookup-Tabellen "direction/state/suffix/", die mit tiger_gecoder vorinstalliert wurden und sich im Schema tiger
befinden. Es ist deshalb nicht nötig Tiger Census Daten oder sonstige zusätzliche Daten herunterzuladen um diese Funktion zu verwenden.
Verwendet verschiedene Kontrolltabellen im Schema tiger
zum Normalisieren der Eingabeadressen.
Die Attribute des Objekttyps norm_addy
, die in dieser Reihenfolge von der Funktion zurückgegeben werden, wobei () für ein verbindliches Attribut und [] für ein optionales Attribut steht:
(address) [predirAbbrev] (streetName) [streetTypeAbbrev] [postdirAbbrev] [internal] [location] [stateAbbrev] [zip] [parsed] [zip4] [address_alphanumeric]
Erweiterung: 2.4.0 die zusätzlichen Felder "zip4" und "address_alphanumeric" wurden zum Objekt "norm_addy" hinzugefügt.
address
ist eine Ganzzahl: Die Hausnummer
predirAbbrev
ist ein Textfeld variabler Länge: Ein Präfix für die Straßenrichtung, wie N, S, E, W etc. Wird durch die direction_lookup
Tabelle gesteuert.
streetName
varchar
Das Textfeld streetTypeAbbrev
mit variabler Länge beinhaltet eine abgekürzte Version der Straßentypen: z.B. St, Ave, Cir. Diese werden über die Tabelle street_type_lookup
kontrolliert.
Das Textfeld postdirAbbrev
mit variabler Länge beinhaltet Suffixe für die Abkürzungen der Straßenrichtung; N, S, E, W etc. Diese werden über die Tabelle direction_lookup
kontrolliert.
internal
ein Textfeld variabler Länge mit einer zusätzlichen Adressangabe, wie Apartment- oder Suitenummer.
location
ein Textfeld variabler Länge, üblicherweise eine Stadt oder eine autonome Provinz.
stateAbbrev
ein Textfeld variabler Länge mit dem zwei Zeichen langen Bundesstaat der USA. z.B. MA, NY, MI. Diese werden durch die Tabelle state_lookup
beschränkt.
Das Textfeld zip
mit variabler Länge enthält den 5-Zeichen langen Zip-Code. z.B. 02109
parsed
boolesche Variable - zeigt an, ob eine Adresse durch Normalisierung erstellt wurde. Die Funktion "normalize_address" setzt diese Variable auf TRUE, bevor die Adresse zurückgegeben wird.
zip4
die letzten 4 Zeichen des 9 Zeichen langen Zip-Codes. Verfügbarkeit: PostGIS 2.4.0.
address_alphanumeric
Vollständige Hausnummer, auch wenn sie Buchstaben wie bei "17R" enthält. Kann mit der Funktion Pagc_Normalize_Address besser geparst werden. Verfügbarkeit: PostGIS 2.4.0.
Gibt die ausgewählten Felder aus. Verwenden Sie bitte Pprint_Addy wenn Sie einen sauber formatierten Ausgabetext benötigen.
SELECT address As orig, (g.na).streetname, (g.na).streettypeabbrev FROM (SELECT address, normalize_address(address) As na FROM addresses_to_geocode) As g; orig | streetname | streettypeabbrev -----------------------------------------------------+---------------+------------------ 28 Capen Street, Medford, MA | Capen | St 124 Mount Auburn St, Cambridge, Massachusetts 02138 | Mount Auburn | St 950 Main Street, Worcester, MA 01610 | Main | St 529 Main Street, Boston MA, 02129 | Main | St 77 Massachusetts Avenue, Cambridge, MA 02139 | Massachusetts | Ave 25 Wizard of Oz, Walaford, KS 99912323 | Wizard of Oz |