我已将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 但是我仍然无法正常工作。
任何帮助将不胜感激。
谢谢。
答案 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