Postgis Tiger Geocoder返回空结果

时间:2018-11-29 06:16:35

标签: postgresql postgis geocoding geocode tiger-lines

我已将Tiger数据加载到我的postgres数据库中。

SELECT count(*) FROM tiger_data.county_all;

count-> 3233

SELECT count(*) FROM tiger_data.state_all;

count-> 56

扩展正在工作

SELECT na.address,
       na.streetname,na.streettypeabbrev,
       na.zip
FROM normalize_address('1 Devonshire Place, Boston, MA 02109') AS na;

返回

address | streetname | streettypeabbrev |  zip
---------+------------+------------------+-------
   1 | Devonshire | Pl               | 02109

还设置了数据库的搜索路径

ALTER DATABASE geocoder
    SET search_path TO '"$user", public, tiger';

但是当我运行查询来搜索某些内容时,我会得到 null 结果。

SELECT g.rating,
       ST_AsText(ST_SnapToGrid(g.geomout,0.00001)) As wktlonlat,
       (addy).address As stno, (addy).streetname As street,
       (addy).streettypeabbrev As styp, (addy).location As city, 
       (addy).stateabbrev As st,(addy).zip
FROM geocode('424 3rd St, Davis, CA 95616',1) As g;

不返回什么

我遵循了本教程 How to make a PostGIS TIGER Geocoder in Less than 5 Days 但是我仍然无法正常工作。

任何帮助将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:2)

简单的错误。我尚未加载状态数据。

这是用于生成脚本以加载加利福尼亚数据的代码。

psql -U postgres -c "SELECT Loader_Generate_Script(ARRAY['CA'], 'sh')" -d bulk_geocoder -tA > ca_script_load.sh

然后在更改pg详细信息后运行脚本ca_script_load.sh。

bash ca_script_load.sh

这将获取加利福尼亚州的数据,然后加载数据库。

遵循本教程。 状态加载来自 第12点

2.8.1. Tiger Geocoder Enabling your PostGIS database: Using Extension