CreateTopology — 新しいトポロジースキーマを生成し、topology.topology テーブルに登録します。
integer CreateTopology(name topology_schema_name, integer srid, double precision prec=0, boolean hasz=false, integer topoid=0, boolean useslargeids=false);
topology_name という名前でトポロジースキーマを新たに生成し、topology.topology テーブルに登録します。トポロジー名は一意でなければなりません。トポロジーテーブル (edge_data, face, node, relation) は、このスキーマ内に生成されます。トポロジーの ID を返します。
srid はトポロジーの 空間参照系 の SRID です。SRID を指定していない場合のデフォルトは-1 (不明) です。
許容値 prec は空間参照系の単位で計測されます。許容値はデフォルトでは 0.0です。
hasz を指定しない場合のデフォルトは FALSE です。
topoid 任意パラメーター、明示的な識別子 (トポロジー ID の割当を決定しますが一意である必要があります)
useslargeids 任意パラメーターで、デフォルトは FALSE です。TRUE の場合には、このトポロジーのトポロジー ID とプリミティブ ID は大きな数の ID (int8) に対応します。
これは SQL/MM の ST_InitTopoGeo に似ていますが、より高機能です。
Availability: 1.1
Enhanced: 2.0 hasZ 対応の追加。
Enhanced: 3.6.0 topoid と usesLargeIDs パラメーターの追加。
ma_topo という名前のトポロジースキーマを生成します。これはマサチューセッツ州メートル平面 (SRID 26986) でエッジとノードを保存することとします。空間参照系の単位がメートルなので、許容値は 0.5メートルとなります。
SELECT topology.CreateTopology('ma_topo', 26986, 0.5);
ri_topo という名前の、空間参照系をフィート平面 (SRID = 3438) としたロードアイランドのトポロジーの生成
SELECT topology.CreateTopology('ri_topo', 3438) AS topoid;
2