AddTopoGeometryColumn — Fügt ein TopoGeometry Attribut an eine bestehende Tabelle an, registriert dieses neue Attribut als einen Layer in topology.layer und gibt die neue layer_id zurück.
integer AddTopoGeometryColumn(
name topology_name, name schema_name, name table_name, name column_name, varchar feature_type, integer child_layer)
;
integer AddTopoGeometryColumn(
name topology_name, regclass tab, name column_name, integer layer_id, varchar feature_type, integer child_layer)
;
Jedes TopoGeometry Objekt gehört zu einem bestimmten Layer einer bestimmten Topologie. Bevor Sie ein TopoGeometry Objekt erzeugen, müssen Sie dessen topologischen Layer erzeugen. Ein topologischer Layer ist eine Assoziation einer Featuretabelle mit der Topologie. Er enthält auch Angaben zum Typ und zur Hierarchie. Man erzeugt einen Layer mittels der Funktion AddTopoGeometryColumn():
Diese Funktion fügt sowohl das angeforderte Attribut an die Tabelle als auch einen Datensatz mit der angegebenen Information in die Tabelle topology.layer.
Wenn Sie den [child_layer] nicht angeben (oder auf NULL setzen), dann enthält dieser Layer elementare TopoGeometries (aus topologischen Elementarstrukturen zusammengesetzt). Andernfalls enthält dieser Layer hierarchische TopoGeometries (aus den TopoGeometries des child_layer zusammengesetzt).
Sobald der Layer erstellt wurde (seine id von der Funktion AddTopoGeometryColumn zurückgegeben wurde), können Sie TopoGeometry Objekte in ihm erzeugen
Gültige feature_type
s sind: PUNKT, MULTIPUNKT, LINIE, MULTILINIE, POLYGON, MULTIPOLYGON, SAMMLUNG
Verfügbarkeit: 1.1
-- Note for this example we created our new table in the ma_topo schema -- though we could have created it in a different schema -- in which case topology_name and schema_name would be different CREATE SCHEMA ma; CREATE TABLE ma.parcels(gid serial, parcel_id varchar(20) PRIMARY KEY, address text); SELECT topology.AddTopoGeometryColumn('ma_topo', 'ma', 'parcels', 'topo', 'POLYGON');
CREATE SCHEMA ri; CREATE TABLE ri.roads(gid serial PRIMARY KEY, road_name text); SELECT topology.AddTopoGeometryColumn('ri_topo', 'ri', 'roads', 'topo', 'LINE');
DropTopoGeometryColumn, toTopoGeom, CreateTopology, CreateTopoGeom