AddTopoGeometryColumn — Ajoute une colonne topogeometry à une table existante, enregistre cette nouvelle colonne en tant que couche dans topology.layer et renvoie le nouveau numéro d'identification de la couche.
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)
;
Chaque objet TopoGeometry appartient à une couche spécifique d'une topologie spécifique. Avant de créer un objet TopoGeometry, il faut créer sa couche topologique. Une couche topologique est une association d'une table de caractéristiques avec la topologie. Elle contient également des informations sur le type et la hiérarchie. Nous créons une couche à l'aide de la fonction AddTopoGeometryColumn() :
Cette fonction ajoutera la colonne demandée à la table et ajoutera un enregistrement à la table topology.layer avec toutes les informations données.
Si vous ne spécifiez pas [child_layer] (ou si vous lui attribuez la valeur NULL), cette couche contiendra des TopoGeometries basiques (composées d'éléments topologiques primitifs). Sinon, cette couche contiendra des TopoGeometries hiérarchiques (composées de TopoGéométries de la couche_enfant).
Une fois la couche créée (son identifiant est renvoyé par la fonction AddTopoGeometryColumn), vous êtes prêt à y construire des objets TopoGeometry
Les feature_type
valides sont : POINT, MULTIPOINT, LINE, MULTILINE, POLYGON, MULTIPOLYGON, COLLECTION
DIsponibilité : 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