Geocode_Intersection — Nimmt 2 sich kreuzende Straßen, einen Bundesstaat, eine Stadt und einen ZIP-Code entgegen und gibt die möglichen Punktlagen an der ersten Querstraße an der Kreuzung zurück. Die Ausgabe beinhaltet auch die Geometrie "geomout" in NAD 83 Länge/Breite, eine standardisierte Adresse normalized_address
(addy) für jede Punktage, sowie die Rangfolge. Umso niedriger die Rangfolge ist, um so wahrscheinlicher ist die Übereinstimmung. Die Ergebnisse werden mit aufsteigender Rangfolge sortiert - dar niedrigste Rang zuerst. Optional kann die maximale Anzahl der Ergebnisse angegeben werden (Standardeinstellung ist 10). Verwendet TIGER Daten (Kanten, Maschen, Adressen) und Fuzzy String Matching (soundex, levenshtein) von PostgreSQL.
setof record geocode_intersection(
text roadway1, text roadway2, text in_state, text in_city, text in_zip, integer max_results=10, norm_addy OUT addy, geometry OUT geomout, integer OUT rating)
;
Nimmt 2 sich kreuzende Straßen, einen Bundesstaat, eine Stadt und einen ZIP-Code entgegen und gibt die möglichen Punktlagen an der ersten Querstraße bei der Kreuzung zurück. Die Ausgabe beinhaltet auch eine Punktgeometrie in NAD 83 Länge/Breite, eine standardisierte Adresse für jede Punktage, sowie die Rangfolge. Umso niedriger die Rangfolge ist, um so wahrscheinlicher ist die Übereinstimmung. Die Ergebnisse werden mit aufsteigender Rangfolge sortiert - dar niedrigste Rang zuerst. Optional kann die maximale Anzahl der Ergebnisse angegeben werden (Standardeinstellung ist 10). Gibt für jede Punktlage die standardisierte Adresse normalized_address
(addy), die Punktgeometrie "geomout" in NAD 83 Länge/Breite und ein Rating zurück. Verwendet TIGER Daten (Kanten, Maschen, Adressen) und Fuzzy String Matching (soundex, levenshtein) von PostgreSQL.
Verfügbarkeit: 2.0.0
Die Zeitangaben für die unteren Beispiele beziehen sich auf einen 3.0 GHZ Prozessor mit Windows 7, 2GB RAM, PostgreSQL 9.0/PostGIS 1.5 und den geladenen TIGER-Daten des Staates MA. Zurzeit ein bißchen langsam (3000ms)
Testlauf auf Windows 2003 64-bit 8GB mit PostGIS 2.0, PostgreSQL 64-bit und geladenen TIGER-Daten von 2011 -- (41ms)
SELECT pprint_addy(addy), st_astext(geomout),rating FROM geocode_intersection( 'Haverford St','Germania St', 'MA', 'Boston', '02130',1); pprint_addy | st_astext | rating ----------------------------------+----------------------------+-------- 98 Haverford St, Boston, MA 02130 | POINT(-71.101375 42.31376) | 0
Sogar wenn der Zip-Code nicht angegeben ist, kann der Geokodierer diesen erraten (benötigte 3500ms auf einem Windows 7 Rechner, 741 ms auf Windows 2003 64-bit)
SELECT pprint_addy(addy), st_astext(geomout),rating FROM geocode_intersection('Weld', 'School', 'MA', 'Boston'); pprint_addy | st_astext | rating -------------------------------+--------------------------+-------- 98 Weld Ave, Boston, MA 02119 | POINT(-71.099 42.314234) | 3 99 Weld Ave, Boston, MA 02119 | POINT(-71.099 42.314234) | 3