2008年7月31日木曜日

PostGISで地図を表示 6東京都の人口データの準備

東京都の人口のデータの準備をします。

東京都総務局ホームページ
http://www.soumu.metro.tokyo.jp/index.htm

東京都の統計
http://www.toukei.metro.tokyo.jp/index.htm

住民基本台帳による世帯と人口
http://www.toukei.metro.tokyo.jp/juukim/jm-index.htm

で最新の統計データをダウンロードします。
私は、平成20年6月のデータをダウンロードしました。
データは人が見やすいように作成されています。
これを人口総数(A+B)、男、女、外国人登録人口に行政コードを追加した単純な表にします。

例えば、
0 OpenOffice.org Calc でダウンロードしたファイルを開く
1 列のタイトルは1行にする
2 市区町村の行以外を削除する(空行や合計行など)
3 市区町村名、人口総数(A+B)、男、女、外国人登録人口以外の列を削除する
4 セルの中のスペースをすべて削除する
5 行政コードを追加する (行政コード、市区町村名、人口総数(A+B)、男、女、外国人登録人口の順にしました。)
6 タイトル行を削除する
7 CSVファイルとして出力

行政コードは、インターネットで探すか、次のようにマップデータから作成します。

Eclipseを起動して tokyo データベースに接続します。
データベース構造(Database Structure) ウィンドウの

public -> テーブル(table) -> gyoseikai

をクリックを右クリックし、 Selectステートメントの生成 をクリックします。
SQLエディタ に次のように入力して実行します。

select distinct code, gun_seirei, shikuchoso from "public"."gyoseikai"

表示された結果を右クリックして、 エクスポート->export to .csv をクリックします。
include column header をチェックし、宛先 ボタンをクリックして保存先とファイル名を指定し、OK ボタンをクリックします。

csvファイルを開き code (行政コード)をコピーし、加工した人口データに貼り付けます。
(どちらも行政コード順になっているのでそのまま貼り付けられます。)


*コマンドでCSVファイルに出力

user@debian:~$ psql -F ',' -A -t -c 'SELECT DISTINCT code, gun_seirei, shikuchoso from gyoseikai' tokyo > gyosei_code.csv

参考

user@debian:~$ psql tokyo
Welcome to psql 8.1.11, the PostgreSQL interactive terminal.

Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit

tokyo=> \o gyosei_code.txt
tokyo=> SELECT DISTINCT code, gun_seirei, shikuchoso from gyoseikai;
tokyo=> \!less gyosei_code.txt
tokyo=> \o
tokyo=> \q

バージョン8.3なら次も可能

tokyo=> \COPY (SELECT DISTINCT code, gun_seirei, shikuchoso from gyoseikai) TO 'code2.csv' WITH DELIMITER ','

続く…

0 件のコメント: