Loader_Generate_Census_Script — Erzeugt für gegebene Plattform und Bundesstaaten ein Shellskript, das die TIGER Datentabellen "tract", "bg" und "tabblocks" herunterlädt, bereitstellt und in das Schema tiger_data
importiert. Jedes Bundesstaat-Skript wird in einem eigenen Datensatz ausgegeben.
setof text loader_generate_census_script(
text[] param_states, text os)
;
Erzeugt für gegebene Plattform und Bundesstaaten ein Shellskript, das die TIGER Datentabellen Census Area tract
, block groups bg
und tabblocks
herunterlädt, bereitstellt und in das Schema tiger_data
importiert. Jedes Bundesstaat-Skript wird in einem eigenen Datensatz ausgegeben.
Zum Herunterladen wird auf Linux unzip (auf Windows standardmäßig 7-zip) und wget verwendet. Es verwendet Section 4.7.2, “Verwendung des Shapefile Loaders” zum Laden der Daten. Die kleinste Einheit, die bearbeitet wird ist ein ganzer Bundesstaat. Es werden nur die Dateien in den Ordnern "staging" und "temp" bearbeitet.
Verwendet die folgenden Kontrolltabellen, um den Verarbeitungsprozess und die verschiedenen Variationen der Betriebssysteme in Bezug auf den Shellsyntax zu überprüfen.
loader_variables
behält den Überblick über verschiedenen Variablen, wie Census Site, Jahr, Daten- und "staging"-Schemata
loader_platform
Profile von verschiedenen Plattformen und Speicherplätze der ausführbaren Programme. Beinhaltet Windows und Linux. Weitere können hinzugefügt werden.
loader_lookuptables
jeder Datensatz definiert einen bestimmten Tabellentyp (state, county), um Datensätze zu bearbeiten und zu importieren. Legt die Schritte fest, die notwendig sind, um Daten zu importieren, bereitzustellen und hinzuzufügen, und um Spalten, Indizes und Constraints zu löschen. Jede Tabelle wird mit einem Präfix des Bundesstaates versehen und erbt von einer Tabelle in dem Schema TIGER. z.B. wird die Tabelle tiger_data.ma_faces
erstellt, welche von tiger.faces
erbt
Verfügbarkeit: 2.0.0
Loader_Generate_Script beinhaltet diese Logik; wenn Sie aber den TIGER Geokodierer vor PostGIS 2.0.0 alpha5 installiert haben, müssen Sie dies für bereits importierte Bundesstaaten ausführen, um die zusätzlichen Tabellen zu erhalten. |
Erzeugt ein Skript um Daten für die ausgewählten Länder im Windows Shell Script Format zu laden.
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');" :
Erzeugt ein Shell-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 : :