Name

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.

Synopsis

integer AddTopoGeometryColumn(varchar topology_name, varchar schema_name, varchar table_name, varchar column_name, varchar feature_type);

integer AddTopoGeometryColumn(varchar topology_name, varchar schema_name, varchar table_name, varchar column_name, varchar feature_type, integer child_layer);

Descrizione

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

Esempi

-- 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');