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
以下示例的时间是在一台 3.0 GHZ 单处理器 Windows 7 机器上测试的,该机器具有 2GB 内存,运行 PostgreSQL 9.0/PostGIS 1.5,并加载了所有马萨诸塞州 Tiger 数据。目前有点慢 (3000 毫秒)
在 Windows 2003 64 位 8GB 上,PostGIS 2.0 PostgreSQL 64 位 Tiger 2011 数据加载的测试结果为 (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