Geocode_Intersection — 接收兩條相交的街道以及州、城市、郵遞區號,並輸出在第一個交叉街道上交點處的一組可能位置,同時包含一個以 NAD 83 經緯度表示的點位置的 geomout、每個位置的normalized_address
(addy)和評分。評分越低,匹配的可能性越高。結果首先按最低評分排序。可以選擇傳入最大結果數,預設為 10。使用 Tiger 數據(邊緣、面、地址)、PostgreSQL 模糊字串匹配(soundex、levenshtein)。
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)
;
接收兩條相交的街道以及州、城市、郵遞區號,並輸出在第一個交叉街道上交點處的一組可能位置,同時包含一個以 NAD 83 經緯度表示的點幾何、每個位置的正規化地址和評分。評分越低,匹配的可能性越高。結果首先按最低評分排序。可以選擇傳入最大結果數,預設為 10。傳回每個位置的 normalized_address
(addy)、以 NAD 83 經緯度表示的點位置 geomout 以及評分。評分越低,匹配的可能性越高。結果首先按最低評分排序。使用 Tiger 數據(邊緣、面、地址)、PostgreSQL 模糊字串匹配(soundex、levenshtein)。
可用性:2.0.0
以下範例的計時是在一台配備 2GB 記憶體、執行 PostgreSQL 9.0/PostGIS 1.5 並載入了所有 MA 州 Tiger 數據的 3.0 GHZ 單處理器 Windows 7 機器上進行的。目前有點慢 (3000 毫秒)。
在載入了 PostGIS 2.0 PostgreSQL 64 位元 Tiger 2011 數據的 Windows 2003 64 位元 8GB 上進行測試 -- (41 毫秒)
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
即使沒有傳入郵遞區號,地理編碼器也可以猜測(在 Windows 7 機器上約需 3500 毫秒),在 Windows 2003 64 位元上需 741 毫秒。
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