名稱

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

另請參閱

GeocodePprint_AddyST_AsText