2008年8月2日土曜日

PostGISで地図を表示 7東京都の人口テーブルの作成

データベースtokyoに次のようにテーブルを作成します。

Eclipseの場合
データベース構造(Database Structure) ウィンドウの

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

をクリックを右クリックし、 Create Table スクリプト をクリックします。
SQL エディタ を次のように修正して実行します。

CREATE TABLE "public"."population"(
code serial4,
shikuchoso varchar(14),
total int4,
male int4,
female int4,
foreigner int4);

データベース構造(Database Structure) ウィンドウのテーブル(table)を右クリックし、更新 をクリックすると population テーブルが表示されます。

*コマンドで population テーブルを作成

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=> CREATE TABLE population (
tokyo(> code varchar(5),
tokyo(> shikuchoso varchar(14),
tokyo(> total int4,
tokyo(> male int4,
tokyo(> female int4,
tokyo(> foreigner int4);
NOTICE: CREATE TABLE will create implicit sequence "population_code_seq" for serial column "population.code"
CREATE TABLE
tokyo=> \q

tokyo_population.csv の内容を population テーブルに追加します。
スーパユーザー(postgres)で

postgres@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=# COPY population FROM '/home/user/mapdata/tokyo/tokyo_population.csv' CSV;
COPY
tokyo=# \q

tokyo_pgis.mapの DATA の部分を次のように修正します。

DATA "the_geom FROM (
SELECT gyoseikai.gid AS gid,
gyoseikai.gun_seirei AS gun_seirei,
gyoseikai.shikuchoso AS shikuchoso,
gyoseikai.code AS code,
gyoseikai.the_geom AS the_geom,
population.total AS total,
population.male AS male,
population.female AS female,
population.foreigner AS foreigner
FROM gyoseikai LEFT OUTER JOIN population ON gyoseikai.code = population.code
)
AS gyosei_pop USING UNIQUE gid USING SRID=-1"

0 件のコメント: