Name

Loader_Generate_Census_Script — Genererar ett skalskript för den angivna plattformen för de angivna staterna som hämtar datatabellerna Tiger census state tract, bg och tabblocks, iscensätter och laddar in i tiger_data-schema. Varje delstatsskript returneras som en separat post.

Synopsis

setof text loader_generate_census_script(text[] param_states, text os);

Beskrivning

Genererar ett skalskript för den angivna plattformen för de angivna staterna som hämtar Tiger data census state tract, block groups bg, and tabblocks data tables, stage och laddar in i tiger_data schema. Varje delstatsskript returneras som en separat post.

Den använder unzip på Linux (7-zip på Windows som standard) och wget för att göra nedladdningen. Den använder Section 4.7.2, “Använda Shapefile-inläsaren” för att läsa in data. Observera att den minsta enhet som den gör är en hel stat. Den kommer endast att bearbeta filerna i mapparna staging och temp.

Den använder följande kontrolltabeller för att styra processen och olika OS shell syntaxvariationer.

  1. loader_variables håller reda på olika variabler som t.ex. folkräkningsplats, år, data och staging-schema

  2. loader_platform profiler för olika plattformar och var de olika körbara filerna finns. Levereras med windows och linux. Fler kan läggas till.

  3. loader_lookuptables varje post definierar en typ av tabell (stat, county), om poster ska behandlas i den och hur de ska laddas in. Definierar stegen för att importera data, iscensätta data, lägga till, ta bort kolumner, index och begränsningar för varje. Varje tabell har staten som prefix och ärver från en tabell i tiger-schemat. t.ex. skapar tiger_data.ma_faces som ärver från tiger. faces

Tillgänglighet: 2.0.0

[Note]

Loader_Generate_Script innehåller denna logik, men om du installerade Tiger Geocoder före PostGIS 2.0.0 alpha5 måste du köra detta på de stater du redan har gjort för att få dessa ytterligare tabeller.

Exempel

Generera skript för att ladda upp data för utvalda stater i Windows shell script-format.

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');"
: 

Generera sh-skript

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
:
: