AddTopoGeometryColumn — Aggiunge una colonna di tipo TopoGeometry ad una tabella esistente, registra la nuova colonna come layer nella tabella topology.layer e restituisce il nuovo layer_id.
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);
Ogni oggetto di tipo TopoGeometry appartiene ad uno specifico Layer di una specifica Topologia. Prima di creare un oggetto TopoGeometry devi creare il suo TopologyLayer. Un layer topologico è una associazione tra una tabella di features e la topologia che viene usata per rappresentarle. Contiene anche informazioni di tipo e di gerarchia. Creiamo un layer usando la funzione AddTopoGeometryColumn():
Questa funzione aggiunge la colonna richiesta alla tabella e aggiunge un record nella tabella topology.layer con le informazioni fornite.
Se non specifichi [child_layer] (o lo valorizzi come NULL) questo layer conterrà delle TopoGeometry semplici (composte da elementi topologici primitivi). Altrimenti questo layer conterrà TopoGeometry gerarchiche (composte da TopoGeometry del child_layer).
Una volte che il layer è creato (il suo identificativo è restituito dalla funzione AddTopoGeometryColumn) sei pronto a costruire degli oggetti TopoGeometry appartenenti a tale layer
Valid feature_types are: POINT, MULTIPOINT, LINE, MULTILINE, POLYGON, MULTIPOLYGON, COLLECTION
Availability: 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