Loader_Generate_Census_Script — 为指定州的指定平台生成外壳脚本,该脚本将下载老虎人口普查州区域、BG和选项卡块数据表、暂存并加载到 tiger_data
架构。每个状态脚本都作为单独的记录返回。
setof text loader_generate_census_script(
text[] param_states, text os)
;
为将下载TIGER数据人口普查州的指定州的指定平台生成外壳脚本 tract
、数据块组 bg
,以及 tabblocks
数据表,暂存并加载到 tiger_data
架构。每个状态脚本都作为单独的记录返回。
它在Linux上使用unzip(在Windows上默认使用7-Zip),并使用wget进行下载。它用 Section 4.7.2, “使用Shapefile加载器” 以加载数据。注意,它所做的最小单位是一个完整的状态。它将仅处理临时文件夹和临时文件夹中的文件。
它使用以下控制表来控制进程和不同的操作系统外壳语法变化。
loader_variables
跟踪各种变量,如普查地点、年份、数据和分段方案
loader_platform
各种平台的配置文件以及各种可执行文件所在的位置。自带Windows和Linux。还可以添加更多内容。
loader_lookuptables
每条记录定义一种表(州、县),是否处理其中的记录以及如何加载它们。定义导入数据、暂存数据、添加和删除每个列、索引和约束的步骤。每个表都带有STATE前缀,并且继承自Tiger模式中的一个表。例如,创建 tiger_data.ma_faces
它继承自 tiger.faces
可用性:2.0.0
![]() | |
Loader_Generate_Script 包括这一逻辑,但如果您在PostGIS2.0.0alpha5之前安装了Tiger地理编码器,则需要在已经完成的州上运行此命令,才能获得这些附加表。 |
生成脚本,以Windows外壳脚本格式加载选定州的数据。
SELECT loader_generate_census_script(ARRAY['MA'], 'windows'); -- result -- set STATEDIR="\gisdata\www2.census.gov\geo\pvs\tiger2010st\25_Massachusetts" set TMPDIR=\gisdata\temp\ set UNZIPTOOL="C:\Program Files\7-Zip\7z.exe" set WGETTOOL="C:\wget\wget.exe" set PGBIN=C:\projects\pg\pg91win\bin\ set PGPORT=5432 set PGHOST=localhost set PGUSER=postgres set PGPASSWORD=yourpasswordhere set PGDATABASE=tiger_postgis20 set PSQL="%PGBIN%psql" set SHP2PGSQL="%PGBIN%shp2pgsql" cd \gisdata %WGETTOOL% http://www2.census.gov/geo/pvs/tiger2010st/25_Massachusetts/25/ --no-parent --relative --accept=*bg10.zip,*tract10.zip,*tabblock10.zip --mirror --reject=html del %TMPDIR%\*.* /Q %PSQL% -c "DROP SCHEMA tiger_staging CASCADE;" %PSQL% -c "CREATE SCHEMA tiger_staging;" cd %STATEDIR% for /r %%z in (*.zip) do %UNZIPTOOL% e %%z -o%TMPDIR% cd %TMPDIR% %PSQL% -c "CREATE TABLE tiger_data.MA_tract(CONSTRAINT pk_MA_tract PRIMARY KEY (tract_id) ) INHERITS(tiger.tract); " %SHP2PGSQL% -c -s 4269 -g the_geom -W "latin1" tl_2010_25_tract10.dbf tiger_staging.ma_tract10 | %PSQL% %PSQL% -c "ALTER TABLE tiger_staging.MA_tract10 RENAME geoid10 TO tract_id; SELECT loader_load_staged_data(lower('MA_tract10'), lower('MA_tract')); " %PSQL% -c "CREATE INDEX tiger_data_MA_tract_the_geom_gist ON tiger_data.MA_tract USING gist(the_geom);" %PSQL% -c "VACUUM ANALYZE tiger_data.MA_tract;" %PSQL% -c "ALTER TABLE tiger_data.MA_tract ADD CONSTRAINT chk_statefp CHECK (statefp = '25');" :
生成sh脚本
STATEDIR="/gisdata/www2.census.gov/geo/pvs/tiger2010st/25_Massachusetts" TMPDIR="/gisdata/temp/" UNZIPTOOL=unzip WGETTOOL="/usr/bin/wget" export PGBIN=/usr/pgsql-9.0/bin export PGPORT=5432 export PGHOST=localhost export PGUSER=postgres export PGPASSWORD=yourpasswordhere export PGDATABASE=geocoder PSQL=${PGBIN}/psql SHP2PGSQL=${PGBIN}/shp2pgsql cd /gisdata wget http://www2.census.gov/geo/pvs/tiger2010st/25_Massachusetts/25/ --no-parent --relative --accept=*bg10.zip,*tract10.zip,*tabblock10.zip --mirror --reject=html rm -f ${TMPDIR}/*.* ${PSQL} -c "DROP SCHEMA tiger_staging CASCADE;" ${PSQL} -c "CREATE SCHEMA tiger_staging;" cd $STATEDIR for z in *.zip; do $UNZIPTOOL -o -d $TMPDIR $z; done : :