シェイプファイルをデータベースに登録します。
template_postgisをテンプレートとして、オーナーがuserでkanagawaというデータベースを作成します。
postgres@debian:~$ createdb -T template_postgis -O user kanagawa
postgres@debian:~$ psql -l
List of databases
Name | Owner | Encoding
------------------+----------+----------
kamakura | user | UTF8
kanagawa | user | UTF8
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8
template_postgis | postgres | UTF8
tokyo | user | UTF8
(7 rows)
kanagawaデータベースのgeometry_columnテーブルとspatial_ref_sysテーブルのオーナーをuserに変更します。
postgres@debian:~$ psql kanagawa
Welcome to psql 8.3.3, 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
kanagawa=# \d
List of relations
Schema | Name | Type | Owner
--------+------------------+-------+----------
public | geometry_columns | table | postgres
public | spatial_ref_sys | table | postgres
(2 rows)
kanagawa=# ALTER TABLE geometry_columns OWNER TO user;
ALTER TABLE
kanagawa=# ALTER TABLE spatial_ref_sys OWNER TO user;
ALTER TABLE
kanagawa=# \d
List of relations
Schema | Name | Type | Owner
--------+------------------+-------+-------
public | geometry_columns | table | user
public | spatial_ref_sys | table | user
(2 rows)
kanagawa=# \q
shp2pgsqlコマンドを使ってシェイプファイルをデータベースに登録します。
一般ユーザでシェイプファイルのあるディレクトリに移動して、次のように入力します。
user@debian:~$ cd mapdata/kanagawa/
user@debian:~/mapdata/kanagawa$ shp2pgsql -W sjis AdmArea.shp gyoseikukaku > gyoseikukaku.sql
Shapefile type: Polygon
Postgis type: MULTIPOLYGON[2]
user@debian:~/mapdata/kanagawa$ shp2pgsql -W sjis AdmPt.shp gyoseiten > gyoseiten.sql
Shapefile type: Point
Postgis type: POINT[2]
user@debian:~/mapdata/kanagawa$ shp2pgsql -W sjis BldA.shp kenchikua > kenchikua.sql
Shapefile type: Polygon
Postgis type: MULTIPOLYGON[2]
user@debian:~/mapdata/kanagawa$ shp2pgsql -W sjis Cstline.shp kaigansen > kaigansen.sql
Shapefile type: Arc
Postgis type: MULTILINESTRING[2]
user@debian:~/mapdata/kanagawa$ shp2pgsql -W sjis RailCL.shp kido > kido.sql
Shapefile type: Arc
Postgis type: MULTILINESTRING[2]
user@debian:~/mapdata/kanagawa$ shp2pgsql -W sjis RdEdg.shp doro > doro.sql
Shapefile type: Arc
Postgis type: MULTILINESTRING[2]
user@debian:~/mapdata/kanagawa$ shp2pgsql -W sjis WL.shp suigai > suigai.sql
Shapefile type: Arc
Postgis type: MULTILINESTRING[2]
shp2pgsqlコマンドを使ってシェイプファイルをデータベースに登録します。
一般ユーザでシェイプファイルのあるディレクトリに移動して、次のように入力します。
user@debian:~/mapdata/kanagawa$ psql -d kanagawa -f gyoseikukaku.sql
SET
BEGIN
psql:gyoseikukaku.sql:12: NOTICE: CREATE TABLE will create implicit sequence "gyoseikukaku_gid_seq" for serial column "gyoseikukaku.gid"
psql:gyoseikukaku.sql:12: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "gyoseikukaku_pkey" for table "gyoseikukaku"
CREATE TABLE
addgeometrycolumn
---------------------------------------------------------------
public.gyoseikukaku.the_geom SRID:-1 TYPE:MULTIPOLYGON DIMS:2
(1 row)
INSERT 0 1
---
COMMIT
user@debian:~/mapdata/kanagawa$ psql kanagawa
Welcome to psql 8.3.3, 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
kanagawa=> \dt
List of relations
Schema | Name | Type | Owner
--------+------------------+-------+-------
public | geometry_columns | table | user
public | gyoseikukaku | table | user
public | spatial_ref_sys | table | user
(3 rows)
kanagawa=> \d gyoseikukaku
Table "public.gyoseikukaku"
Column | Type | Modifiers
----------+-----------------------+------------------------------------------------------------
gid | integer | not null default nextval('gyoseikukaku_gid_seq'::regclass)
id | character varying(8) |
uuid | character varying(24) |
presence | bigint |
finished | bigint |
orggilvl | character varying(8) |
orgmdid | character varying(8) |
type | character varying(8) |
name | character varying(25) |
code | integer |
the_geom | geometry |
Indexes:
"gyoseikukaku_pkey" PRIMARY KEY, btree (gid)
Check constraints:
"enforce_dims_the_geom" CHECK (ndims(the_geom) = 2)
"enforce_geotype_the_geom" CHECK (geometrytype(the_geom) = 'MULTIPOLYGON'::text OR the_geom IS NULL)
"enforce_srid_the_geom" CHECK (srid(the_geom) = (-1))
kanagawa=> \q
残りのシェイプファイルも登録します。
user@debian:~/mapdata/kanagawa$ psql -d kanagawa -f gyoseiten.sql
user@debian:~/mapdata/kanagawa$ psql -d kanagawa -f kenchikua.sql
user@debian:~/mapdata/kanagawa$ psql -d kanagawa -f kaigansen.sql
user@debian:~/mapdata/kanagawa$ psql -d kanagawa -f kido.sql
user@debian:~/mapdata/kanagawa$ psql -d kanagawa -f doro.sql
user@debian:~/mapdata/kanagawa$ psql -d kanagawa -f suigai.sql
0 件のコメント:
コメントを投稿