Name

Loader_Generate_Script — Genererar ett shell-skript för den angivna plattformen för de angivna staterna som hämtar Tiger-data, iscensätter och laddar in i tiger_data-schema. Varje delstatsskript returneras som en separat post. Den senaste versionen stöder strukturella ändringar i Tiger 2010 och laddar även tabeller för census tract, block groups och blocks.

Synopsis

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

Beskrivning

Genererar ett shell-skript för den angivna plattformen för de angivna staterna som hämtar Tiger-data, iscensätter 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 ladda in data. Observera att den minsta enheten den gör är en hel stat, men du kan skriva över detta genom att ladda ner filerna själv. Det kommer bara 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 för att stödja Tiger 2010-strukturerade data och läsa in tabeller för folkräkningstrakt (tract), blockgrupper (bg) och block (tabblocks).

[Note]

Om du använder pgAdmin 3 bör du vara uppmärksam på att pgAdmin 3 som standard trunkerar lång text. För att åtgärda detta, ändra Arkiv -> Alternativ -> Frågeverktyg -> Frågeredigerare - > Max. tecken per kolumn till mer än 50000 tecken.

Exempel

Använd psql där gistest är din databas och /gisdata/data_load.sh är den fil som ska skapas med de skalkommandon som ska köras.

psql -U postgres -h localhost -d gistest -A -t \
 -c "SELECT Loader_Generate_Script(ARRAY['MA'], 'gistest')" > /gisdata/data_load.sh;

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

SELECT loader_generate_script(ARRAY['MA','RI'], 'windows') AS result;
-- result --
set TMPDIR=\gisdata\temp\
set UNZIPTOOL="C:\Program Files\7-Zip\7z.exe"
set WGETTOOL="C:\wget\wget.exe"
set PGBIN=C:\Program Files\PostgreSQL\9.4\bin\
set PGPORT=5432
set PGHOST=localhost
set PGUSER=postgres
set PGPASSWORD=yourpasswordhere
set PGDATABASE=geocoder
set PSQL="%PGBIN%psql"
set SHP2PGSQL="%PGBIN%shp2pgsql"
cd \gisdata

cd \gisdata
%WGETTOOL% ftp://ftp2.census.gov/geo/tiger/TIGER2015/PLACE/tl_*_25_* --no-parent --relative --recursive --level=2 --accept=zip --mirror --reject=html
cd \gisdata/ftp2.census.gov/geo/tiger/TIGER2015/PLACE
:
:

Generera sh-skript

SELECT loader_generate_script(ARRAY['MA','RI'], 'sh') AS result;
-- result --
TMPDIR="/gisdata/temp/"
UNZIPTOOL=unzip
WGETTOOL="/usr/bin/wget"
export PGBIN=/usr/lib/postgresql/9.4/bin
-- variables used by psql: https://www.postgresql.org/docs/current/static/libpq-envars.html
export PGPORT=5432
export PGHOST=localhost
export PGUSER=postgres
export PGPASSWORD=yourpasswordhere
export PGDATABASE=geocoder
PSQL=${PGBIN}/psql
SHP2PGSQL=${PGBIN}/shp2pgsql
cd /gisdata

cd /gisdata
wget ftp://ftp2.census.gov/geo/tiger/TIGER2015/PLACE/tl_*_25_* --no-parent --relative --recursive --level=2 --accept=zip --mirror --reject=html
cd /gisdata/ftp2.census.gov/geo/tiger/TIGER2015/PLACE
rm -f ${TMPDIR}/*.*
:
: