Name

AddTopoGeometryColumn — Lägger till en topogeometrikolumn i en befintlig tabell, registrerar den nya kolumnen som ett lager i topology.layer och returnerar det nya layer_id.

Synopsis

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

Beskrivning

Varje TopoGeometry-objekt hör till ett specifikt lager i en specifik topologi. Innan du skapar ett TopoGeometry-objekt måste du skapa dess TopologyLayer. Ett Topology Layer är en association av en feature-tabell med topologin. Det innehåller också information om typ och hierarki. Vi skapar ett lager med hjälp av funktionen AddTopoGeometryColumn():

Denna funktion kommer både att lägga till den begärda kolumnen i tabellen och lägga till en post i tabellen topology.layer med all angiven information.

Om du inte anger [child_layer] (eller sätter det till NULL) kommer detta lager att innehålla grundläggande TopoGeometries (sammansatta av primitiva topologielement). Annars kommer detta lager att innehålla hierarkiska TopoGeometries (sammansatta av TopoGeometries från child_layer).

När lagret har skapats (dess id returneras av funktionen AddTopoGeometryColumn) är du redo att konstruera TopoGeometry-objekt i det

Giltiga feature_typesär: PUNKT, MULTIPOINT, LINE, MULTILINE, POLYGON, MULTIPOLYGON, COLLECTION

Tillgänglighet: 1.1

Exempel

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