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.
setof text loader_generate_script(
text[] param_states, text os)
;
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.
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
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.
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).
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. |
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}/*.* : :