-
Drop topology.
EXECUTE SDO_TOPO.DROP_TOPOLOGY('ET');
-
Create the topology.
EXECUTE SDO_TOPO.CREATE_TOPOLOGY('ET',0.00050, 82247,NULL,NULL,NULL,NULL,5);
-
Insert the universal face (F0).
INSERT INTO ET_FACE$ values (-1, NULL, SDO_LIST_TYPE(), SDO_LIST_TYPE(), NULL);
COMMIT;
-
Create the lot feature table that will participate in the topology.
DROP TABLE "LOTS" CASCADE CONSTRAINTS;
CREATE TABLE LOTS
(OBJECTID NUMBER PRIMARY KEY,
MSLINK NUMBER,
LOTNUMBER VARCHAR2(50),
OWNER VARCHAR2(50),
SHAPE_Leng NUMBER,
SHAPE_Area NUMBER,
FEATURE MDSYS.SDO_TOPO_GEOMETRY);
-
Add the lots layer to the topology.
EXECUTE SDO_TOPO.ADD_TOPO_GEOMETRY_LAYER('ET', 'LOTS', 'FEATURE', 'POLYGON');
COMMIT;
-
Load the Lots_temp data into the topology from existing SDO_GEOMETRY layer.
EXECUTE SDO_TOPO_MAP.CREATE_TOPO_MAP('ET', 'TM');
EXECUTE SDO_TOPO_MAP.LOAD_TOPO_MAP('TM', 'true');
DECLARE CURSOR c1 IS select * from LOTS_TEMP;
topo_geom SDO_TOPO_GEOMETRY;
BEGIN
FOR r IN c1 LOOP
BEGIN
topo_geom := SDO_TOPO_MAP.CREATE_FEATURE('ET', 'LOTS', 'FEATURE', r.GEOMETRY);
-
Associate topological primitives with features.
INSERT INTO LOTS
VALUES(r.OBJECTID, r.MSLINK, r.LOTNUMBER, r.OWNER, r.SHAPE_Leng, r.SHAPE_Area, topo_geom);
EXCEPTION
when OTHERS then
null;
dbms_output.put_line ('LOTS id: = '|| r.OBJECTID);
END;
END LOOP;
END;
/
CALL SDO_TOPO_MAP.COMMIT_TOPO_MAP();
CALL SDO_TOPO_MAP.DROP_TOPO_MAP('TM');
EXECUTE SDO_TOPO.INITIALIZE_METADATA('ET');
-
Drop the temporary lot table.
DROP TABLE LOTS_TEMP;
DELETE FROM USER_SDO_GEOM_METADATA
WHERE TABLE_NAME = 'LOTS_TEMP' AND COLUMN_NAME = 'GEOMETRY' ;
EXIT;