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.
setof text loader_generate_census_script(
text[] param_states, text os)
;
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.
loader_variables
håller reda på olika variabler som t.ex. folkräkningsplats, år, data och staging-schema
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.
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
![]() |
|
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. |
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 : :