AddGeometryColumn — ジオメトリカラムを既存の属性テーブルに追加します.
text AddGeometryColumn(varchar
table_name, varchar
column_name, integer
srid, varchar
type, integer
dimension);
text AddGeometryColumn(varchar
schema_name, varchar
table_name, varchar
column_name, integer
srid, varchar
type, integer
dimension);
text AddGeometryColumn(varchar
catalog_name, varchar
schema_name, varchar
table_name, varchar
column_name, integer
srid, varchar
type, integer
dimension);
ジオメトリカラムを既存の属性テーブルに追加します.
schema_nameはスキーマ名(プリスキーマ版PostgreSQLの場合は使われません)
sridはSPATIAL_REF_SYSテーブルのエントリを参照する整数でなければなりません.
typeは'POLYGON'や'MULTILINESTRING'といった,ジオメトリ型を示す大文字でなければなりません.
指定したスキーマが存在しない(または現在のsearch_pathからは見えない)場合,または指定したSRID,ジオメトリ型もしくは次元が不正である場合はエラーが投げられます.
![]() | |
ビューや派生的に生成された空間テーブルは,geometry_columnsへの登録を手動で行う必要があります. AddGeometryColumnは既に空間カラムが存在している時に必要が無い空間カラムも追加するためです. 「 手動でジオメトリカラムをgeometry_columnsに登録する 」をご覧ください. |
このメソッドは OpenGIS Simple Features Implementation Specification for SQL 1.1.を実装するものです.
この関数は三次元をサポートします.Zインデクスを削除しません.
このメソッドは曲線ストリングと曲線をサポートします.
-- 単純なPostgreSQLテーブルを生成
postgis=# CREATE TABLE my_schema.my_spatial_table (id serial);
-- "id"カラムのみ存在する単純なテーブル内容を表示
postgis=# \d my_schema.my_spatial_table
Table "my_schema.my_spatial_table"
Column | Type | Modifiers
--------+---------+-------------------------------------------------------------------------
id | integer | not null default nextval('my_schema.my_spatial_table_id_seq'::regclass)
-- 空間カラムをテーブルに追加
postgis=# SELECT AddGeometryColumn ('my_schema','my_spatial_table','the_geom',4326,'POINT',2);
--曲線ポリゴンを追加
SELECT AddGeometryColumn ('my_schema','my_spatial_table','the_geomcp',4326,'CURVEPOLYGON',2);
-- テーブル内容の再表示して新しく"the_geom"カラムが追加されたことを確認
postgis=# \d my_schema.my_spatial_table
Column | Type | Modifiers
------------+----------+-------------------------------------------------------------------------
id | integer | not null default nextval('my_schema.my_spatial_table_id_seq'::regclass)
the_geom | geometry |
the_geomcp | geometry |
Check constraints:
"enforce_dims_the_geom" CHECK (ndims(the_geom) = 2)
"enforce_dims_the_geomcp" CHECK (ndims(the_geomcp) = 2)
"enforce_geotype_the_geom" CHECK (geometrytype(the_geom) = 'POINT'::text OR
the_geom IS NULL)
"enforce_geotype_the_geomcp" CHECK (geometrytype(the_geomcp) = 'CURVEPOLYGON
'::text OR the_geomcp IS NULL)
"enforce_srid_the_geom" CHECK (srid(the_geom) = 4326)
"enforce_srid_the_geomcp" CHECK (srid(the_geomcp) = 4326)