Name

Loader_Generate_Script — Génère un script shell pour la plateforme spécifiée et les états spécifiés qui téléchargera les données Tiger, les structurera et les chargera dans le schéma tiger_data. Chaque script d'état est renvoyé sous la forme d'un enregistrement séparé. La dernière version prend en charge les modifications structurelles de Tiger 2010 et charge également les tableaux de secteurs de recensement, de groupes d'îlots et d'îlots.

Synopsis

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

Description

Génère un script shell pour la plateforme spécifiée et les états spécifiés qui téléchargera les données Tiger, les structurera et les chargera dans le schéma tiger_data. Chaque script d'état est renvoyé sous la forme d'un enregistrement séparé.

Il utilise unzip sous Linux (7-zip sous Windows par défaut) et wget pour effectuer le téléchargement. Il utilise Section 4.7.2, “Utilisation de l'utilitaire qui permet de charger des fichiers Shapefile” pour charger les données. Notez que la plus petite unité qu'il traite est un état entier, mais vous pouvez l'écraser en téléchargeant les fichiers vous-même. Il ne traitera que les fichiers des dossiers staging et temp.

Il utilise les tables de contrôle suivantes pour contrôler le processus et les différentes variations syntaxiques de l'interpréteur de commandes du système d'exploitation.

  1. loader_variables garde la trace de diverses variables telles que le site de recensement, l'année, les données et les schémas d'étape

  2. loader_platform profils des différentes plates-formes et de l'emplacement des différents exécutables. Livré avec windows et linux. D'autres peuvent être ajoutés.

  3. loader_lookuptables chaque enregistrement définit un type de table (state, county), s'il faut y traiter les enregistrements et comment les charger. Définit les étapes d'importation des données, de structuration des données, d'ajout et de suppression de colonnes, d'index et de contraintes pour chaque table. Chaque table est préfixée par l'état et hérite d'une table du schéma tigre. Par exemple, crée tiger_data.ma_faces qui hérite de tiger.faces

Disponibilité : 2.0.0 pour prendre en charge les données structurées de Tiger 2010 et charger les tableaux de secteurs de recensement (tract), de groupes d'îlots (bg) et d'îlots (tabblocks).

[Note]

Si vous utilisez pgAdmin 3, sachez que par défaut pgAdmin 3 tronque les textes longs. Pour corriger cela, modifiez Fichier -> Options -> Outil de requête -> Editeur de requête -> Caractères max. par colonne à plus de 50000 caractères.

Exemples

En utilisant psql où gistest est votre base de données et /gisdata/data_load.sh est le fichier à créer avec les commandes shell à exécuter.

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

Générer un script pour charger des données pour 2 états dans le format d'un script shell Windows.

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

Générer le script sh

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}/*.*
:
: