多数の個別のテーブルをPostGISの新しいテーブルにマージしたいと考えています。これは、シェープファイルデータを操作するときの簡単なタスクですが、PostGISでこれを行う方法はわかりません。どんな助けも大歓迎です。Appendを使用すると思いますが、どこから始めてもわかりません。
多数の個別のテーブルをPostGISの新しいテーブルにマージしたいと考えています。これは、シェープファイルデータを操作するときの簡単なタスクですが、PostGISでこれを行う方法はわかりません。どんな助けも大歓迎です。Appendを使用すると思いますが、どこから始めてもわかりません。
回答:
(プリフライトチェック:属性はすべての元のテーブルで同一ですか?ジオメトリタイプはすべてのテーブルでまったく同じですか?)
あなたはどちらか
1の場合:
CREATE TABLE merged (id serial primary key, attrib1 integer, attrib2 varchar(15),....);
SELECT AddGeometryColumn('merged','geom',<SRID>,'<FEATURE_TYPE>,'XY');
INSERT INTO merged (attrib1, attrib2, ...., geom) SELECT attribA, attribB,...,geom FROM table_1;
INSERT INTO merged (attrib1, attrib2, ...., geom) SELECT attribA, attribB,...,geom FROM table_2;
等々...
オプション2の場合:
CREATE TABLE merged AS(
SELECT attribA, attribB,...,geom FROM table_1
UNION
SELECT attribA, attribB,...,geom FROM table_2
UNION
....
);
SELECT Populate_Geometry_Columns('merged'::regclass);
HTH、ミカ