Loader_Generate_Script — 指定したプラットフォーム用の、指定した州のTigerデータをダウンロードし、格納準備を行い、tiger_data
スキーマに格納するシェルスクリプトを生成します。行ごとに州ごとのスクリプトが返ります。最新版ではTiger 2010のデータ構造変更に対応していて、国勢統計区、細分区グループ、細分区 (tabblocks)テーブルをダウンロードすることができます。
setof text loader_generate_script(
text[] param_states, text os)
;
指定したプラットフォーム用の、指定した州のTigerデータをダウンロードし、格納準備を行い、tiger_data
スキーマに格納するシェルスクリプトを生成します。行ごとに州ごとのスクリプトが返ります。
ダウンロードには、Linuxではunzip (Windowsのデフォルトは7-zip)とwgetとを使います。データの格納には「shp2pgsql: ESRIシェープファイルローダを使う」を使います。ダウンロードの最小単位は州全体ですが、ファイルを手動でダウンロードすることで上書きできます。生成されるスクリプトは、格納準備中の一時フォルダ内にあるファイルのみ処理します。
プロセスの制御や異なるOSのシェルの書式の制御のために、次の制御テーブルを使います。
loader_variables
国勢調査ダウンロードサイト、年度、データと準備スキーマといった種々の変数の軌跡を保持します。
loader_platform
種々のプラットフォームのプロファイルと種々の実行ファイルを置いてある位置です。windowsとLinux/unixを備えています。追加も可能です。
レコードごとにテーブルの種類 (州、国)、レコード処理の有無、ロード方法を定義しています。データインポート方法、データ格納準備、カラム追加、カラム削除、インデックス、制約がそれぞれで定義されています。個々のテーブルは、名前の先頭に州コードを持ち、tigerスキーマのテーブルから継承されています。たとえば、tiger.faces
から継承されたtiger_data.ma_faces
する、といったことが行われます。
Availability: 2.0.0 Tiger 2010構造のデータに対応しました。国勢統計区 (tract)、細分区グループ ("block groups", bg)、細分区 (tabblocks)テーブルをダウンロードします。
![]() | |
If you are using pgAdmin 3, be warned that by default pgAdmin 3 truncates long text. To fix, change File -> Options -> Query Tool -> Query Editor - > Max. characters per column to larger than 50000 characters. |
Using psql where gistest is your database and /gisdata/data_load.sh
is the file to create with the shell commands to run.
psql -U postgres -h localhost -d gistest -A -t \ -c "SELECT Loader_Generate_Script(ARRAY['MA'], 'gistest')" > /gisdata/data_load.sh;
Windowsシェルスクリプト書式で二つの州のデータをロードするスクリプトを生成します。
SELECT loader_generate_script(ARRAY['MA','RI'], 'windows') AS result; -- 結果 -- set STATEDIR="\gisdata\www2.census.gov\geo\pvs\tiger2010st\44_Rhode_Island" 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\8.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" %WGETTOOL% http://www2.census.gov/geo/pvs/tiger2010st/44_Rhode_Island/ --no-parent --relative --recursive --level=2 --accept=zip,txt --mirror --reject=html : :
shスクリプトの生成
SELECT loader_generate_script(ARRAY['MA','RI'], 'sh') AS result; -- result -- STATEDIR="/gisdata/www2.census.gov/geo/pvs/tiger2010st/44_Rhode_Island" TMPDIR="/gisdata/temp/" UNZIPTOOL=unzip PGPORT=5432 PGHOST=localhost PGUSER=postgres PGPASSWORD=yourpasswordhere PGDATABASE=geocoder PSQL=psql SHP2PGSQ=shp2pgsql wget http://www2.census.gov/geo/pvs/tiger2010st/44_Rhode_Island/ --no-parent --relative --recursive --level=2 --accept=zip,txt --mirror --reject=html : :