PostGISにデータを挿入してみる

移転しました。

PostGISにデータを挿入してみる

テーブル作成

geometry型は後からAddGeometryColumnを使用して追加するイメージ。

ポイントは列名を小文字にしておくこと。
大文字だとselect文発行時にgeometry列を指定すると、テーブルにその列は存在しませんのようなエラーがでてしまう。

-- テーブル生成
create table geoaddr(
    id             serial primary key,
    addr_name      varchar(256),
    type           smallint,
    accuracy       smallint,
    addr_accuracy  varchar(256),
    trust_level    smallint,
    source         smallint,
    entry_date     timestamp,
    update_date    timestamp
);

-- 座標列の生成
SELECT AddGeometryColumn('testgis', 'geoaddr','lonlat',-1,'POINT',2);

-- 空間インデックスの作成。パフォーマンス向上のため
CREATE INDEX idx_geoaddr_geo ON geoaddr USING GIST (lonlat GIST_GEOMETRY_OPS);

-- 不要な領域の整理
VACUUM analyze geoaddr;
テストデータ挿入
INSERT INTO geoaddr (
	addr_name, type, accuracy, addr_accuracy, trust_level, source, 
entry_date, update_date, lonlat
) 
VALUES 
(
	'大阪府大阪市淀川区三津屋中1−2−4', 1, 0, '大阪府', 1, 1, now(), now(),GeomFromText('POINT(-48109.39844 -140907.90625)', -1)
);