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